Duplicate API Request
Pronunciation: DOO-plih-kit AY-pee-EYE rih-KWEST
Definition
A duplicate API request is a repeated API call that represents the same intended operation as an earlier request, whether caused by retry logic, network uncertainty, user action, or message redelivery. A duplicate request is an input condition; it does not prove that a duplicate payment occurred.
Overview
How it works
The final control should feed Duplicate Payment , preserve the original evidence, and document any correction, override, or manual action. Important failure modes include duplicate or out-of-order delivery, incompatible schemas, lost acknowledgements, unbounded retries, stale consumers, forged messages, and replay that creates a second financial action.
It should return the stored result or a deterministic conflict instead of executing the financial side effect again when the original operation already completed. Controls should retain the request payload hash, authentication context, idempotency key, first-seen time, response, expiration policy, and linked payment object. Retries must use the same key and materially identical parameters for the same logical operation. The contract should define identifiers, schema and version, authentication, ordering, idempotency, retry behavior, error handling, and the service responsible for authoritative state.
What matters in practice
Duplicate requests occur when clients retry after a timeout, a queue redelivers work or two workers submit the same operation. The risk depends on the endpoint: two status queries are usually harmless, while two refund instructions can move funds twice. Use a client-supplied idempotency key scoped to a specific operation and persist the first accepted result. The server should reject reuse of the key with different payloads. Clients must also handle the provider's key-retention window and perform status lookup when they cannot tell whether the original call succeeded.
Related glossary concepts
Example
A marketplace sends a $250 vendor payout and the connection drops. Its client retries with the same idempotency key. The server returns the existing payout reference rather than creating another $250 obligation.
Comparison
Network retries can create duplicate API requests; duplicate chain transactions and duplicate webhook deliveries are related but require different deduplication identifiers.
Key Takeaway
Duplicate API Request is useful only when its scope, evidence, state transitions, financial effect, and exception handling are defined precisely; otherwise similar events can be mistaken for the same payment outcome.
Sources
- Idempotent requests — Stripe (2026-08-03)
- The Idempotency-Key HTTP Header Field — Internet Engineering Task Force (2026-08-03)
- HTTP Semantics, RFC 9110 — RFC Editor (2026-08-03)