How It Works
Include a uniqueIdempotency-Key header on any mutating request:
- First request — processed normally; response stored with your key for 24 hours.
- Repeated request with same key + same body — original response replayed immediately (response header
Idempotent-Replay: true). - Repeated request with same key but different body —
409 conflictwith codeidempotency_key_reuse.
Supported Endpoints
Choosing a Key
The key should identify the logical operation, not the attempt — otherwise retries generate new keys and defeat the point. Good sources for a key:Best Practices
- Keep the key stable across retries — do not change it on retry
- Never reuse a key for a different operation or different request body
- Keys are scoped to your account — the same key value is safe to reuse across different accounts
Key Format
Any non-empty string up to 255 characters. UUIDs,{resource}-{date}-{nonce} patterns,
and database IDs all work well.