The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. When creating an order via the POST /v3/order, you can supply a X-Idempotency-Key header. Then, if a connection error occurs, you can safely repeat the request without risk of creating a second order. This works by saving the resulting status code and body of the first request made for any given idempotency key, regardless of whether it succeeds or fails. Subsequent requests with the same key return the same result. A client generates an idempotency key, which is a unique key that the server uses to recognize subsequent retries of the same request. How you create unique keys is up to you, but we suggest using V4 UUIDs, or another random string with enough entropy to avoid collisions. You can remove keys from the system automatically after they’re at least 24 hours old. We generate a new request if a key is reused after the original is pruned. We save results only after the execution of an endpoint begins. If incoming parameters fail validation, or the request conflicts with another request that’s executing concurrently, we don’t save the idempotent result because the API endpoint does not initiate the execution. You can retry these requests.