429 rate_limited with
details.retry_after_seconds and a matching Retry-After header in seconds.
Wait that long, then retry with the same idempotency key when one was used.
Cloudflare import capacity
LivePOST /domains/import can also return 429 rate_limited with
details.reason: "cloudflare_account_capacity" when all eligible Cloudflare
accounts are already handling synchronous imports.
Use POST /domains/import/jobs for bulk async imports. That endpoint queues
under the normal Partner API rate limit instead of rejecting because Cloudflare
accounts are busy.
The 429 response
429; Retry-After: 12 for this example. Always pair it with the
Peeker-Request-Id response header in your logs. The delay tells you when to
try again; it does not reserve capacity against other requests.
Backoff with jitter
Honorretry_after_seconds, then add a small random delay so a fleet of workers
does not sync into the next window.
Live and sandbox are separate
pk_live_… and pk_test_… keep independent counters. You can hammer sandbox during integration
without affecting live traffic.