Orgs / Users / Schedules
Update a schedule
Getting Started
Platform / Managed Users
Platform / Webhooks
Orgs / Attributes
Orgs / Attributes / Options
- GETGet all attribute options
- POSTCreate an attribute option
- DELDelete an attribute option
- PATCHUpdate an attribute option
- GETGet by attribute id all of the attribute options that are assigned to users
- GETGet by attribute slug all of the attribute options that are assigned to users
- GETGet all attribute options for a user
- POSTAssign an attribute to a user
- DELUnassign an attribute from a user
Orgs / Bookings
Orgs / Delegation Credentials
Orgs / Memberships
Orgs / Routing forms
Orgs / Schedules
Orgs / Teams
Orgs / Teams / Bookings
Orgs / Teams / Conferencing
- POSTConnect your conferencing application to a team
- GETGet OAuth conferencing app's auth url for a team
- GETList team conferencing applications
- POSTSet team default conferencing application
- GETGet team default conferencing application
- DELDisconnect team conferencing application
- GETSave conferencing app OAuth credentials
Orgs / Teams / Event Types
Orgs / Teams / Memberships
Orgs / Teams / Routing forms
Orgs / Teams / Routing forms / Responses
Orgs / Teams / Users / Schedules
Orgs / Users / Bookings
Orgs / Users / OOO
Orgs / Users / Schedules
Orgs / Webhooks
Api Keys
Bookings
Calendars
Conferencing
Destination Calendars
Event Types
Event Types / Webhooks
Managed Orgs
OAuth Clients
Organizations/Teams Stripe
Routing forms
Schedules
Selected Calendars
Slots
Teams / Event Types
Teams / Memberships
Orgs / Users / Schedules
Update a schedule
PATCH
/
v2
/
organizations
/
{orgId}
/
users
/
{userId}
/
schedules
/
{scheduleId}
curl --request PATCH \
--url https://api.cal.com/v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId} \
--header 'Content-Type: application/json' \
--data '{
"name": "One-on-one coaching",
"timeZone": "Europe/Rome",
"availability": [
{
"days": [
"Monday",
"Tuesday"
],
"startTime": "09:00",
"endTime": "10:00"
}
],
"isDefault": true,
"overrides": [
{
"date": "2024-05-20",
"startTime": "12:00",
"endTime": "14:00"
}
]
}'
{
"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"
}
]
},
"error": {}
}
Headers
For non-platform customers - value must be Bearer <token>
where <token>
is api key prefixed with cal_
For platform customers - OAuth client secret key
For platform customers - OAuth client ID
Body
application/json
Example:
"One-on-one coaching"
Example:
"Europe/Rome"
Array of days when schedule is active.
Available options:
Monday
, Tuesday
, Wednesday
, Thursday
, Friday
, Saturday
, Sunday
Example:
["Monday", "Tuesday"]
startTime must be a valid time in format HH:MM e.g. 08:00
Example:
"08:00"
endTime must be a valid time in format HH:MM e.g. 15:00
Example:
"15:00"
Example:
[
{
"days": ["Monday", "Tuesday"],
"startTime": "09:00",
"endTime": "10:00"
}
]
Example:
true
Example:
[
{
"date": "2024-05-20",
"startTime": "12:00",
"endTime": "14:00"
}
]
Response
200 - application/json
Available options:
success
, error
Example:
"success"
Example:
254
Example:
478
Example:
"Catch up hours"
Example:
"Europe/Rome"
Array of days when schedule is active.
Available options:
Monday
, Tuesday
, Wednesday
, Thursday
, Friday
, Saturday
, Sunday
Example:
["Monday", "Tuesday"]
startTime must be a valid time in format HH:MM e.g. 08:00
Example:
"08:00"
endTime must be a valid time in format HH:MM e.g. 15:00
Example:
"15:00"
Example:
[
{
"days": ["Monday", "Tuesday"],
"startTime": "17:00",
"endTime": "19:00"
},
{
"days": ["Wednesday", "Thursday"],
"startTime": "16:00",
"endTime": "20:00"
}
]
Example:
true
Example:
[
{
"date": "2024-05-20",
"startTime": "18:00",
"endTime": "21:00"
}
]
Was this page helpful?
curl --request PATCH \
--url https://api.cal.com/v2/organizations/{orgId}/users/{userId}/schedules/{scheduleId} \
--header 'Content-Type: application/json' \
--data '{
"name": "One-on-one coaching",
"timeZone": "Europe/Rome",
"availability": [
{
"days": [
"Monday",
"Tuesday"
],
"startTime": "09:00",
"endTime": "10:00"
}
],
"isDefault": true,
"overrides": [
{
"date": "2024-05-20",
"startTime": "12:00",
"endTime": "14:00"
}
]
}'
{
"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"
}
]
},
"error": {}
}