Errors and retries
Read the HTTP status and JSON error body together. Keep any request or reference identifier returned by the service; it lets support find the matching record without receiving the prompt or complete key.
Status codes
| Code | Meaning | Action |
|---|---|---|
400 | Invalid JSON, field, parameter or rejected request | Correct the request; do not retry it unchanged |
401 | Missing, invalid, expired or revoked key | Check Authorization: Bearer <key> and the intended environment |
402 | The key's balance does not cover the price of the job (company intelligence, video) | Top up the balance, then send the request again |
403 | The account or key cannot use the requested product or route | Check GET /v1/models and the account's enabled products |
404 | Incorrect route or unavailable resource | Check the current documentation and identifier |
413 | Request body is too large | Reduce or split the input |
422 | A supported route rejected the submitted structure | Read the issues and correct the body |
429 | A request, capacity or account limit was reached, or the key's budget is used up | Wait and retry with increasing delay; if the budget is used up, top up first |
500, 502, 503 | Temporary service-side problem | Retry a limited number of times, then contact support |
The image jobs API (/api/v1/jobs/*) is the exception: it answers with HTTP status 200
and puts the code in the body, {"code": 422, "msg": "…", "data": null}. See
Image generation.
Retry policy
Retry only 429, temporary 5xx responses and transient network failures. Use a small
maximum attempt count, a total timeout, increasing delays such as 1, 2 and 4 seconds,
and a little random variation when many workers may retry together.
Do not retry an unchanged 400, 401, 402, 403, 404, 413 or 422 request. An
interrupted connection needs care: the request may already have completed and consumed
credit, so an automatic duplicate can create additional work and cost.
What to log
Record the approximate time and timezone, public model, route, status, request or reference identifier, and the key alias, prefix or final four characters. Never log or send the complete key, passwords, confidential prompts, stack traces or internal names.
If a limited retry still fails, contact support@omev.be with a sanitised example and the recorded identifiers.