API
Errors and limits
2 min read
Errors come back OpenAI-shaped, so existing SDK error handling works unchanged:
Error body
{
"error": {
"message": "human-readable explanation",
"type": "invalid_request_error | api_error | ...",
"code": "machine_readable_code"
}
}Status codes
- 400 - invalid request, including an unknown
model. DevThrottle never silently substitutes a different model; fix the id against GET /models. - 401 - missing, malformed, or revoked API key. See authentication.
- 402 - insufficient credits. The request was not run; top up on Billing and retry.
- 5xx - something failed on the serving side. Failed requests are not debited: you pay for results you received, not attempts.
Rate limits
Per-account rate limits are being finalized and are not yet published. Today, write clients the way you would for any metered API: handle non-200s, back off on 5xx, and do not hot-loop retries. When limits are published they will appear here and on the rate card page.
Note
The one error worth designing for up front is 402: credits are prepaid, so a long-running unattended integration should either watch its balance via Usage or enable automatic top-up with a monthly limit.