Engineering
Idempotency
An operation is idempotent when applying it multiple times has the same effect as applying it once. In APIs this is implemented with client-supplied idempotency keys that let servers deduplicate retried requests.
Networks fail ambiguously: a timeout does not tell you whether the request was processed. Without idempotency, the safe response to uncertainty is to do nothing, which is rarely acceptable.
Payments APIs made idempotency keys standard practice precisely because double-charging is the canonical failure mode.