X (Twitter) APIerrors
X (Twitter) API errorsand how to fix them.
When X (Twitter) rejects a request, Siar stores the network's own code and message on the post and returns it to you unchanged, so what you read here matches what you see in the API. Back to the X (Twitter) API.
Where a code is shown it is the network's own code or HTTP status. Messages are abridged where X (Twitter)'s text is long.
401
Message
Unauthorized
What it means. The access token expired or the user revoked the app.
How to fix it. Siar refreshes automatically; if it still fails, reconnect the X account.
402 CreditsDepleted
Message
Your enrolled account does not have any credits to fulfill this request.
What it means. The X API pay-per-use balance behind the app is empty.
How to fix it. Top up X credit, then retry the post.
403 duplicate
Message
You are not allowed to create a Tweet with duplicate content.
What it means. The same text was posted by this account recently.
How to fix it. Change the text; X blocks identical consecutive posts.
403 reply
Message
Reply to this Tweet is not allowed because you have not been mentioned or otherwise engaged by the author of the Tweet you are replying to.
What it means. API replies are only allowed to conversations that mention or quote the account.
How to fix it. Only reply to posts that mention the connected account, or to its own posts.
403 video
Message
This user is not allowed to post a video longer than 20 minutes.
What it means. Video length exceeds the account tier (20 min standard, 125 min Premium).
How to fix it. Trim the video or post from a Premium account.
403 too long
Message
Your Tweet text is too long.
What it means. Text exceeds 280 weighted characters on a non-Premium account (URLs count 23, emoji and CJK count 2).
How to fix it. Shorten it, or set tweetStorm: true to split into a numbered thread.
403 client-not-enrolled
Message
Client Forbidden
What it means. The X app is not attached to a project with API access.
How to fix it. Attach the app to a project in the X developer console.
403 quote
Message
Quoting is not available on this access tier.
What it means. quote_tweet_id needs a higher X API access level.
How to fix it. Post a link to the post instead of quoting it.
400 invalid-request
Message
One or more parameters to your request was invalid.
What it means. A field failed X validation (poll options, media ids, reply id).
How to fix it. Read errors[].message in the error meta and correct that field.
400 media
Message
Your media IDs are invalid.
What it means. A media id expired (24 h) or failed processing.
How to fix it. Re-upload the media; Siar retries the upload on the next attempt.
404
Message
Could not find tweet with id.
What it means. The post was deleted or is from a protected account.
How to fix it. Check the post still exists.
429
Message
Too Many Requests
What it means. Per-user or per-app rate limit window exhausted.
How to fix it. Siar retries after x-rate-limit-reset; spread scheduled posts out.
503
Message
Service Unavailable
What it means. X is overloaded.
How to fix it. Transient; Siar retries automatically.
Where to see an error
Read a failed post with GET /post/{id}: the error field summarises it, errors lists it per network and errorsVerbose keeps the detail. A post.published webhook fires when the post reaches a final state. Retry with POST /post/{id}/retry. Limits that Siar enforces itself are on the X (Twitter) page.
Your first post isone request away.
The Free plan includes 20 posts and 200 uploads a month across 3 teams. No card needed.