Innomerc Learn
English is the default.
Web & Backend Technology

Retry a Request Without Repeating the Action

Understand how an operation identifier helps distinguish a retry from a new action.

Foundational5 min explorationReviewed
My learningNot started

Choose your depth. Learn at your own pace.

Simple explanation

Understand it

You submit a fictional order and the connection drops. Did the order fail, or did only the reply disappear? Blindly trying again can create another order. A duplicate-safe request design helps the service recognize the same intended operation.

Think of a numbered claim ticket. Repeating ticket A should refer to the same operation; a genuinely new operation needs a new identity. The server has to enforce the rule: a label alone does not prevent duplicates.

Technical explanation

Under the hood

An idempotency key can identify retries within an API’s documented scope and retention window. The implementation must handle concurrency, payload mismatches and storage of results. Provider rules differ; use the same key only for retries of the same intended operation.

Practitioner explanation

Practitioner perspective

Test the boundary where work commits but its response is lost. Define key scope, expiry, conflict responses and atomic handling with the business operation. Also consider downstream effects, which may require their own duplicate-safe processing.

See the decision happen

Watch it work

A fictional, simplified model. Select a component to inspect it, or follow the steps in order.

Explore the system

Operation accepted

The service records a fictional order with operation key A.

1 / 3
Read every step without animation

Reply lost

  1. Operation accepted. The service records a fictional order with operation key A.
  2. Connection lost. The client does not receive the reply.
  3. Same-key retry. Under the service contract, a retry uses A and retrieves the recorded result.

Lost acknowledgement is different from failed work.

New operation

  1. First order. An initial order uses key A.
  2. Different intention. The customer deliberately creates another order.
  3. New identity. The second operation receives a different key.

Reuse a key for a retry, not for a different intention.

Attack view

A timeout leads an application to submit the same intended operation twice.

Defender view

  • Follow the API’s documented retry and idempotency contract.
  • Test retries, concurrent duplicates and different payloads sharing a key.

Common mistakes

  • A timeout does not prove that the server did no work.
  • One shared key for every new order confuses different operations.

Check your understanding

What does a timeout tell you about the server’s action?
Active recall: explain this idea in 30 seconds

You submit a fictional order and the connection drops. Did the order fail, or did only the reply disappear? Blindly trying again can create another order. A duplicate-safe request design helps the service recognize the same intended operation.

Now give an example and name one limitation. Revisit the explanation if you get stuck.

Primary sources

Original explanations informed by these specifications and official resources. Source versions and lesson review are separate from product updates.

Content reviewed 2026-09-11. Read the editorial policy.

What comes next?

Web and application security

Back to topic