Guides
Errors and limits
Errors
Every error has the same shape. Quote the request_id (also in the X-Request-Id header) when you contact us.
json
{
"error": {
"code": "not_found",
"message": "Document not found",
"request_id": "req_2ce537ef5cce9a5e"
}
}| Status | code | Usually means |
|---|---|---|
| 400 | bad_request | The request couldn't be understood. |
| 401 | unauthorized | Missing, invalid or revoked API key. |
| 403 | forbidden | The key or user can't do this (e.g. consent changes need a signed-in admin). |
| 404 | not_found | It doesn't exist, or belongs to another organisation. |
| 409 | conflict | Not possible in the current state, e.g. reprocessing a document that is already processing. |
| 413 | payload_too_large | The file is over 50 MB. |
| 422 | invalid_request | A field is missing or wrong; details lists each field. |
| 429 | rate_limited | Too many requests; wait for Retry-After seconds. |
| 500 | internal_error | Something went wrong on our side. |
Rate limits
Per API key: 300 requests and 30 uploads per minute. Over the limit you get 429 with a Retry-After header in seconds.
Safe retries
Uploading the same file again returns the original document, so an upload can always be retried. Review actions and deletes are safe to repeat.