unauthorizedReconnectX rejected the connected account credentials.
Reconnect X and create fresh credentials for the user.
Map X API errors for invalid credentials, usage caps, duplicate posts, blocked URLs, account restrictions, and video length limits. Use this reference to choose between reconnecting X, changing post copy, trimming media, or waiting for rate and usage limits to reset.
Last updated: May 2026
12 documented error patterns across 4 categories
Clear guidance on reconnecting, retrying, replacing media, or changing content
Official platform references plus bundle.social production troubleshooting notes
Error categories
12 documented errors
All error codes
2 mapped cases
unauthorizedReconnectX rejected the connected account credentials.
Reconnect X and create fresh credentials for the user.
invalid credentialsReconnectThe X credentials are expired or invalid.
Reconnect the account after password changes or revoked app access.
2 mapped cases
usage-cappedRetry laterThe account or app hit an X usage cap.
Wait for reset or reduce posting frequency for that account tier.
usage capRetry laterX blocked the request because the usage cap was reached.
Retry after the cap resets and avoid sending bursts.
5 mapped cases
duplicateFix inputX detected recently posted duplicate content.
Change the text or media, or wait before publishing similar content.
you have already posted thisFix inputThe exact post was already published recently.
Make the post meaningfully unique before retrying.
duplicate-rulesRetry laterX duplicate rules blocked a repeat post.
Delay retries for 30 to 60 minutes and avoid identical content.
invalid urlFix inputThe post includes a URL that X does not allow.
Remove the URL, replace the domain, or avoid blocked link shorteners.
The Tweet contains an invalid URLFix inputX rejected a URL in the post.
Use a reputable destination URL or publish without the link.
3 mapped cases
video longer than 2 minutesFix inputThe account cannot publish a video of this length.
Trim the video or use an account tier that supports longer uploads.
video lengthFix inputThe video duration exceeds the account limit.
Match the video length to the account subscription tier.
This user is not allowed to post a video longer than 2 minutesFix inputX blocked long video publishing for this user.
Shorten the video below the user's allowed limit before retrying.
X returns 401 when credentials are missing, expired, regenerated, or signed with the wrong authentication method.
X publishes rate limit headers that show the limit, remaining requests, and reset time. Respect those headers instead of retrying immediately.
A request can fail even with valid credentials when the app does not have access to the endpoint, the account hits usage caps, the post is duplicated, the URL is blocked, or the media exceeds account-level limits.
If X rejects a post as duplicate content or usage-capped, immediate retries usually create more failures. Change the post text or media, or wait for the relevant usage window to reset.
bundle.social groups X publishing failures by credentials, endpoint access, usage caps, duplicate rules, URL validation, video limits, and account restrictions so each failed post gets a practical next step.
Retry only temporary platform failures, processing delays, timeouts, 5xx responses, and rate-limit errors after the platform allows it. Do not retry the same request when the failure is caused by expired tokens, missing permissions, unsupported media, invalid captions, duplicate content, account restrictions, or policy blocks. The same payload will usually fail again until the account, media, content, or platform-specific setting is fixed.
Platform APIs change. Use these links to confirm current error behavior and field support.
X errors can vary by API tier, account state, endpoint access, media type, and usage caps. Read the error together with the account package, recent posts, media length, and rate-limit headers.
No. Reconnect X for invalid or revoked credentials. For duplicate content, invalid URLs, long videos, usage caps, or rate-limit responses, change the content or wait for the limit window first.
bundle.social keeps X's native error for support and highlights whether the next action is reconnecting, editing duplicate text, replacing media, or slowing down API requests.
Related
Build with less platform drag