For mutating requests, special response caching logic is used when provided, ensuring safe repetition of the request multiple times (idempotent), without worrying about side effects. While the key is used as a cache key, it's only part of the key. The remainder of the key is defined by the implementation and typically includes user information (IP address or user id), and may even include the hash of the request itself.
By using this feature, you commit to using it exclusively for recovery from unexpected connectivity errors and agree that requests with the same key will contain the exact same body byte for byte.
Generally, client API wrappers for different programming languages will use this feature automatically to securely retry API requests.
We recommend using UUID as the Idempotency-Key, although you are free to use anything you prefer.