Skip to content

Errors & rate limits ​

Error shape ​

Errors share this shape:

json
{ "error": { "type": "<error_code>", "message": "<detail>" } }

When troubleshooting, record the X-TT-Request-ID response header — with it you can locate a single call's billing and error detail on the console "Requests" page.

Common error codes ​

HTTPtypeMeaningWhat to do
401unauthorizedMissing or invalid API keyCheck the Authorization header and that the key is correct / not disabled
402billing_shortfallWallet balance insufficientGo to Recharge
402api_key_quota_exceededOver this key's monthly limitRaise the limit, or use another key
403model_not_allowedModel not in the key's scopeAdjust key scope, or use an allowed model
403ip_not_allowedSource IP not permittedAdjust the key's IP restriction / source
404—Path not foundCheck whether the base URL's /v1 is one too many / few; check the model path
429rate_limitedRate limitedRetry after Retry-After
5xx—Temporary service errorRetry later; if it persists, contact support with the request id

Error details

When a call fails, the platform returns a structured error. message usually contains a readable reason; type is for programmatic checks. Retry retryable errors with backoff.

Rate limits ​

On a rate limit you get 429 with these response headers:

HeaderMeaning
Retry-AfterSuggested seconds to wait before retrying
X-RateLimit-LimitRequests-per-minute limit
X-RateLimit-RemainingRemaining calls in the current window
X-RateLimit-ResetWhen the quota resets

Recommendation: implement exponential backoff on the client and respect Retry-After.

When you aren't charged ​

  • Requests rejected before processing — auth failure (401), rate limit (429), bad params — are not charged.
  • Tasks that fail / cancel / expire are not charged; the hold is released.
  • Streaming requests, even if cut off mid-way, settle on real usage as best they can — see Recharge & Billing.

Still stuck? ​

Bring this info to support for a fast diagnosis:

  1. X-TT-Request-ID (response header).
  2. Approximate time, the model used, the API path.
  3. The full error response body (error.type + message).

Gateway: gateway.mindproxy.ai · Built with VitePress