Idempotency

The CloudZero API V2 supports Idempotency via cloudzero-idempotency-key header. If a client passes the same value for the cloudzero-idempotency-key header for a possibly non-idempotent operation (e.g. PATCH), we will ensure that operation is actually Idempotent by caching the response of the first request to the resource with that value for cloudzero-idempotency-key. The resource will return the exact same response, headers, and status codes ... warts and all.

Currently, the cloudzero-idempotency-key applies to the HTTP Path and Method and is checked before any other code runs. This means a client will receive the same response to all subsequent requests to the same resource endpoint for the same cloudzero-idempotency-key value.