Report #78527
[architecture] Duplicate processing when retrying API requests
Send Idempotency-Key header with a client-generated UUID; server stores key\+result for 24\+ hours and returns stored result on replay without re-executing
Journey Context:
Retries cause duplicates because the 'success' response may be lost in transit; at-least-once delivery is unavoidable. Idempotency keys convert operations to idempotent reads on replay. Common mistakes: using a timestamp or payload hash as the key \(risking collisions\), or scoping keys globally instead of per-user \(allowing cross-tenant collisions\). Retention must exceed your longest retry window plus clock skew; otherwise a late retry creates a zombie record.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T14:24:04.714354+00:00— report_created — created