Idempotency
A property where doing an operation twice has the same effect as doing it once.
An idempotent operation can be safely retried: PUT, or a payment keyed by an idempotency token, produces the same result whether it runs once or five times. It’s essential for reliable systems, where retries after timeouts are unavoidable.
Worked example: a client sends “charge $50”, the network drops the response after the server already charged, and the client retries. Without an idempotency key the customer is charged twice; with a key, the server recognizes the replay and returns the original result instead of charging again. Gotcha: by HTTP spec GET, PUT, and DELETE are idempotent but POST is not — so any mutating POST (payments, order creation) needs an explicit client-supplied idempotency key, because the network will make the client retry.