Idempotency Keys

Use this optional header to prevent replay attacks and accidentally repeated transactions

You can prevent duplicate POST and PATCH requests by including an idempotency key that represents the uniqueness of a request, so that no request with the same unique value is attempted more than once. These keys are stored for a period of 24 hours.

To perform an idempotent request, add an additional Idempotency-Key header to your POST or PATCH request, with a generated and stored random value, such as a V4 UUID. If you do not wish to store a separate idempotency key with each request, consider using a repeatable hash of the request body itself.

If a request fails due to a network error, you can safely retry the same request with the same key and guarantee that your request has had exactly one effect. When a request is sent with an idempotency key that the Routable API has previously received in the last 24 hours, the Routable system considers it to be a repeat of the previous call with the same key. The response for the previous call will be returned with a 200 OK or 201 Created status code.

idempotency keys are supported on the following endpoints. Idempotency-Key headers provided on other requests will be ignored without error.


What’s Next