Idempotent API design — safe retries for POST endpoints, idempotency keys,
93
90%
Does it follow best practices?
Impact
100%
10.00xAverage score across 4 eval scenarios
Passed
No known issues
Client sends idempotency key
0%
100%
Server checks for duplicate requests
0%
100%
Submit button disabled during request
100%
100%
Button re-enabled in finally block
100%
100%
Database unique constraint on idempotency key
0%
100%
Duplicate handled gracefully
0%
100%
Non-duplicate errors not swallowed
100%
100%
5xx errors allow retry
100%
100%
Idempotency-Key header sent by client
0%
100%
Server checks idempotency key
0%
100%
Submit button disabled during request
0%
100%
Button re-enabled in finally block
0%
100%
Server-side duplicate prevention
0%
100%
5xx errors not cached
0%
100%
TTL on cached entries
0%
100%
Idempotency-Key header read
0%
100%
Cache lookup before processing
0%
100%
Response stored after processing
0%
100%
Lock key as processing
0%
100%
409 Conflict for concurrent duplicates
0%
100%
5xx errors not cached
0%
100%
TTL on cached entries
0%
100%
Cached status code preserved
0%
100%
Idempotency key accepted
0%
100%
UNIQUE constraint on idempotency key
0%
100%
Duplicate returns existing record
0%
100%
Non-duplicate errors re-thrown
0%
100%
Processing state tracked
0%
100%
409 or retry for concurrent duplicates
0%
100%
5xx errors not cached
0%
100%
schema.sql present with idempotency column
0%
100%