Skip to main content

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​

CodeMeaningAction
400Invalid JSON, field, parameter or rejected requestCorrect the request; do not retry it unchanged
401Missing, invalid, expired or revoked keyCheck Authorization: Bearer <key> and the intended environment
402The key's balance does not cover the price of the job (company intelligence, video)Top up the balance, then send the request again
403The account or key cannot use the requested product or routeCheck GET /v1/models and the account's enabled products
404Incorrect route or unavailable resourceCheck the current documentation and identifier
413Request body is too largeReduce or split the input
422A supported route rejected the submitted structureRead the issues and correct the body
429A request, capacity or account limit was reached, or the key's budget is used upWait and retry with increasing delay; if the budget is used up, top up first
500, 502, 503Temporary service-side problemRetry 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.