Synthwav / Errors and Rate Limits

Errors and Rate Limits

Top-level Portal API failures use one envelope:

{
  "ok": false,
  "error": {
    "code": "API_KEY_REQUIRED",
    "message": "A Synthwav Portal API key is required.",
    "requestId": "f65d9849-4c74-41f6-b386-72bd0dc83d78"
  }
}

Include requestId when contacting SynthwavLabs about a failed request.

HTTP statuses

StatusCommon codesAction
400QUERY_REQUIRED, INVALID_CURSOR, INVALID_TOKEN_ID, BATCH_TOO_LARGECorrect the request.
401API_KEY_REQUIRED, API_KEY_INVALIDSupply a valid active key.
403INSUFFICIENT_SCOPERequest the required partner scope.
404TOKEN_NOT_FOUNDSearch again and use a canonical identity.
409CURSOR_STALE, REGISTRY_CHANGEDRestart the search or retry the request.
429RATE_LIMIT_EXCEEDEDWait until the indicated reset time.
503PARTNER_AUTH_UNAVAILABLE, PARTNER_RATE_LIMIT_UNAVAILABLE, REGISTRY_UNAVAILABLE, STEWARD_DATA_UNAVAILABLERetry with backoff. The API fails closed.

Rate-limit headers

Authorized requests include:

HeaderMeaning
X-RateLimit-LimitMaximum requests in the active partner window.
X-RateLimit-RemainingRequests remaining in the current window.
X-RateLimit-ResetWindow reset time in Unix seconds.
Retry-AfterSeconds to wait after a 429 response.

Limits apply to the partner, not the caller IP. Multiple keys for the same partner and tier share the same request window.

Use bounded exponential backoff for 429 and retryable 503 responses. Do not retry invalid requests, invalid keys, missing scopes, or missing tokens without correcting the cause.

Get Help