Error codes
Every error has a stable code. The message follows Accept-Language (ar or en); Meta's raw messages are never passed through.
{
"requestId": "req_0192f0c4a1b2c3d4e5f6",
"error": { "code": "validation_failed", "message": "...", "details": { "field": "content.type", "problem": "instagram_requires_image" } }
}
| code | Meaning |
|---|---|
validation_failed | The request data is not valid. |
not_found | Not found. |
unauthorized | Missing or invalid credentials. |
forbidden | This action is not allowed. |
insufficient_scope | The credential lacks the required scope. |
tenant_mismatch | The company in the request doesn't match the credential. |
tenant_inactive | The company workspace is suspended or cancelled. |
rate_limited | Rate limit reached. Try again shortly. |
quota_exceeded | Plan limit reached. |
idempotency_conflict | The same Idempotency-Key was used for a different request. |
idempotency_in_progress | A request with this Idempotency-Key is still running. |
conflict | Conflicts with another change. Try again. |
invalid_state | This can't be done in the current state. |
unsupported_operation | This operation isn't supported here. |
unsafe_url | URL not allowed (must be HTTPS on a public address). |
invalid_media | Invalid media (type, size or dimensions). |
account_unavailable | The account isn't active right now. |
capability_missing | The account lacks the Meta permission for this. |
meta_token_expired | The Meta grant expired. Reconnect. |
meta_permission_missing | A Meta permission is missing for this. |
meta_rate_limited | Meta is rate limiting requests. |
meta_invalid_request | Meta rejected the request as invalid. |
meta_media_rejected | Meta rejected the media (URL, type or dimensions). |
meta_unavailable | Meta is temporarily unavailable. |
meta_error | Meta returned an error. |
webhook_target_failed | The receiving endpoint didn't accept the event. |
internal_error | An internal error occurred. It was logged. |