How It Works
Include anIdempotency-Key header with any POST request:
Behavior
| Scenario | Result |
|---|---|
| First request with a key | Processed normally, result cached |
| Retry with same key + same body | Returns cached result (no duplicate) |
| Retry with same key + different body | 409 IDEMPOTENCY_KEY_REUSED error |
| Key expires (after 24 hours) | Treated as a new request |
Generating Keys
Use a UUID v4 or combine business-meaningful values:Best Practices
Idempotency keys are only meaningful for
POST requests. GET, PATCH, and DELETE requests are naturally idempotent.- Always use idempotency keys for conversion creation and payout requests
- Use business-meaningful keys when possible (e.g.,
order_{id}_conversion) to prevent duplicates even across separate code paths - Retry with the same key – don’t generate a new key for retries
- Keys expire after 24 hours – after that, the same key can be reused