Skip to main content

Errors

Public responses follow Problem Details with title, status, detail and, when available, code, suggestion and request_id.

StatusTypical causeImmediate action
401Missing, invalid or wrong-environment sk_*Review the host and secret
409Invalid reuse of Idempotency-KeyCompare payloads and decide whether the replay was legitimate
422Schema or business validation failureFix the field and avoid blind retries
429Burst above the limitApply exponential backoff with jitter
502Upstream dependency issueRetry carefully and keep observability on

Gateway codes

landing_proxy_untrusted

403. The pre-registration origin was not recognized as the official form. Do not call the endpoint directly; restart the flow from the public page.

influencer_gateway_unavailable

503. The pre-registration channel is temporarily unavailable. Retry with backoff and retain the request_id.

idempotency_key_required

400. The mutating operation requires Idempotency-Key. Generate one UUID v4 per business intent and reuse it only when retrying that same operation.

api_key_missing

401. No API key was sent. Use Authorization: Bearer sk_... from your backend or X-API-Key when required by the HTTP client.

api_key_invalid

401. The key does not exist, was revoked, or belongs to another environment. Check its prefix, host, and active rotation in the dashboard.

api_key_auth_unavailable

503. Key validation did not respond. Retry carefully; if it persists, send the request_id to support without sharing the secret.

scope_forbidden

403. The key is valid but lacks the route scope. Adjust the scopes or use another least-privilege key that covers the operation. In the browser, use a publishable key only for explicitly compatible routes; never expose a secret key.

checkout_origin_required

403. The public checkout call did not include a valid browser origin. Open checkout through the hosted domain or the configured custom domain. For server rendering, preserve the forwarded public host; do not invent or overwrite the Origin header.

rate_limit_exceeded

429. The key exceeded its request limit. Honor Retry-After when present and apply exponential backoff with jitter.

idempotency_key_replayed

409. The same key was already reserved for this endpoint. Recover the original response for the same payload or generate a new key for a new intent.

Practical rule

Do not route errors by free-form text. Use status, code and request_id.

Did this page unblock the next step?

Feedback stays inside the docs flow and should never include customer or card data.