Errors & limits
ozeye returns standard HTTP status codes. The OpenAI-compatible endpoints use the OpenAI error envelope, so OpenAI SDKs raise their usual exception types:
{
"error": {
"message": "insufficient credits: top up your balance",
"type": "insufficient_credits",
"code": null
}
}
type is one of invalid_request_error, authentication_error, permission_error, not_found_error, rate_limit_error, api_error or insufficient_credits. code is a machine-readable string where one exists, otherwise null:
{
"error": {
"message": "email address not verified",
"type": "permission_error",
"code": "email_unverified"
}
}
The Anthropic Messages API (/v1/messages) keeps the Anthropic error envelope, so Anthropic SDKs and Claude clients handle errors natively:
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "description of the problem"
}
}
Common status codes
400 Bad Request (invalid_request_error)
Invalid JSON, unknown or missing field, invalid preset, unsupported model modality, or invalid file.
401 Unauthorized (authentication_error)
Missing, expired, revoked, or invalid API key or session.
402 Payment Required (insufficient_credits)
Insufficient credits or key credit limit reached.
403 Forbidden (permission_error)
Authenticated but not allowed, for example an unverified email address (code email_unverified) or a blocked provider.
404 Not Found (not_found_error)
Route, model, preset, notebook file, or session not found.
409 Conflict
Notebook file changed since supplied ETag, key limit reached, or invalid state transition.
429 Too Many Requests (rate_limit_error)
Rate limit exceeded, or too many requests in flight for your account. Retry after the Retry-After delay.
502 / 503 (api_error)
Provider unavailable or failing, billing not configured, or cloud notebook mode unavailable. Failed provider calls are not billed.
Body limits
- Chat completions and Anthropic messages: 15 MB request body (room for base64 images).
- Audio transcription: 25 MB decoded audio (36 MB request body for base64 JSON).
- Embeddings, speech and image generation: 1 MB request body.
- Web search: 1 MB request body, query up to 2,000 characters. Web fetch: 64 KB request body.
- Account, preset and notebook endpoints (including notebook save and sync): 1 MB request body.
- Webhook payloads: 1 MB.