简体中文
API reference

Errors, idempotency, and rate limits

Handle safe error envelopes, retries, idempotency conflicts, quotas, and challenges without guessing outcomes.

Errors, idempotency, and rate limits

Errors use a stable machine code, a safe message, and a request correlation ID. Never parse human text as protocol. A write that times out is unknown, not failed: query by its idempotency key before retrying.

HTTPMeaningClient action
400 / 422Invalid request or domain validationCorrect the submitted fields; do not retry unchanged.
401Missing, expired, or revoked authenticationReauthorize safely; never widen CORS.
403Scope, role, store, market, consent, or capability deniedStop and request an authorized grant.
404Hidden or absent resourceDo not enumerate identifiers.
409 / 412Idempotency or optimistic-version conflictReload the authoritative resource and reconcile.
429Rate limit or risk challengeHonor Retry-After; complete a challenge only when instructed.
5xxService unavailable or unknown outcomePreserve intent, back off, then reconcile.

Limits are evaluated by app, installation, tenant/store, route, and risk tier—not only IP. Turnstile is currently planned/not enabled. Even after future Siteverify validation, it proves only one bot-challenge result. cf_clearance is not login state and cannot bypass OAuth scopes, tenant ownership, quotas, or sensitive-operation step-up.

Copyright © 2026