Problem
Network failures cause retries. Without idempotency, retries create duplicate charges, orders, emails. Need exactly-once semantics.
Also known as: idempotency-key, exactly-once, deduplication, idempotent-receiver
Make operations safely retryable using idempotency keys, natural idempotency, and idempotent receivers — preventing duplicate side effects.
Network failures cause retries. Without idempotency, retries create duplicate charges, orders, emails. Need exactly-once semantics.
Low — key-value store with TTL
Low — standard monitoring
Low — well-understood pattern
Key store unavailable → false duplicate rejection or missed deduplication
Key collision (extremely rare with UUID v4)
Client reuses key for different operation → silent corruption
Partial failure: DB commits, event publish fails (needs outbox)