Documentation Index
Fetch the complete documentation index at: https://docs.getivy.de/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Network failures and timeouts are unavoidable. Without idempotency, retrying a failed request can create duplicate payouts, refunds, or other financial operations with real monetary consequences. Idempotency keys let you retry any POST request with the guarantee that the operation executes exactly once.Sending an idempotency key
Use a UUID v4 as the key, or any string up to 255 characters that uniquely identifies this specific operation for your account. An internal order ID or invoice reference works well. The key is scoped to your merchant account. Include it as a header on any mutating POST request:Covered endpoints
The following mutating endpoints accept theIdempotency-Key header:
| Endpoint | Description |
|---|---|
POST /api/service/beneficiary-payout/create | Create a beneficiary payout |
POST /api/service/checkout/session/create | Create a checkout session |
POST /api/service/checkout/session/expire | Expire a checkout session |
POST /api/service/customer/create | Create a customer |
POST /api/service/customer/delete | Delete a customer |
POST /api/service/customer/update | Update a customer |
POST /api/service/fx/execute | Execute an FX conversion |
POST /api/service/order/create | Create an order |
POST /api/service/order/expire | Expire an order |
POST /api/service/payout/create | Create a payout |
POST /api/service/refund/create | Create a refund |
POST /api/service/subaccount/create | Create a subaccount |
POST /api/service/webhook-subscription/create | Create a webhook subscription |
POST /api/service/webhook-subscription/delete | Delete a webhook subscription |
POST /api/service/webhook-subscription/update | Update a webhook subscription |
POST /api/service/fx/execute previously accepted an idempotencyKey field in the request body. That field still works but is deprecated. Use the Idempotency-Key header instead.Conflict behaviour
Reusing the same key with different request parameters returns a409 Conflict:
409 Conflict. Retry after a short delay.
Error handling
Only successful responses are cached. If the original request fails (for example, a400 validation error), the idempotency key is released and you can retry with the same key after fixing your request. You do not need a new key to correct a mistake.