https://api.cal.id and are authenticated with a Bearer token.
Before you begin, make sure you have:
- An API key to authenticate your requests.
- The event type’s ID you want to book.
1
Reserve the slot
Call The reservation is returned in
POST /slots/reserve with the eventTypeId (integer) and the slotStart (ISO) you want to hold. Optionally pass slotDuration (minutes) and reservationDuration (how long to hold the slot, in minutes).data as reservationUid — note the field is not called uid. Keep it; you need it to release the hold early. The hold lasts 5 minutes unless you pass reservationDuration (in minutes).2
Confirm the booking
While the hold is active, let the booker finish checkout, then create the booking as usual with
POST /booking/ (its body includes eventTypeId, start, end, and responses with name and email). See Create a booking for the full flow.If the booking isn’t confirmed within reservationDuration minutes, the hold expires automatically and the slot becomes available to others again.3
Release the hold
If the booker cancels or backs out before confirming, release the hold early instead of waiting for it to expire. Call
DELETE /slots/\{reservationUid\} with the reservationUid from Step 1.Slot reservation reference
- Reserve a slot — full endpoint reference