Required headers
When using idempotency keys with the REST API, include the following header with your request:A unique identifier for the request, up to 256 characters. We recommend using a V4 UUID.
When are they necessary?
Idempotency keys are recommended for:- Any
POST
request that triggers state changes or transactions - Scenarios where network issues might cause request retries
- Critical operations where duplicate execution would be problematic
How idempotency works
1
First Request
When Privy receives a request with a new idempotency key, it processes the request normally and
stores both the request details and response for 24 hours.
2
Subsequent Requests
If the same idempotency key is used again within 24 hours:
- If the request body matches the original request: Privy returns the stored response without re-executing the operation
- If the request body differs: Privy returns a 400 error indicating invalid use of the key
3
Key Expiration
After 24 hours, idempotency keys expire. Using an expired key will result in normal request
processing.
Changing any part of the request body while reusing an idempotency key will result in an error.
Each unique operation should have its own idempotency key.
Generating idempotency keys
Generate a unique, random string for each distinct operation. V4 UUIDs are recommended for their uniqueness properties.Examples
For critical operations, store the idempotency key alongside your transaction records. This allows
you to safely retry failed operations with the same key.