Get all schedules
curl --request GET \
--url https://api.cal.com/v2/schedules \
--header 'Authorization: <authorization>' \
--header 'cal-api-version: <cal-api-version>'import requests
url = "https://api.cal.com/v2/schedules"
headers = {
"Authorization": "<authorization>",
"cal-api-version": "<cal-api-version>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: '<authorization>', 'cal-api-version': '<cal-api-version>'}
};
fetch('https://api.cal.com/v2/schedules', 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/schedules",
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/schedules"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("cal-api-version", "<cal-api-version>")
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/schedules")
.header("Authorization", "<authorization>")
.header("cal-api-version", "<cal-api-version>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cal.com/v2/schedules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
request["cal-api-version"] = '<cal-api-version>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": [
{
"id": 254,
"ownerId": 478,
"name": "Catch up hours",
"timeZone": "Europe/Rome",
"availability": [
{
"days": [
"Monday",
"Tuesday"
],
"startTime": "17:00",
"endTime": "19:00"
},
{
"days": [
"Wednesday",
"Thursday"
],
"startTime": "16:00",
"endTime": "20:00"
}
],
"isDefault": true,
"overrides": [
{
"date": "2024-05-20",
"startTime": "18:00",
"endTime": "21:00"
}
]
}
]
}Schedules
Get all schedules
Get all schedules of the authenticated user.
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.
If accessed using an OAuth access token, the SCHEDULE_READ scope is required.
GET
/
v2
/
schedules
Get all schedules
curl --request GET \
--url https://api.cal.com/v2/schedules \
--header 'Authorization: <authorization>' \
--header 'cal-api-version: <cal-api-version>'import requests
url = "https://api.cal.com/v2/schedules"
headers = {
"Authorization": "<authorization>",
"cal-api-version": "<cal-api-version>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: '<authorization>', 'cal-api-version': '<cal-api-version>'}
};
fetch('https://api.cal.com/v2/schedules', 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/schedules",
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/schedules"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("cal-api-version", "<cal-api-version>")
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/schedules")
.header("Authorization", "<authorization>")
.header("cal-api-version", "<cal-api-version>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cal.com/v2/schedules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
request["cal-api-version"] = '<cal-api-version>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": [
{
"id": 254,
"ownerId": 478,
"name": "Catch up hours",
"timeZone": "Europe/Rome",
"availability": [
{
"days": [
"Monday",
"Tuesday"
],
"startTime": "17:00",
"endTime": "19:00"
},
{
"days": [
"Wednesday",
"Thursday"
],
"startTime": "16:00",
"endTime": "20:00"
}
],
"isDefault": true,
"overrides": [
{
"date": "2024-05-20",
"startTime": "18:00",
"endTime": "21:00"
}
]
}
]
}Headers
value must be Bearer <token> where <token> is api key prefixed with cal_, managed user access token, or OAuth access token
Must be set to 2024-06-11. If not set to this value, the endpoint will default to an older version.
Was this page helpful?
⌘I