Platform

Errors

Gateway errors share one JSON shape, so your code can branch on error.type.

{
  "error": {
    "type": "scope_denied",
    "message": "This token is not scoped for 'noise-suppressor:denoise'.",
    "request_id": "req_01J7Z..."
  }
}

Every response, success or error, carries X-Request-Id. Include it when you contact support.

Error types

TypeStatusWhat happened
missing_token401No Authorization or X-API-Key header.
invalid_token401The token is not recognised. Check for truncation or an old copy.
key_revoked / key_expired401The token was revoked or has expired. Create a new one.
ip_not_allowed403The token is restricted to other IP addresses.
scope_denied403The token is valid but not scoped for this endpoint.
plan_forbids_service403Your plan does not include this service.
service_not_found / endpoint_not_found404Check the URL: /v1/{service}/{endpoint}.
quota_exhausted402The workspace has used its monthly credits.
payload_too_large413The upload is larger than the endpoint allows.
rate_limited429Too many requests. Wait for the Retry-After header, then retry.
upstream_unavailable / upstream_timeout502 / 504The model service is restarting or slow. Retry with backoff.
circuit_open503The service is failing repeatedly and is paused briefly. Retry after a short wait.

Model errors

Problems with the request itself, such as an unknown model or an unreadable file, come from the model service as 400 or 422 with a detail message:

{ "detail": "Unknown model 'audic-9'. Use an id from GET /models." }

Retrying

Retry 429, 502, 503 and 504 with exponential backoff. Do not retry 4xx errors other than 429; fix the request instead.