Bookings
POSTCreate a booking
Creates a regular, recurring, or instant booking depending on the event type configuration.
/v2/bookings
POST/v2/bookings
application/jsonRequired
Accepts different types of booking input: Create Booking (Option 1) or Create Recurring Booking (Option 2)
bodyRequiredobject | object
cal-api-versionRequiredstring
Must be set to 2024-08-13. If not set to this value, the endpoint will default to an older version.
Default: "2024-08-13"
Authorizationstring
value must be Bearer <token> where <token> is api key prefixed with cal_ or managed user access token
x-cal-secret-keystring
For platform customers - OAuth client secret key
x-cal-client-idstring
For platform customers - OAuth client ID
curl -X POST "https://example.com/v2/bookings" \
-H "cal-api-version: 2024-08-13" \
-H "Authorization: <string>" \
-H "x-cal-secret-key: <string>" \
-H "x-cal-client-id: <string>" \
-H "Content-Type: application/json" \
-d '{
"start": "2024-08-13T09:00:00Z",
"attendee": {
"name": "John Doe",
"timeZone": "America/New_York",
"phoneNumber": "+919876543210",
"language": "it",
"email": "john.doe@example.com"
},
"bookingFieldsResponses": {
"customField": "customValue"
},
"eventTypeId": 123,
"eventTypeSlug": "my-event-type",
"username": "john-doe",
"teamSlug": "john-doe",
"organizationSlug": "acme-corp",
"guests": [
"guest1@example.com",
"guest2@example.com"
],
"meetingUrl": "https://example.com/meeting",
"location": {
"type": "address"
},
"metadata": {
"key": "value"
},
"lengthInMinutes": 30,
"routing": {
"responseId": 123,
"teamMemberIds": [
101,
102
]
},
"emailVerificationCode": "123456"
}'