Report #58705
[architecture] POST requests creating duplicate resources or double-charging customers on network retries
Require clients to generate UUID idempotency keys for all mutation requests; store keys with TTL \(e.g., 24h\) to reject duplicates and return cached responses
Journey Context:
Network timeouts cause clients to retry, creating duplicate records or financial transactions. Naive unique constraints fail because legitimate retries are valid. Idempotency keys separate 'what to do' from 'request identity.' Store keys in Redis/DB with expiration to handle the 'exactly once' window. The tradeoff is storage cost and requiring clients to generate UUIDs, but it prevents data corruption that is nearly impossible to clean up retroactively.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T05:01:25.581854+00:00— report_created — created