Az idempotencia azt jelenti, hogy egy művelet többszöri végrehajtása ugyanolyan hatással jár, mint az egyszeri. Azért fontos, mert a hálózatok megbízhatatlanok: amikor egy kliens elküld egy kérést, és a válasz sosem érkezik meg, nem tudja megállapítani, hogy a server feldolgozta-e. Ha újrapróbálja, egy nem-idempotens művelet kétszer futhat le.
A probléma
Client ──POST /payments {$100}──▶ Server (charges $100 ✓)
Client ◀────────X (timeout)────── Server (response lost)
Client ──POST /payments {$100}──▶ Server (charges $100 AGAIN ✗ → $200!)
