Idempotency
Send Idempotency-Key with a UUID version 4 on every non-GET that moves money, talks to a carrier, or writes routing on the switch.
The key is stored for 24 hours with a fingerprint of the method, path, and canonical body.
- Same key and same fingerprint: the stored response is returned, with
Idempotency-Replayed: true. - Same key and a different fingerprint:
409idempotency_key_reused.
Generate a new key for a new operation. Reuse the same key only when retrying that same operation.