curl --request POST \
--url https://api.cal.com/v2/bookings/{bookingUid}/guests \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--header 'cal-api-version: <cal-api-version>' \
--data '
{
"guests": [
{
"email": "[email protected]",
"name": "John Doe",
"timeZone": "America/New_York"
},
{
"email": "[email protected]",
"name": "Jane Smith"
}
]
}
'{
"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",
"start": "2024-08-13T15:30:00Z",
"end": "2024-08-13T16:30:00Z",
"duration": 60,
"eventTypeId": 50,
"eventType": {
"id": 1,
"slug": "some-event"
},
"location": "https://example.com/meeting",
"absentHost": true,
"createdAt": "2024-08-13T15:30:00Z",
"updatedAt": "2024-08-13T15:30:00Z",
"attendees": [
{
"name": "John Doe",
"email": "[email protected]",
"timeZone": "America/New_York",
"absent": false,
"language": "en",
"phoneNumber": "+1234567890"
}
],
"bookingFieldsResponses": {
"customField": "customValue"
},
"cancellationReason": "User requested cancellation",
"cancelledByEmail": "[email protected]",
"reschedulingReason": "User rescheduled the event",
"rescheduledByEmail": "[email protected]",
"rescheduledFromUid": "previous_uid_123",
"rescheduledToUid": "new_uid_456",
"meetingUrl": "https://example.com/recurring-meeting",
"metadata": {
"key": "value"
},
"rating": 4,
"icsUid": "ics_uid_123",
"guests": [
"[email protected]",
"[email protected]"
]
}
}Add one or more guests to an existing booking.
Email Notifications: When guests are added, the following notifications are sent (unless disabled by event type settings):
Organizer & Team Members: Receive an “Add Guests” notification email informing them that new guests have been added to the booking.
New Guests: Receive a “Scheduled Event” email with full booking details and calendar invite. If they have a phone number, they also receive an SMS notification.
Existing Guests: Receive an “Add Guests” notification email informing them that additional guests have been added to the booking.
curl --request POST \
--url https://api.cal.com/v2/bookings/{bookingUid}/guests \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--header 'cal-api-version: <cal-api-version>' \
--data '
{
"guests": [
{
"email": "[email protected]",
"name": "John Doe",
"timeZone": "America/New_York"
},
{
"email": "[email protected]",
"name": "Jane Smith"
}
]
}
'{
"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",
"start": "2024-08-13T15:30:00Z",
"end": "2024-08-13T16:30:00Z",
"duration": 60,
"eventTypeId": 50,
"eventType": {
"id": 1,
"slug": "some-event"
},
"location": "https://example.com/meeting",
"absentHost": true,
"createdAt": "2024-08-13T15:30:00Z",
"updatedAt": "2024-08-13T15:30:00Z",
"attendees": [
{
"name": "John Doe",
"email": "[email protected]",
"timeZone": "America/New_York",
"absent": false,
"language": "en",
"phoneNumber": "+1234567890"
}
],
"bookingFieldsResponses": {
"customField": "customValue"
},
"cancellationReason": "User requested cancellation",
"cancelledByEmail": "[email protected]",
"reschedulingReason": "User rescheduled the event",
"rescheduledByEmail": "[email protected]",
"rescheduledFromUid": "previous_uid_123",
"rescheduledToUid": "new_uid_456",
"meetingUrl": "https://example.com/recurring-meeting",
"metadata": {
"key": "value"
},
"rating": 4,
"icsUid": "ics_uid_123",
"guests": [
"[email protected]",
"[email protected]"
]
}
}Must be set to 2024-08-13. This header is required as this endpoint does not exist in older API versions.
value must be Bearer <token> where <token> is api key prefixed with cal_ or managed user access token
Array of guests to add to the booking
Show child attributes
The email of the guest.
The name of the guest.
"John Doe"
The time zone of the guest.
"America/New_York"
The phone number of the guest in international format.
"+919876543210"
The preferred language of the guest. 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, bn "it"
[
{
"email": "[email protected]",
"name": "John Doe",
"timeZone": "America/New_York"
},
{
"email": "[email protected]",
"name": "Jane Smith"
}
]success, error "success"
Booking data, which can be either a BookingOutput object, a RecurringBookingOutput object, or an array of RecurringBookingOutput objects
Show child attributes
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"
Show child attributes
"John Doe"
"America/New_York"
false
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, bn "en"
"+1234567890"
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"
UID of the previous booking from which this booking was rescheduled.
"previous_uid_123"
UID of the new booking to which this booking was rescheduled.
"new_uid_456"
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?