API

Errors

The error format, status codes, and the machine-readable codes you can act on.

Errors are JSON with a human-readable error and, where it helps, a stable code:

{ "error": "This API key does not have the \"posts:write\" scope.", "code": "insufficient_scope", "required_scope": "posts:write" }

Unexpected server errors return a generic message and a requestId. Quote the requestId if you contact support.

Status codes

StatusMeaning
200, 201, 204Success.
400The request is invalid. Read the message.
401The key is missing, wrong, disabled or expired (invalid_api_key).
403The key lacks a scope (insufficient_scope), the plan does not allow it (plan_required), or a limit was reached (schedule_limit_reached).
404The post, media or webhook does not exist (or belongs to someone else).
409The post can no longer be changed (not_editable), an account needs reconnecting (needs_reconnect), or a request with the same Idempotency-Key is still running.
422The request was understood but cannot be done, for example reusing an Idempotency-Key with a different body.
429Too many requests. See Retry-After.
5xxOur side. Retry with the same Idempotency-Key.

Codes you will meet when scheduling

codeWhat to do
no_connected_accountConnect that platform in the dashboard, or pass a valid accountId.
needs_reconnectThe connection expired or was revoked. Reconnect in Integrations.
in_the_pastscheduledDatetime must be in the future.
schedule_limit_reachedThe plan's monthly scheduling limit is used up.
media_unavailableThe mediaId is not in your library. Upload it first.
invalid_platformUnknown or not-yet-available platform name.