Getting Started
Platform / Managed Users
Platform / Webhooks
Orgs / Attributes
Orgs / Attributes / Options
- GETGet all attribute options
- POSTCreate an attribute option
- DELDelete an attribute option
- PATCHUpdate an attribute option
- GETGet by attribute id all of the attribute options that are assigned to users
- GETGet by attribute slug all of the attribute options that are assigned to users
- GETGet all attribute options for a user
- POSTAssign an attribute to a user
- DELUnassign an attribute from a user
Orgs / Bookings
Orgs / Delegation Credentials
Orgs / Memberships
Orgs / Routing forms
Orgs / Schedules
Orgs / Teams
Orgs / Teams / Bookings
Orgs / Teams / Conferencing
- POSTConnect your conferencing application to a team
- GETGet OAuth conferencing app's auth url for a team
- GETList team conferencing applications
- POSTSet team default conferencing application
- GETGet team default conferencing application
- DELDisconnect team conferencing application
- GETSave conferencing app OAuth credentials
Orgs / Teams / Event Types
Orgs / Teams / Memberships
Orgs / Teams / Routing forms
Orgs / Teams / Routing forms / Responses
Orgs / Teams / Users / Schedules
Orgs / Users / Bookings
Orgs / Users / OOO
Orgs / Users / Schedules
Orgs / Webhooks
Api Keys
Bookings
Calendars
Conferencing
Destination Calendars
Event Types
Event Types / Webhooks
Managed Orgs
OAuth Clients
Organization Team Verified Resources
- POSTRequest Email Verification Code
- POSTRequest Phone Number Verification Code
- POSTVerify an email for an org team.
- POSTVerify a phone number for an org team.
- GETGet list of verified emails of an org team.
- GETGet list of verified phone numbers of an org team.
- GETGet verified email of an org team by id.
- GETGet verified phone number of an org team by id.
Organizations/Teams Stripe
Routing forms
Schedules
Selected Calendars
Slots
Teams / Event Types
Teams / Memberships
Teams Verified Resources
- POSTRequest Email Verification Code
- POSTRequest Phone Number Verification Code
- POSTVerify an email for a team.
- POSTVerify a phone number for an org team.
- GETGet list of verified emails of a team.
- GETGet list of verified phone numbers of a team.
- GETGet verified email of a team by id.
- GETGet verified phone number of a team by id.
Verified Resources
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,
"icsUid": "ics_uid_123",
"attendees": [
{
"name": "John Doe",
"email": "[email protected]",
"timeZone": "America/New_York",
"phoneNumber": "+919876543210",
"language": "it"
}
],
"guests": [
"[email protected]",
"[email protected]"
],
"bookingFieldsResponses": {
"customField": "customValue"
}
}
],
"error": {}
}
Headers
For non-platform customers - value must be Bearer <token>
where <token>
is api key prefixed with cal_
For platform customers - OAuth client secret key
For platform customers - OAuth client ID
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
UID of ICS event.
"ics_uid_123"
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,
"icsUid": "ics_uid_123",
"attendees": [
{
"name": "John Doe",
"email": "[email protected]",
"timeZone": "America/New_York",
"phoneNumber": "+919876543210",
"language": "it"
}
],
"guests": [
"[email protected]",
"[email protected]"
],
"bookingFieldsResponses": {
"customField": "customValue"
}
}
],
"error": {}
}