curl --request POST \
--url https://api.cal.com/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses \
--header 'Authorization: <authorization>'{
"status": "success",
"data": {
"eventTypeId": 123,
"routing": {
"eventTypeId": 123,
"routing": {
"teamMemberIds": [
101,
102
],
"teamMemberEmail": "john.doe@example.com",
"skipContactOwner": true
}
},
"routingCustomMessage": "This is a custom message.",
"routingExternalRedirectUrl": "https://example.com/",
"slots": {}
}
}curl --request POST \
--url https://api.cal.com/v2/organizations/{orgId}/routing-forms/{routingFormId}/responses \
--header 'Authorization: <authorization>'{
"status": "success",
"data": {
"eventTypeId": 123,
"routing": {
"eventTypeId": 123,
"routing": {
"teamMemberIds": [
101,
102
],
"teamMemberEmail": "john.doe@example.com",
"skipContactOwner": true
}
},
"routingCustomMessage": "This is a custom message.",
"routingExternalRedirectUrl": "https://example.com/",
"slots": {}
}
}value must be Bearer <token> where <token> is api key prefixed with cal_
Time starting from which available slots should be checked.
Must be in UTC timezone as ISO 8601 datestring.
You can pass date without hours which defaults to start of day or specify hours:
2024-08-13 (will have hours 00:00:00 aka at very beginning of the date) or you can specify hours manually like 2024-08-13T09:00:00ZTime until which available slots should be checked.
Must be in UTC timezone as ISO 8601 datestring.
You can pass date without hours which defaults to end of day or specify hours:
2024-08-20 (will have hours 23:59:59 aka at the very end of the date) or you can specify hours manually like 2024-08-20T18:00:00ZTime zone in which the available slots should be returned. Defaults to UTC.
If event type has multiple possible durations then you can specify the desired duration here. Also, if you are fetching slots for a dynamic event then you can specify the duration her which defaults to 30, meaning that returned slots will be each 30 minutes long.
Format of slot times in response. Use 'range' to get start and end times.
range, time The unique identifier of the booking being rescheduled. When provided will ensure that the original booking time appears within the returned available slots when rescheduling.
Whether to queue the form response.
success, error "success"
Show child attributes
The ID of the event type that was routed to.
123
The routing information that could be passed as is to the booking API.
Show child attributes
Array of team member IDs that were routed to handle this booking.
[101, 102]The ID of the queued form response. Only present if the form response was queued.
"123"
The ID of the routing form response.
123
The email of the team member assigned to handle this booking.
"john.doe@example.com"
Whether to skip contact owner assignment from CRM integration.
true
The CRM application slug for integration.
"salesforce"
The CRM owner record type for contact assignment.
"Account"
{
"eventTypeId": 123,
"routing": {
"teamMemberIds": [101, 102],
"teamMemberEmail": "john.doe@example.com",
"skipContactOwner": true
}
}A custom message to be displayed to the user in case of routing to a custom page.
"This is a custom message."
The external redirect URL to be used in case of routing to a non cal.com event type URL.
"https://example.com/"
Was this page helpful?