Report #88916
[architecture] Duplicate API requests causing double-charges or duplicate writes in distributed systems
Require client-generated UUID v4 idempotency keys on mutation endpoints; store keys with 24h TTL and unique constraints to return cached responses for duplicates without reprocessing.
Journey Context:
Teams often try server-side deduplication via database constraints alone, which fails across distributed retries or when clients timeout and retry. The key must be client-generated and scoped \(e.g., per-user\) to prevent collision. A 24h window balances safety against storage bloat; Stripe uses this model. Without this, financial operations risk double-charges during network partitions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T07:50:01.130924+00:00— report_created — created