Overview
All POST endpoints require anIdempotency-Key header. The API guarantees that the same operation is performed at most once, regardless of how many times the request is sent. This protects against duplicate payouts and other unintended side effects caused by network retries. Requests that omit the header, or send a blank value, are rejected with 400 idempotency_key_required.
GET requests are inherently idempotent. The header is silently ignored if sent on a GET.
Usage
Include theIdempotency-Key header on every POST request:
Replay behavior
When a request with a previously used idempotency key and identical parameters is received, the API returns the cached response from the original request. TheIdempotent-Replayed: true header distinguishes a replay from a fresh creation:
Missing key
Requests that omit theIdempotency-Key header or provide an empty value return 400 Bad Request:
Mismatch behavior
Reusing an idempotency key with different request parameters returns409 Conflict:
Concurrent requests
If a second request with the same key arrives while the first is still processing, the API returns409 Conflict with code request_in_progress. Retry after a short delay. Once the original completes, retries will return the cached result.