Skip to main content
Every money-moving operation requires an idempotency key. The complete table:

How to send it

Two equivalent ways (if you send both, the body wins):
Omitting it returns 400 idempotency_key_required.

What happens on retry

The key is unique per source account. If you repeat a call with the same key:
  • No new operation is created and no money moves again.
  • You receive 200 OK (instead of 201/202) with the original object plus idempotency_hit: true.

Which key do I retry with?

The full decision rule, so you never have to guess:

Recommendations

  • Use an identifier from your system (order ID, payroll ID, etc.), not a timestamp or a UUID regenerated on every retry.
  • Persist the key before calling the API; that way you can retry after a timeout with a no-duplication guarantee.
  • On network errors or 5xx, retry with the same key. On validation 4xx, fix the request and use a new key.
Last modified on July 8, 2026