Skip to main content
Availability schedules define the hours when you’re bookable. Once created, you assign a schedule to an event type so it controls when that event can be booked. This guide shows you how to create, list, update, and delete schedules with the Cal ID API. All requests use the base URL https://api.cal.id and are authenticated with a Bearer token.
1

Create a schedule

Call POST /schedule/ with a JSON body. name is required; pass an optional timeZone to set the schedule’s default time zone.
On success, the created schedule is returned in data, including its id.
2

List your schedules

Call GET /schedule/ to retrieve your schedules. This endpoint is not paginated — it returns every schedule in one response.
Your schedules are returned as an array in data. The response carries success, data, and message — there is no meta object.
GET /schedule/ accepts page and limit in the query string without erroring, but ignores them: ?limit=1 still returns the complete list. Do not write a paging loop against this endpoint — it will re-read the same full list forever. The same applies to GET /teams/\{teamId\}/schedules.
3

Update or delete a schedule

Use the schedule’s id to change or remove it. Call PATCH /schedule/\{scheduleId\} with the fields you want to update.
To remove a schedule, call DELETE /schedule/\{scheduleId\}.
Creating a schedule doesn’t affect bookings on its own. To make a schedule apply, assign it to an event type — see Set availability for an event type.

Schedule endpoint reference