Guides
Errors & retries
Responses use the standard OpenAI error shape so existing SDK retry logic keeps working.
Status reference
| Status | Type | Meaning |
|---|---|---|
| 401 | invalid_api_key | Unknown, revoked, or expired virtual key |
| 402 | budget_exceeded | Monthly budget spent — resets on the 1st (UTC) |
| 403 | model_not_allowed | Model or provider not in this key’s allowlist |
| 429 | rate_limit_error | Per-key RPM limit — retry with backoff |
| 502 | upstream_error | The provider itself is unreachable |
Retry guidance
Treat 429 and 502 as transient. Do not retry 401, 402, or 403 without changing the key, budget, or model.
Next: Privacy & security