Skip to main content
An error answer has a JSON body with one error object:
Branch on code. type is a broad category, and param is present only when one request field is at fault. message is for people and can change. retryable says whether this same request may be sent again: the route’s own answer when it gives one, otherwise true for 408, 429 and 503. retry_after_s repeats the Retry-After header in seconds, or is null. request_id repeats the answer’s Request-Id header. Quote it when you report a problem. See Versions and request ids.

Every route

Robot models

These codes come from POST /v1/get_action and POST /v1/end_session. A robot error keeps its HTTP status and carries a status object beside the error object, with the same code:
Both carry the same retryable, retry_after_s and request_id.

LLM models

These codes come from POST /v1/chat/completions and GET /v1/chat/completions/{id}. GET /v1/chat/completions/{id} reads a completion from a retired model back from its kept answer. One whose answer was never kept answers 404 not_found.

Limits