Skip to content
Wade Womersley

wade.one

wade womersley – york based software engineer

  • Home
  • 2026
  • October
  • 14
  • An API Timeout Does Not Mean the Operation Failed

An API Timeout Does Not Mean the Operation Failed

Posted on October 14, 2026 By
Programming

A timeout tells you that a response did not arrive in time. It does not tell you whether the server finished the operation. That distinction matters whenever a request creates something, sends something or changes a record. Retrying blindly can turn one uncertain result into two very definite mistakes.

AWS explains the problem well in its guide to idempotent APIs. A caller-provided request identifier lets the service recognise another attempt at the same operation. The identifier needs to belong to the original intent; generating a fresh one for every retry defeats the point.

I would make that behaviour part of the API contract, including what happens if the same key arrives with different parameters or while the original request is still running. Recording the key and performing the change also need a reliable relationship. A separate “have we seen this?” check followed by a write is not enough if two workers can both pass the check.

The interface should reflect uncertainty as well. “We could not confirm the result” is more honest than “nothing happened” when the connection dropped. Give the user a way to check the existing operation before starting another one. A slightly less confident message can save a lot of cleanup.

Share:

  • Share on Facebook (Opens in new window) Facebook
  • Share on X (Opens in new window) X
  • Share on Tumblr (Opens in new window) Tumblr
  • Share on Pinterest (Opens in new window) Pinterest
  • Share on LinkedIn (Opens in new window) LinkedIn
  • Share on Reddit (Opens in new window) Reddit

Related

Comments

comments

Tags: apis idempotency retries

Post navigation

❮ Previous Post: Tiny Hotel Breakfast Jams Are Ridiculously Appealing

You may also like

Programming
Regular Expression (Regex) For Date part extraction/array split
February 5, 2012
Programming
Using Amazon EC2 with C# .net
October 15, 2012
Programming
Using SSL in RestClient
March 4, 2011
PHP
PHP 8.2 vs 7.4
March 26, 2023
  • AI
  • artificial intelligence
  • Ego-centric
  • Events
  • Films
  • Food
  • Gaming
  • Gym
  • Hardware
  • Holidays
  • News
  • PHP
  • Programming
  • Random Stuff
  • Reviews
  • Science
  • SEO
  • Software
  • Software Engineer
  • Support
  • Uncategorized
  • Work

Copyright © 2026 wade.one.

Theme: Oceanly News Dark by ScriptsTown