Cursor-paginated org bookings listing. Pass the pagination.nextCursor from the previous response as the cursor query parameter to fetch the next page. Omit cursor to fetch the first page. pagination.hasMore is false and pagination.nextCursor is null when you’ve reached the last page.
cal-api-version: 2026-05-01 header.status accepts at most one value. Supplying two or more status values returns 400 Bad Request. To list bookings across multiple statuses, issue parallel requests — one per status — and merge client-side.
Required membership role: org admin. PBAC permission: booking.readOrgBookings. If accessed using an OAuth access token, the ORG_BOOKING_READ scope is required.
Documentation Index
Fetch the complete documentation index at: https://cal.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
value must be Bearer <token> where <token> is api key prefixed with cal_, managed user access token, or OAuth access token
For platform customers - OAuth client secret key
For platform customers - OAuth client ID
Filter bookings by status. Accepts at most one value per call (e.g. ?status=upcoming). Omit to walk all statuses ordered by Booking.uuid DESC. To list bookings across multiple statuses, issue parallel requests, one per status.
upcoming, recurring, past, cancelled, unconfirmed "?status=upcoming"
Filter bookings by the attendee's email address.
Filter bookings by the attendee's name.
"John Doe"
Filter bookings by the booking Uid.
"2NtaeaVcKfpmSZ4CthFdfk"
Filter bookings by event type ids belonging to the user. Event type ids must be separated by a comma.
"?eventTypeIds=100,200"
Filter bookings by event type id belonging to the user.
"?eventTypeId=100"
Filter bookings by team ids that user is part of. Team ids must be separated by a comma.
"?teamIds=50,60"
Filter bookings by team id that user is part of
"?teamId=50"
Filter bookings with start after this date string.
"?afterStart=2025-03-07T10:00:00.000Z"
Filter bookings with end before this date string.
"?beforeEnd=2025-03-07T11:00:00.000Z"
Filter bookings that have been created after this date string.
"?afterCreatedAt=2025-03-07T10:00:00.000Z"
Filter bookings that have been created before this date string.
"?beforeCreatedAt=2025-03-14T11:00:00.000Z"
Filter bookings that have been updated after this date string.
"?afterUpdatedAt=2025-03-07T10:00:00.000Z"
Filter bookings that have been updated before this date string.
"?beforeUpdatedAt=2025-03-14T11:00:00.000Z"
Sort results by their start time in ascending or descending order.
asc, desc "?sortStart=asc OR ?sortStart=desc"
Sort results by their end time in ascending or descending order.
asc, desc "?sortEnd=asc OR ?sortEnd=desc"
Sort results by their creation time (when booking was made) in ascending or descending order.
asc, desc "?sortCreated=asc OR ?sortCreated=desc"
Sort results by their updated time (for example when booking status changes) in ascending or descending order.
asc, desc "?sortUpdated=asc OR ?sortUpdated=desc"
Opaque cursor for cursor-based pagination. Pass the pagination.nextCursor value from a previous response to fetch the next page. Omit to fetch the first page.
"eyJ2IjoxLCJzb3J0VXVpZCI6IjAxOGY0YzJlLTNmMWEtN2FiYy05ZGVmLTAxMjM0NTY3ODlhYiJ9"
The number of items to return
50
Filter bookings by ids of users within your organization.
"?userIds=100,200"