Errors & Status Codes
1. Error body format
Error bodies follow the OpenAI shape: {"error":{"message": "...", "type": "...", "code": "..."}}, so SDKs recognise them directly.
{"error":{"message":"...","type":"...","code":"..."}}
2. Status codes
| Status | Meaning |
|---|---|
| 401 | No API key, or the key is invalid. |
| 403 | The key is disabled, or the account may not call this model. |
| 429 | Rate limited, or the concurrency queue timed out. Retry shortly. |
| 400 | Body is not valid JSON, or model is missing. |
| 413 | Body exceeds 4 MB. |
| 501 | That upstream account does not implement streaming. |
| 502 | Every available upstream account failed (accounts were already rotated and retried). |
| 503 | No upstream account serves this model, or all of them are cooling down. |
| 500 | Server-side error, including configuration gaps such as "model has no price configured". |