Create X post
Publish a post to a connected X account.
← All X / Twitter endpoints · Capability overview
/v1/x-twitter/postshttps://api.vee3.io/v1/x-twitter/posts
Publish a post to a connected X account.
Authorization
Send your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
MCP
The same capability is available as an MCP tool on Vee3 hosted MCP.
Tool name
x-twitter.create_postParameters14 fields
user_idstringOptionalNumeric X user id from x-twitter.connected_accounts. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account.
user_namestringOptionalX handle from x-twitter.connected_accounts, with or without a leading @. Pass user_id or user_name to target a specific account, not both. Omit both to use the default account.
textstringOptionalPost text content. At least one of text, poll, media, or card_uri is required.
max length 25000
pollobjectOptionalPoll object with `options` (array of 2-4 strings, each up to 25 characters) and `duration_minutes` (integer from 5 to 10080). Optional `reply_settings` uses the same values as the top-level reply_settings field. Mutually exclusive with media and card_uri.
mediaarrayOptionalFile names from meta-tools.list_uploaded_files to attach (up to 4). Upload with meta-tools.upload_file and @vee3/upload first, then list_uploaded_files to get the stored file_name values.
min 1, max 4
reply_settings"following" | "mentionedUsers" | "subscribers" | "verified"OptionalWho can reply to the post.
paid_partnershipbooleanOptionalWhether the post is a paid partnership.
made_with_aibooleanOptionalWhether the post contains AI-generated media.
for_super_followers_onlybooleanOptionalWhether the post is exclusive to super followers.
Default: false
nullcastbooleanOptionalWhether the post is promoted-only and hidden from the public timeline.
Default: false
card_uristringOptionalCard URI for the post. Mutually exclusive with poll and media.
community_idstringOptionalCommunity id when posting to an X community.
direct_message_deep_linkstringOptionalDeep link that moves the conversation into Direct Messages.
share_with_followersbooleanOptionalWhether to share a community post with followers too.
Default: false
Response4 fields
tweet_idstringNumeric id of the created or edited post.
textstringPost text returned by the X API.
user_idstringNumeric X user id of the connected account that published the post.
user_namestringX handle of the connected account that published the post.
HTTP errors: unauthorized, validation_error, insufficient_tokens, payment_required, uploaded_file_not_found, uploaded_file_not_supported_for_x_media, x_connection_required, x_connection_not_found, x_connection_refresh_failed, x_twitter_write_unauthorized, x_twitter_write_rate_limited, x_twitter_write_upstream_error