Documentation
On this page

Errors & troubleshooting

Interpret error codes and find the right next step.

Read a gateway error

JSON · illustrative gateway error
{
  "error": {
    "code": 400,
    "type": "invalid_request",
    "message": "Unknown request field: temperture",
    "metadata": {
      "retryable": false
    }
  },
  "id": "gen-example"
}

Chat gateway errors identify their type, HTTP status, retryability, and request ID. Provider-specific errors can also identify the upstream provider. Other account endpoints may return an HTTP detail field instead of the chat error envelope.

Error codes

TypeHTTPNext stepMeaning
invalid_request400Fix the requestUnknown fields, invalid options, or malformed messages.
context_length_exceeded400Reduce the contextThe request does not fit the endpoint. CyberRouter does not silently truncate it.
authentication_error401Check your keyThe CyberRouter credential is missing, invalid, expired, or revoked.
payment_required402Check credits and limitsAvailable credits or an account/key spending allowance is exhausted.
permission_error403Check accessThe requested operation is not allowed for this credential.
not_found404Check the identifierThe model, endpoint, or accessible generation was not found.
rate_limit_exceeded429Retry with backoffAn account concurrency limit, gateway rate limit, or upstream provider limit was reached.
provider_error502Retry with backoffAn upstream service failed.
no_endpoints503Check connections and filtersNo eligible endpoint can serve this request.
timeout504Retry with backoffThe upstream request timed out.
internal_error500Keep the request IDAn unexpected gateway error needs investigation.

Concurrent requests

Each account can run up to three inference requests at a time, shared across its API keys, browser sessions, models, and providers. A streaming request counts until delivery and cleanup finish. Up to six more requests per account can wait for a slot.

The gateway runs up to eight requests across accounts and queues up to 24 more. Admission, including authentication and waiting, has a 30-second deadline. Waiting requests do not start model calls or consume credits. The X-CyberRouter-Queue-Ms response header reports time waiting for an inference slot; X-CyberRouter-Admission-Ms also includes authentication.

A full account queue returns HTTP 429 with error.metadata.reason set to account_queue_full. A full gateway queue or expired wait returns HTTP 503 with gateway_queue_full or gateway_queue_timeout. Honor Retry-After and retry with backoff. Other request and input limits also apply.

Find the right fix

  • For 401, confirm you sent a CyberRouter key, not a provider key.
  • For 402, inspect available credits, holds, and key limits. Check the provider account’s own billing if its response reports a payment problem.
  • For no_endpoints, verify the connected provider, model access, and routing filters.
  • For a JSON parsing error, inspect the response status and content type. HTML often means a frontend or proxy error page reached your API client.
  • For a retryable failure, use bounded retries with backoff. Keep the request ID and check its Usage entry before repeating work that may already have been billed.

Accessibility

Adjust how CyberRouter looks and moves. Preferences apply to this browser.

You can also use your browser’s zoom controls.

Accessibility help

Analytics preferences

Choose anonymous page counts or optional visit, scroll and reading-time analytics. Privacy details.