Private beta access is limited. Join the waitlist to receive an invitation.

Guides / Troubleshooting

Troubleshooting

Find the stable error code in the response, match it below, and follow the recommended recovery steps. Keep the request ID whenever you need support.

Identify the error

Use the stable x-owl-error-code response header when available. The response body also contains an HTTP status, message, and protocol-specific error type.

What to record
HTTP status:       429
x-owl-error-code: PLATFORM_RATE_LIMITED_CONCURRENCY
retry-after:      2
request_id:       req_01K4...
endpoint:         /v1/chat/completions

Do not send API keys, full prompts, image data, or other secrets to support. A request ID is sufficient for server-side correlation.

Request and model errors

HTTP statusError codeMeaningSolution
400CLIENT_INVALID_REQUESTThe request body, parameters, content type, or media combination is invalid.Compare the request with the relevant API example. Check required fields, enum values, JSON syntax, and the Content-Type header.
400CLIENT_CONTEXT_LENGTH_EXCEEDEDThe prompt and requested output exceed the model context window.Shorten conversation history or input content, then reduce max_tokens before retrying.
400 / 404CLIENT_MODEL_NOT_FOUND / GENERATION_MODEL_NOT_FOUNDThe requested model does not exist or is not currently available.Fetch the current model list and use an exact model identifier. For video generation, use MiniMax-H3.
404CLIENT_RESOURCE_NOT_FOUNDThe resource or generation task cannot be found for this API key.Check the resource ID and confirm that the same API key created the task.

Authentication and permissions

HTTP statusError codeMeaningSolution
401CLIENT_API_KEY_INVALIDThe API key is missing, malformed, expired, or revoked.Send Authorization: Bearer followed by an active API key. Create a new key if the original value is no longer available.
401 / 403CLIENT_API_KEY_DISABLEDThe API key exists but has been disabled.Enable the key in the console or replace it with another active key.
403CLIENT_MODEL_NOT_ALLOWED / GENERATION_ACCESS_DENIEDThe key is not allowed to use the requested model or video generation.Edit the API key permissions and enable the required model or generative-model access.
403CLIENT_IP_NOT_ALLOWEDThe request source IP is outside the key allowlist.Add the current egress IP to the key allowlist or send the request from an allowed network.

Quota, billing, and rate limits

HTTP statusError codeMeaningSolution
402PLATFORM_PAYG_NOT_ENABLEDThe request needs pay-as-you-go billing, but PAYG is disabled.Enable PAYG in billing settings or use an active plan with available quota.
402PLATFORM_BALANCE_INSUFFICIENTThe wallet does not have enough balance for the request.Add funds or enable automatic reload, then submit the request again.
402 / 429PLATFORM_QUOTA_EXHAUSTED / PLATFORM_TRIAL_EXHAUSTEDThe active plan or trial has no remaining quota.Wait for quota renewal, upgrade the plan, or enable PAYG if available.
429PLATFORM_QUOTA_WINDOW_5H_EXHAUSTED / PLATFORM_QUOTA_WINDOW_WEEK_EXHAUSTEDThe rolling five-hour or weekly allowance has been exhausted.Check the Limits page for the reset time. Wait for the window to renew or use PAYG.
402 / 429PLATFORM_API_KEY_SPEND_CAP_EXCEEDEDThis API key reached its configured spending cap.Increase the key spending cap or use another key with sufficient allowance.
429PLATFORM_RATE_LIMITED / PLATFORM_RATE_LIMITED_RPMToo many requests were sent in a short period.Honor Retry-After when present and retry with exponential backoff and jitter.
429PLATFORM_RATE_LIMITED_CONCURRENCYThe organization has reached its concurrent request limit.Reduce parallel requests, queue work client-side, and retry after an active request finishes.

Service and upstream errors

HTTP statusError codeMeaningSolution
503MODEL_CAPACITY_EXHAUSTED / MODEL_QUEUE_TIMEOUT / MODEL_OVERFLOW_FAILEDThe selected model is busy or the request could not start before the queue deadline.Retry with exponential backoff and jitter. Avoid immediately sending many identical retries.
502 / 503 / 504MODEL_UPSTREAM_TIMEOUT / MODEL_UPSTREAM_UNAVAILABLE / MODEL_UPSTREAM_FAILUREThe upstream model timed out or is temporarily unavailable.Retry transient failures with backoff. Preserve the request ID if the problem continues.
503PLATFORM_BILLING_UNAVAILABLE / PLATFORM_DATABASE_UNAVAILABLEBilling or persistence is temporarily unavailable, so the request cannot be safely processed.Do not bypass billing checks. Retry after a short delay and contact support if the error persists.
500 / 503PLATFORM_SERVICE_UNAVAILABLE / PLATFORM_UNEXPECTED_ERRORAn unexpected platform error occurred.Retry once with backoff. If it fails again, contact support with request_id, timestamp, endpoint, and error code.

Video API error types

The MiniMax-compatible video API uses its own error envelope. Match its type and HTTP code first, then use x-owl-error-code for the specific recovery path above.

HTTP statusError codeMeaningSolution
401 / 403authorized_errorAuthentication or generation permission failed.Check the API key, key status, and generative-model permission.
400 / 402bad_request_errorThe request is invalid or the balance is insufficient.Check error.http_code and x-owl-error-code to distinguish request validation from balance errors.
404not_found_errorThe video task was not found for this key.Verify task_id and use the same API key that created the task.
429rate_limit_errorThe video API rate limit was reached.Wait for Retry-After when present, then retry with backoff.
500server_errorThe video service encountered an internal error.Retry once, then contact support with request_id if it continues.