API reference
Errors and limits.
What each error means, whether to retry it, and how much one key can send.
Error format
Errors use the OpenAI format, so the SDKs raise them as API errors. Check error.code, not the message text.
HTTP/1.1 429 Too Many Requests
Retry-After: 5
{
"error": {
"code": "model_busy",
"type": "model_busy",
"message": "the model is busy with other requests; try again in a moment."
}
}Errors from the model server or service engine itself, such as a prompt longer than the model's context, come through with that server's status and message. A streamed answer can also end with an error event after HTTP 200: see Streaming.
Error codes
| HTTP | Code | What happened and what to do |
|---|---|---|
| Fix the request — don't repeat it unchanged | ||
| 400 | invalid_request_error | The body is not valid: missing model or messages, bad JSON, an unsupported response_format, or too large. |
| 400 | unsupported_model_capability | The model lacks a feature the request needs (streaming, tools, JSON). Drop the feature or pick a model that has it. |
| 404 | model_not_found | No such my/… or pool address for this account. Copy the address again from Workspace → Models. |
| Check the key | ||
| 401 | invalid_api_key | The key is missing, mistyped or revoked. Send Authorization: Bearer <Ompera API key>. |
| 403 | model_not_allowed | The key's scope doesn't include this model. |
| 403 | unshielded_access_required | The model is connected from a computer, and the key doesn't allow Unshielded models. Use a key that does. |
| Retry | ||
| 429 | model_busy | The model, or every provider offering the service, stayed busy for 30 seconds. Retry after Retry-After (5 s). |
| 429 | client_concurrency_exceeded | This key already has 4 requests running. Retry when one finishes. |
| 502 | all_providers_failedprovider_request_failedprovider_protocol_error | The device or server that ran the request failed or rejected it. Retry once; if it repeats, check the model. |
| 503 | provider_unavailable | The model is offline, or no provider offers the service right now. Retry later, or let the key use a pool model when offline. |
| 504 | request_timeout | The request didn't finish within 5 minutes. Retry with a shorter request or a lower max_tokens. |
The OpenAI SDKs already retry 429 and 5xx responses twice. For more help, see Troubleshooting.
Limits
Request time5 minPlus up to 30 s in line when the model or service is busy. Set your client timeout to at least 5 minutes.
Parallel requests4 per keyA model connected from a computer answers one request at a time; others wait in line.
Request size32 MiBImages and audio up to 23 MiB, embeddings input 64 KiB, text to translate 4 KiB.
ContextPer modelA conversation longer than the model's context is refused by the model server.
During the beta, only parallel requests are limited: there are no per-minute or token quotas.