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, including its uid. Keep this uid — you’ll need it to release the hold early.2
Confirm the booking
While the hold is active, let your user 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 user cancels or backs out before confirming, release the hold early instead of waiting for it to expire. Call
DELETE /slots/\{uid\} with the reservation uid from Step 1.Next steps
- Reserve a slot — full endpoint reference