The definition that matters
An operation is idempotent if performing it once or many times produces the same result.
DELETE /users/42is idempotent: the user is gone after the first call; subsequent calls do nothing new.POST /charge { amount: 100 }is not idempotent by default: each call charges 100 more dollars.PUT /users/42 { name: 'Alice' }is idempotent: setting the name to 'Alice' twice is the same as once.
This property matters because the network is unreliable. A client sends a request, doesn't get a response, retries. Without idempotency, the retry might charge the user twice. With idempotency, the duplicate is harmless. That's why every payment, every webhook, every "please don't fire twice" event needs this baked in.
