All pages

Errors

Every error comes back as { error: { code, message } } with a code from this list. The code is what your agent should branch on; the message is for a human, and where a platform gave us a reason it is that platform’s own words rather than something we invented.

Nothing here is charged for

Credits come off once, when a render succeeds. Every error on this page means no credits moved — including insufficient_credits, and including a render that failed halfway through the provider call. Retrying with the same idempotency_key returns the original job rather than starting a second one.

The codes

CodeWhat it meansWhat to do
unauthorizedNo API key, or one that has been revoked.Send your key as a bearer token. Regenerate it in Settings → API if you have lost it; keys are stored hashed and cannot be shown again.
invalid_paramsAn argument is missing, the wrong type, or not an allowed value for that platform.The message names the offending field and, for enums, what is accepted. Nothing was charged.
insufficient_creditsThe render would cost more credits than the account holds.Ask for estimate_cost before a large job, choose a cheaper model, or top up. Nothing was charged.
job_not_foundNo job with that id on this account.Check the id. Jobs are scoped to the account that created them — another account’s id reads as missing rather than forbidden.
job_not_readyYou asked to publish a job that has not succeeded yet.Poll get_job until status is "succeeded", then publish. Polling is free.
account_not_foundNo connected social account with that id.Call list_accounts for current ids. A disconnected account stops appearing.
connector_disconnectedThe account is known but the platform has stopped accepting our token.Reconnect it from Accounts. Platforms expire tokens on password changes and permission revocations.
platform_rejectedThe platform itself refused the post, and its reason is passed through.Read the message — it is the platform’s own. Typical causes are media the platform will not accept, or an account not eligible for that post type.
not_supportedThe action exists but not for that platform.Platforms differ in what they allow. The tool reference lists what applies where.
schedule_not_foundNo queued post with that id — usually already published, or cancelled.list_schedules shows what is still queued.
post_not_foundNo post with that id on this account.list_posts returns ids for what has gone out.
source_not_foundNo ingested source with that id.Sources are created by create_source; check get_source_status while one is still processing.
brand_not_foundA brand_id was passed that does not exist on this account.list_brand_kits returns current ids.
comment_not_foundThe comment is gone or was never on your post.Authors delete comments; re-read with list_comments.
conversation_not_foundNo conversation with that id.list_conversations for current ids.
message_not_foundNo message with that id in that conversation.list_messages for current ids.

Why there is no generic failure code

An agent cannot act on “something went wrong”. Each code above corresponds to a different next step — retry, fix an argument, reconnect an account, wait — which is the only reason to have more than one.