Events & reliability
Idempotency
Prevent duplicate financial effects across retries and uncertain outcomes.
One key per logical request
Send Idempotency-Key on quote creation and acceptance, beneficiary registration, webhook configuration and replay. Retain the same key and canonical request when retrying an operation. Keys are scoped by institution and operation.
Recognize conflicts
| Situation | Handling |
|---|---|
| Same key and request | Replay the original result when recorded. |
| Same key, different request | IDEMPOTENCY_CONFLICT; do not overwrite the first request. |
| Request in progress | IDEMPOTENCY_IN_PROGRESS; back off and query. |
| Timeout after submission | Keep the key and original references; investigate the original outcome. |
Exchange command identity
Exchange instructions also use command_id and institution-scoped client_order_id. Retain preview IDs and hashes through approval. Cancel and replace require expected versions. A new command ID is not a workaround for unresolved work.