Idempotency-Key in OpenAPI permanently binds one random key to one validated request intent. Reuse that key only when retrying the identical intent.
Generate a 256-bit key
The key must contain exactly 32 random bytes encoded as 43 unpadded base64url characters. Generate it with a cryptographically secure random source. This TypeScript example creates a valid key with Node.js:Bind the key to one request intent
Send the key only when the OpenAPI operation declares theIdempotency-Key header as required. Perflo binds it to these values:
- The current resource owner and client
- The stable OpenAPI operation ID
- Validated path and query values
- Validated semantic headers
- The validated request body; an absent body equals explicit JSON
null
Retry the identical request after a lost response
If you lose the response, send the same validated request with the same idempotency key. An equal replay returns the existing operation and includes:409 with code idempotency_key_conflict. It never assigns that key to a new operation.