X
Connection requirements, publishing examples, and limits for X.
Requirements
Choose a connected X account with capabilities.publishPosts: true. Check the returned isPremium before composing a long post.
Supported formats
Text posts and a thread chain of 1–25 posts. Up to 5 text accounts can share one request. Media attachments are not part of the X public publishing input.
Publish a post
Account and media UUIDs are illustrative; replace them with real IDs. Set your API key in the POSTEADY_API_KEY environment variable.
curl --request POST "https://www.posteady.com/api/v1/posts" \
--header "Authorization: Bearer $POSTEADY_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"accountIds": [
"11111111-1111-4111-8111-111111111111"
],
"posts": [
"Hello from Posteady!"
]
}'Thread chain
{
"accountIds": [
"11111111-1111-4111-8111-111111111111"
],
"posts": [
"Here is our announcement.",
"And here is the next part."
]
}Confirm success
Inspect each account’s success and postIds, plus summary.failed, in the HTTP 200 response. Other targets or later chain items can fail, so the HTTP code alone does not prove full success.
Scheduling and related tasks
To schedule, send the same platform input to /scheduled-posts with a future scheduledAt and optional timezone. For asynchronous platforms, generate a UUID requestId per operation and retain it for retries.
Schedule and cancel · Read posts and metrics · Retries · MCP tools
Limits and errors
Standard X accounts allow 280 weighted characters. Premium allows 25,000 for a single post or the first post of a chain; every subsequent reply is limited to 280, including on Premium. URL and emoji counting follows X rules, so string length alone is not sufficient. Cross-posting still applies each target’s limit. Reposts are supported, but X reposts do not appear afterward in GET /posts analytics.