What idempotency keys are good at
At the remote, they are the strongest thing available: the provider itself knows whether it has seen the key, and can return the original response rather than acting again. Stripe’s is the canonical example and it works. If every call your agent makes is to one API that implements them well, you have solved a large part of this problem.What they do not do
The row that matters most is the unknown outcome. Resending with an idempotency key is the right
move when the remote implements them and the window has not passed. It is a guess when the
remote does not, when the call went to a second API, when the window expired, or when the client
never learned whether the first request arrived. CTRLRun refuses to guess and makes someone
look.
When to use both
Always, where the remote supports it. Pass the effect key as the idempotency key:The distinction that matters
An idempotency key makes a request repeatable. An effect key makes a consequence identifiable, before anything is sent, across the whole agent, and joined to who approved it and what was recorded.Next
- Effect keys: the definitional page.
- Compare: durable workflows.
- Get started · Why.