Idempotency Key Membatasi Keamanan Retry pada Identitas Request
Client dapat mengirim operasi logis yang sama lebih dari sekali meski hanya menginginkan satu efek. Timeout setelah POST /payments meninggalkan batas yang ambigu: server mungkin sudah melakukan commit pembayaran sementara client tidak menerima response. Retry memulihkan pengiriman, tetapi retry biasa dapat membuat pembayaran kedua. Idempotency key mengubah interface dengan memberi identitas request yang stabil pada percobaan berulang. Key tersebut bukan pengganti transactionality dan tidak membuat setiap operasi secara intrinsik idempotent. Key membentuk protokol antara client dan server: percobaan dengan key yang sama diperlakukan sebagai kandidat untuk operasi logis yang sama. Server tetap memerlukan aturan mengenai ekuivalensi request, kedatangan konkuren, masa persistensi, pemulihan kegagalan, dan replay response.