Errors
On this page
An error answers with a status code and a JSON body with a readable msg and a stable code. Branch on
code, never on msg, which may be reworded.
{ "msg": "The post changed since you read it. Read it again and retry.", "code": "REVISION_MISMATCH", "current_revision": 7 }Validation errors (422) use the standard shape instead: {"detail": [{"loc": [...], "msg": "...", "type": "..."}]}.
Status codes
| Status | Meaning | Retry? |
|---|---|---|
200, 201, 202 |
Done (202: queued) |
|
400 |
The request is wrong (code says how) |
No, fix it |
401 |
Missing or invalid API key | No |
403 |
The plan doesn't include this (PLAN_NOT_ELIGIBLE) |
No |
404 |
Not found in your team | No |
409 |
Conflicts with the post's current state | After reading the post again |
412 |
If-Match revision is outdated |
After reading the post again |
415 |
Unsupported file type | No |
422 |
The body doesn't match the schema, or an idempotency key was reused | No |
502 |
The social network refused the action | Later, after checking the channel |
5xx |
Robopost error | Yes, with the same Idempotency-Key |
Error codes
| Code | Where | Meaning |
|---|---|---|
CHANNEL_NOT_FOUND |
create, edit | Not one of this team's live channels |
CHANNEL_IDS_REQUIRED |
create | No channels and not a draft |
MEDIA_NOT_FOUND |
create, edit | A media ID isn't in this team's library |
PLAN_LIMIT_HIT |
create, schedule | The plan's scheduled-post limit is reached |
ACCOUNT_USAGE_FROZEN |
create, schedule | The subscription isn't active |
INVALID_IDEMPOTENCY_KEY |
create | Key empty, too long or has spaces |
IDEMPOTENCY_KEY_REUSED |
create | Same key, different body |
IDEMPOTENCY_REQUEST_IN_PROGRESS |
create | Same key still running; wait retry_after_seconds |
POST_NOT_FOUND |
any post call | No such post in your team |
REVISION_MISMATCH |
edit, delete | Changed since you read it |
POST_IS_PUBLISHING |
edit, delete | Being published right now |
POST_ALREADY_PUBLISHED |
edit | Live already; delete and recreate instead |
MEDIA_NOT_READY |
edit | Media still being prepared |
POST_DELETED |
edit | It was removed |
POST_IN_COLLECTION |
edit | Collection posts can't change status |
POST_HAS_NO_CHANNEL |
edit | A multi-channel draft can't be scheduled as one post |
RETRY_COULD_DUPLICATE |
edit | The network may have published it; check first |
INVALID_STATUS, INVALID_SORT, INVALID_ORDER, INVALID_CURSOR, INVALID_IF_MATCH |
lists, edit | A parameter has a wrong value |
INVALID_WEBHOOK_URL, TOO_MANY_WEBHOOKS, WEBHOOK_NOT_FOUND |
webhooks | See webhooks |
NETWORK_NOT_SUPPORTED, NETWORK_REJECTED_COMMENT, NETWORK_REJECTED_DELETE |
inbox | See social inbox |
PLAN_NOT_ELIGIBLE |
analytics refresh | Analytics aren't in the plan |
A post that fails to publish isn't an API error: the post gets status: failed and a failure object.
See List and read posts.