Idempotency-Key on any
write and 1Club replays the original response instead, so a retry is always safe.
Choosing a key
Use a value that identifies the operation, not the attempt - a UUID you generate once and reuse across retries, or something derived from your own booking id. Keys are scoped to your organization and can be up to 255 characters. Do not reuse a key for a different operation. The key is remembered together with a fingerprint of the request, so reusing it with a different body is treated as a mistake rather than a new write.What each outcome means
A replayed response carries the original status code and body, including the
original
bookingId. Field order in your JSON body does not matter - a reordered
but otherwise identical body still replays.
Failed attempts free the key
If a write fails, the key is released, so you can retry it - including with a corrected body after a validation error. This is what makes an interrupted bulk sync resumable: rerun the whole batch with the same keys, and the writes that already succeeded replay while the ones that failed are attempted again.When a connection drops
If the connection is lost before the response is written, 1Club deliberately keeps the key claimed, because the write itself may have committed. A retry then returns409 rather than risking a duplicate. Confirm what actually landed with
List bookings before
deciding what to do.
Retention
Stored responses are kept for 24 hours. After that a reused key is treated as a new request, so retries should happen well inside that window.Cancelling a booking is already idempotent without a key: cancelling an
already-cancelled booking succeeds and returns the same response.