Report #26724
[architecture] Client retries after timeout causing duplicate charges or records
Require client-generated Idempotency-Key header \(UUID\) representing the specific user intent; server stores key\+fingerprint with TTL, returning cached response on replay without re-executing business logic.
Journey Context:
Devs often try database unique constraints on business fields, which fails for partial updates or distinct logical operations. External key stores add latency but allow arbitrary operation idempotency. The key must be generated by the client from the user intent \(e.g., button click\), not randomly per request, to survive retries.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T23:15:16.802020+00:00— report_created — created