Errors
Errors always have the same shape, with a stable code for your code and a readable message:
{
"error": {
"code": "invalid_request",
"message": "targets.0.tiktok: TikTok requires consent: true"
}
}| HTTP | code | What to do |
|---|---|---|
| 400 | invalid_request | Fix the request: the message says which field fails. |
| 401 | unauthorized | The API key is missing, wrong or revoked. |
| 403 | forbidden | You are not allowed to do that. |
| 402 | payment_required | Balance needed: to connect more than 2 accounts, or to publish and send from accounts beyond the second or on X. Top up in Billing, in the dashboard. |
| 404 | not_found | The resource does not exist or belongs to another workspace. |
| 422 | provider_rejected | The network rejected the request (format, limits, permissions). The message explains why. |
| 500 | internal_error | Our fault. Retry and, if it persists, write to us. |
| 502 | provider_unavailable | A network or service is not answering right now. Retry in a few seconds. |
Retrying well
- Only retry
500and502, with growing waits (1 s, 2 s, 4 s…). - Do not retry
4xxwithout changing the request. - If a post was already created, use
POST /v1/posts/{id}/retryinstead of creating another.