Idempotency
Safely retry side-effect POST requests
Use Idempotency-Key on side-effect POST requests that might be retried by your client, network, job runner, or webhook handler. If the first attempt reaches Speechify but the response is lost, retry with the same key and body. The API returns the first result instead of running the operation again.
The endpoint reference lists Idempotency-Key on every operation that supports it.
When to send a key
Send a key for requests that create something outside the request itself:
Do not send it on GET, PATCH, PUT, or DELETE. Those methods are read-only or already idempotent by HTTP semantics.
Choose the key
Generate a fresh, opaque key for each logical operation. A UUID is fine.
Keys can be up to 255 characters. Reuse the same key only when retrying the same operation with the same body.
Retry behavior
A replayed response includes:
Raw HTTP example
Error shape
If a key is reused incorrectly, the response uses the standard error envelope:
Log both Idempotency-Key and X-Request-ID in your job runner. The first identifies the operation you retried. The second identifies the specific HTTP request.