Errors
Every API error has this shape:
{ "error": { "code": "…", "message": "…", "fix": "…", "doc_url": "…", "details": { } } }
codenever changes: it is what your code compares against.messageandfixare for people and agents: what happened and how to fix it.details(optional) points to the field or parameter at fault.
| Code | HTTP | What happened |
|---|---|---|
missing_key |
401 | The key is missing. |
invalid_key |
401 | The key does not exist or was revoked. |
wrong_space |
403 | This key belongs to another site. |
key_cannot |
403 | This key cannot do that. |
not_found |
404 | It does not exist. |
invalid_parameter |
400 | A parameter is not valid. |
validation_failed |
422 | The data did not pass validation. |
version_conflict |
409 | Someone saved another version in the meantime. |
invalid_body |
400 | The request body is not valid JSON. |
invite_used |
410 | This invite link has already been used. |
invite_expired |
410 | This invite link has expired. |
check_unavailable |
422 | The readiness check couldn't run. |
translation_unavailable |
503 | The translation with AI couldn't run. |
rate_limited |
429 | Too many requests with this token. |