X errors

X (Twitter) posting errors: what each code means and what to do

An X post through Status 200 Uploads can be refused by us, by the X add-on's own limits, or by X itself. Our refusals carry a fixed code, such as plan_required or x_link_limit_reached, with a sentence saying what to do. X's own refusals arrive as x_rejected, with X's HTTP status in x_status and X's reason in the message. This page lists them all, with whether sending the same request again can work.

  • Checked on

X errors at a glance

How to read an error

Posting to X needs the X add-on, which works on any plan, Free included. It has its own meter: 200 X posts per billing month, up to 20 of them with a link. X posts do not use your plan's posts, and the add-on's limits do not touch your other networks.

Every refusal is JSON with error.code and error.message. On X, one code covers everything X itself refused: x_rejected. Read x_status for X's HTTP status and the message for X's reason; a 401, or a 403 about the kind of sign-in, means X no longer accepts the saved sign-in, and the message then says to reconnect.

A post that reached the X step gets a row in History, also when it is refused, so you can read the reason later. A post refused before the X step, such as one refused with plan_required, leaves no failed post behind.

The X add-on

The add-on gives 200 X posts per billing month, at most 20 of them with a link. Its month runs from your billing date, not the calendar, and resets_at in the answer says when it renews.

X: The X add-on
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
403plan_requiredThe account has no X add-on, so posts to X are not included. error.required is x_addon, and error.upgrade_url is where to add it. Nothing was sent.Add the X add-on, then send the post again.never No. The same request cannot work: change it first.API answer, AI app
429x_limit_reachedThe add-on's 200 X posts for this billing month are used.Wait until resets_at. Your other networks are not affected, and a second add-on would not add posts.after_reset Not before the time in resets_at.API answer, History, AI app

When X answers

These codes come back from the X step, so the post shows in History as failed with the same message.

X: When X answers
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
403x_rejectedX refused the post. X's own status (400, 401, 403, 404, 409 or 422) is in x_status, its title in x_title, and its reason in the message.When the message says to reconnect, reconnect X under Connections. Otherwise change what X names and publish it again.never No. The same request cannot work: change it first.API answer, History
503x_unavailableX is not taking posts from Status 200 Uploads right now, for a reason that concerns our X app, such as X's rate limit, not your post. Nothing was posted.Wait, then send the same request again.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer, History
500platform_errorThe X step failed without a code of its own: an X server error, an answer we could not read, or a sign-in that expired and could not be renewed. The message says which.Read the message. If it says to reconnect, reconnect X under Connections; otherwise send it once more with the same Idempotency-Key.resend_once_with_key Once, with the same Idempotency-Key.API answer, History

Images and videos

An image or video is uploaded to X before the post is made. When that upload fails, the post is not made.

X: Images and videos
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
413MEDIA_TOO_LARGEThe file is larger than X takes through us. The answer names the limits in max_image_bytes and max_video_bytes.Send a smaller file, or check the limits on the file limits page.never No. The same request cannot work: change it first.API answer, History, AI app
400bad_requestUploading the file to X failed for another reason, such as a file that could not be downloaded from its address. The message says why.Check that the file opens at its address, or upload it to your media library and post it by its mediaID.never No. The same request cannot work: change it first.API answer, History

Codes any post can get

Not special to X: the request, the plan and the file in your library. The API reference lists every code.

Codes any post can get
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
401unauthorizedNo API key, or a key that is not active.Send Authorization: Bearer with an active rl_ key from the API page.never No. The same request cannot work: change it first.API answer
403account_not_foundThe accountId is not one of your profiles. The answer lists yours.Use a profile id or "@name" from the list.never No. The same request cannot work: change it first.API answer, AI app
404media_not_foundThe mediaID is not in your library: never imported, deleted, or removed after 7 days.Import or upload the file again and use the new id.never No. The same request cannot work: change it first.API answer, AI app
409media_processingThe file is still importing.Wait the Retry-After seconds and send the same request.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer, AI app
429rate_limitedLess than 20 seconds since your last post to the same network.Wait the Retry-After seconds and send the same request.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer, AI app
429daily_limit_reachedYour plan's posts for today are used up.Post after resets_at, or move to a larger plan.after_reset Not before the time in resets_at.API answer, AI app
429monthly_limit_reachedThe Free plan's posts for this month are used up.Post after resets_at, or move to a paid plan.after_reset Not before the time in resets_at.API answer, AI app
422idempotency_key_reusedThe Idempotency-Key was already used with another body.Use a new key for a new post.never No. The same request cannot work: change it first.API answer
500server_errorOur side failed.Send it once more with the same Idempotency-Key; without one, check History first.resend_once_with_key Once, with the same Idempotency-Key.API answer, AI app
502upstream_unavailableThe request never left. Nothing was posted.Send the same request again after a short wait.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer

X's own errors

When X refuses a post with a 4xx, the answer is x_rejected with X's status in x_status and X's reason in the message. X's 429 is the exception: it is about our X app's limits, so it reaches you as 503 x_unavailable. An X server error reaches you as platform_error. The statuses below are X's; what they mean comes from X's developer documentation, read on .

400As the post is sent
X's words: "Invalid JSON, malformed query, missing required parameters". The first of X's listed reasons is passed on in the message. [X14]
Read X's reason in the message, change the post and publish it again.
401As the post is sent
X's words: "Invalid or missing authentication credentials". The sign-in we hold for the account is no longer accepted. [X14]
Reconnect X under Connections, then publish the post again.
403As the post is sent
X's words: "Valid auth but no permission for this resource or action". X's post reference also uses it for a video that is too long for the account: "This user is not allowed to post a video longer than 20 minutes." [X14, X1]
Read X's reason in the message. For the video length, shorten the video.
429As the post is sent
X's words: "Rate limit or usage cap exceeded". X allows 100 posts per user in 15 minutes for the posting endpoint, and also limits each app per day. [X14, X13]
Through Status 200 Uploads this arrives as 503 x_unavailable: wait, then send the same request again.
500As the post is sent
X's words: "Wait and retry; check status page". [X14]
Send it again once, with the same Idempotency-Key, after a short wait.
503As the post is sent
X's words: "X is overloaded; wait and retry". [X14]
Wait, then send it again once, with the same Idempotency-Key.

X error questions

More on X

X's pages this rests on

Sources read on 15 October 2026.

  1. X1X API: Create Post (no date shown)
  2. X13X API: Rate limits (no date shown)
  3. X14X API: Response codes and errors (no date shown)

Start posting to X

X needs the X add-on: $9 a month on any plan, Free included, for 200 X posts per billing month, at most 20 of them with a link. X posts do not count toward the plan's own posts. This page was checked on 26 October 2026.