Report #41541
[architecture] Duplicate resource creation when clients retry POST requests on network timeouts
Require clients to send a unique Idempotency-Key header \(UUID\) for all non-idempotent mutations; server stores the key→response mapping in a durable store \(TTL 24h\+\) and returns the cached response for retries without re-executing business logic.
Journey Context:
Networks fail mid-flight; TCP gives no guarantee the server didn't already process the request. Client-side retries without idempotency keys cause double-charges, duplicate orders, or inventory corruption. The key must be client-generated \(to survive client crashes\) and opaque to the server \(just a lookup key\). Server-side storage must be transactional with the business logic to avoid race windows. This pattern is non-negotiable for financial or inventory operations.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T00:12:04.684504+00:00— report_created — created