Getting Started
Platform / Cal Provider
Platform / Managed Users
Platform / Webhooks
Orgs / Attributes
Orgs / Attributes / Options
Orgs / Delegation Credentials
Orgs / Event Types
Orgs / Memberships
Orgs / Orgs
Orgs / Schedules
Orgs / Teams
Orgs / Teams / Bookings
Orgs / Teams / Memberships
Orgs / Teams / Routing forms / Responses
Orgs / Teams / Schedules
Orgs / Users / OOO
Orgs / Webhooks
Api Keys
Bookings
- GETGet all bookings
- POSTCreate a booking
- GETGet a booking
- POSTReschedule a booking
- POSTCancel a booking
- POSTMark a booking absence
- POSTAutomatically reassign booking to a new host
- POSTReassign a booking to a specific user
- POSTConfirm booking that requires a confirmation
- POSTDecline booking that requires a confirmation
- GETGet 'Add to Calendar' links for a booking
Calendars
Conferencing
Destination Calendars
Event Types
Event Types / Webhooks
OAuth Clients
Schedules
Selected Calendars
Slots
Stripe
Teams / Event Types
Teams / Memberships
Timezones
Get organization team bookings
curl --request GET \
--url https://api.cal.com/v2/organizations/{orgId}/teams/{teamId}/bookings
{
"status": "success",
"data": [
{
"id": 123,
"uid": "booking_uid_123",
"title": "Consultation",
"description": "Learn how to integrate scheduling into marketplace.",
"hosts": [
{
"id": 1,
"name": "Jane Doe",
"email": "[email protected]",
"username": "jane100",
"timeZone": "America/Los_Angeles"
}
],
"status": "accepted",
"cancellationReason": "User requested cancellation",
"cancelledByEmail": "[email protected]",
"reschedulingReason": "User rescheduled the event",
"rescheduledByEmail": "[email protected]",
"rescheduledFromUid": "previous_uid_123",
"start": "2024-08-13T15:30:00Z",
"end": "2024-08-13T16:30:00Z",
"duration": 60,
"eventTypeId": 50,
"eventType": {
"id": 1,
"slug": "some-event"
},
"meetingUrl": "https://example.com/recurring-meeting",
"location": "https://example.com/meeting",
"absentHost": true,
"createdAt": "2024-08-13T15:30:00Z",
"updatedAt": "2024-08-13T15:30:00Z",
"metadata": {
"key": "value"
},
"rating": 4,
"attendees": [
{
"name": "John Doe",
"email": "[email protected]",
"timeZone": "America/New_York",
"phoneNumber": "+919876543210",
"language": "it"
}
],
"guests": [
"[email protected]",
"[email protected]"
],
"bookingFieldsResponses": {
"customField": "customValue"
}
}
],
"error": {}
}
Path Parameters
Query Parameters
Filter bookings by status. If you want to filter by multiple statuses, separate them with a comma.
upcoming
, recurring
, past
, cancelled
, unconfirmed
Filter bookings by the attendee's email address.
Filter bookings by the attendee's name.
Filter bookings by event type ids belonging to the team. Event type ids must be separated by a comma.
Filter bookings by event type id belonging to the team.
Filter bookings with start after this date string.
Filter bookings with end before this date string.
Sort results by their start time in ascending or descending order.
asc
, desc
Sort results by their end time in ascending or descending order.
asc
, desc
Sort results by their creation time (when booking was made) in ascending or descending order.
asc
, desc
The number of items to return
1 <= x <= 250
The number of items to skip
x >= 0
Response
success
, error
"success"
Array of booking data, which can contain either BookingOutput objects or RecurringBookingOutput objects
123
"booking_uid_123"
"Consultation"
"Learn how to integrate scheduling into marketplace."
cancelled
, accepted
, rejected
, pending
"accepted"
"2024-08-13T15:30:00Z"
"2024-08-13T16:30:00Z"
60
Deprecated - rely on 'eventType' object containing the id instead.
50
"https://example.com/meeting"
true
"2024-08-13T15:30:00Z"
"2024-08-13T15:30:00Z"
The name of the attendee.
"John Doe"
The time zone of the attendee.
"America/New_York"
The email of the attendee.
The phone number of the attendee in international format.
"+919876543210"
The preferred language of the attendee. Used for booking confirmation.
ar
, ca
, de
, es
, eu
, he
, id
, ja
, lv
, pl
, ro
, sr
, th
, vi
, az
, cs
, el
, es-419
, fi
, hr
, it
, km
, nl
, pt
, ru
, sv
, tr
, zh-CN
, bg
, da
, en
, et
, fr
, hu
, iw
, ko
, no
, pt-BR
, sk
, ta
, uk
, zh-TW
"it"
Booking field responses consisting of an object with booking field slug as keys and user response as values.
{ "customField": "customValue" }
"User requested cancellation"
"User rescheduled the event"
"previous_uid_123"
Deprecated - rely on 'location' field instead.
"https://example.com/recurring-meeting"
{ "key": "value" }
4
Was this page helpful?
curl --request GET \
--url https://api.cal.com/v2/organizations/{orgId}/teams/{teamId}/bookings
{
"status": "success",
"data": [
{
"id": 123,
"uid": "booking_uid_123",
"title": "Consultation",
"description": "Learn how to integrate scheduling into marketplace.",
"hosts": [
{
"id": 1,
"name": "Jane Doe",
"email": "[email protected]",
"username": "jane100",
"timeZone": "America/Los_Angeles"
}
],
"status": "accepted",
"cancellationReason": "User requested cancellation",
"cancelledByEmail": "[email protected]",
"reschedulingReason": "User rescheduled the event",
"rescheduledByEmail": "[email protected]",
"rescheduledFromUid": "previous_uid_123",
"start": "2024-08-13T15:30:00Z",
"end": "2024-08-13T16:30:00Z",
"duration": 60,
"eventTypeId": 50,
"eventType": {
"id": 1,
"slug": "some-event"
},
"meetingUrl": "https://example.com/recurring-meeting",
"location": "https://example.com/meeting",
"absentHost": true,
"createdAt": "2024-08-13T15:30:00Z",
"updatedAt": "2024-08-13T15:30:00Z",
"metadata": {
"key": "value"
},
"rating": 4,
"attendees": [
{
"name": "John Doe",
"email": "[email protected]",
"timeZone": "America/New_York",
"phoneNumber": "+919876543210",
"language": "it"
}
],
"guests": [
"[email protected]",
"[email protected]"
],
"bookingFieldsResponses": {
"customField": "customValue"
}
}
],
"error": {}
}