Get scheduling configuration
curl --request GET \
--url https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config \
--header 'Authorization: <authorization>' \
--header 'cal-api-version: <cal-api-version>'import requests
url = "https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config"
headers = {
"cal-api-version": "<cal-api-version>",
"Authorization": "<authorization>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'cal-api-version': '<cal-api-version>', Authorization: '<authorization>'}
};
fetch('https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"cal-api-version: <cal-api-version>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("cal-api-version", "<cal-api-version>")
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config")
.header("cal-api-version", "<cal-api-version>")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["cal-api-version"] = '<cal-api-version>'
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"eventTypeId": 1,
"schedulingType": "roundRobin",
"hosts": [
{
"userId": 1,
"name": "John Doe",
"username": "john-doe",
"mandatory": false,
"priority": "medium",
"weight": 100,
"avatarUrl": "<string>",
"groupId": "<string>"
}
],
"assignAllTeamMembers": false,
"hostGroups": [
{
"id": "<string>",
"name": "Sales Team"
}
],
"rescheduleWithSameRoundRobinHost": false,
"allowRRHostChoiceOnReschedule": false,
"isRRWeightsEnabled": false,
"maxLeadThreshold": 3,
"includeNoShowInRRCalculation": false,
"crmRecordOwnerFallbackWindowHours": 24,
"crmRecordOwnerFallbackWindowSkipWeekends": false
}
}Event Types
Get scheduling configuration
Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint.
The response varies by the event type’s scheduling type, and non-team event types are rejected.
If accessed using an OAuth access token, the EVENT_TYPE_READ scope is required.
GET
/
v2
/
event-types
/
{eventTypeId}
/
scheduling-config
Get scheduling configuration
curl --request GET \
--url https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config \
--header 'Authorization: <authorization>' \
--header 'cal-api-version: <cal-api-version>'import requests
url = "https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config"
headers = {
"cal-api-version": "<cal-api-version>",
"Authorization": "<authorization>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'cal-api-version': '<cal-api-version>', Authorization: '<authorization>'}
};
fetch('https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"cal-api-version: <cal-api-version>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("cal-api-version", "<cal-api-version>")
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config")
.header("cal-api-version", "<cal-api-version>")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cal.com/v2/event-types/{eventTypeId}/scheduling-config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["cal-api-version"] = '<cal-api-version>'
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"eventTypeId": 1,
"schedulingType": "roundRobin",
"hosts": [
{
"userId": 1,
"name": "John Doe",
"username": "john-doe",
"mandatory": false,
"priority": "medium",
"weight": 100,
"avatarUrl": "<string>",
"groupId": "<string>"
}
],
"assignAllTeamMembers": false,
"hostGroups": [
{
"id": "<string>",
"name": "Sales Team"
}
],
"rescheduleWithSameRoundRobinHost": false,
"allowRRHostChoiceOnReschedule": false,
"isRRWeightsEnabled": false,
"maxLeadThreshold": 3,
"includeNoShowInRRCalculation": false,
"crmRecordOwnerFallbackWindowHours": 24,
"crmRecordOwnerFallbackWindowSkipWeekends": false
}
}Headers
Must be set to 2026-06-12. If not set to this value, the endpoint will default to an older version.
Example:
"2026-06-12"
value must be Bearer <token> where <token> is api key prefixed with cal_, managed user access token, or OAuth access token
Path Parameters
Was this page helpful?