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
Organization Team Verified Resources
- POSTRequest Email Verification Code
- POSTRequest Phone Number Verification Code
- POSTVerify an email for an org team.
- POSTVerify a phone number for an org team.
- GETGet list of verified emails of an org team.
- GETGet list of verified phone numbers of an org team.
- GETGet verified email of an org team by id.
- GETGet verified phone number of an org team by id.
Organizations/Teams Stripe
Routing forms
Schedules
Selected Calendars
Slots
Teams / Event Types
Teams / Memberships
Teams Verified Resources
- POSTRequest Email Verification Code
- POSTRequest Phone Number Verification Code
- POSTVerify an email for a team.
- POSTVerify a phone number for an org team.
- GETGet list of verified emails of a team.
- GETGet list of verified phone numbers of a team.
- GETGet verified email of a team by id.
- GETGet verified phone number of a team by id.
Verified Resources
Teams
Update a team
PATCH
/
v2
/
teams
/
{teamId}
curl --request PATCH \
--url https://api.cal.com/v2/teams/{teamId} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "CalTeam",
"slug": "caltel",
"logoUrl": "https://i.cal.com/api/avatar/b0b58752-68ad-4c0d-8024-4fa382a77752.png",
"calVideoLogo": "<string>",
"appLogo": "<string>",
"appIconLogo": "<string>",
"bio": "<string>",
"hideBranding": true,
"isPrivate": true,
"hideBookATeamMember": true,
"metadata": {
"key": "value"
},
"theme": "<string>",
"brandColor": "<string>",
"darkBrandColor": "<string>",
"bannerUrl": "https://i.cal.com/api/avatar/949be534-7a88-4185-967c-c020b0c0bef3.png",
"timeFormat": 123,
"timeZone": "America/New_York",
"weekStart": "Monday",
"bookingLimits": "<string>",
"includeManagedEventsInLimits": true
}'
{
"status": "success",
"data": {
"id": 123,
"parentId": 123,
"name": "<string>",
"slug": "<string>",
"logoUrl": "<string>",
"calVideoLogo": "<string>",
"appLogo": "<string>",
"appIconLogo": "<string>",
"bio": "<string>",
"hideBranding": true,
"isOrganization": true,
"isPrivate": true,
"hideBookATeamMember": false,
"metadata": {
"key": "value"
},
"theme": "<string>",
"brandColor": "<string>",
"darkBrandColor": "<string>",
"bannerUrl": "<string>",
"timeFormat": 123,
"timeZone": "Europe/London",
"weekStart": "Sunday"
}
}
Headers
value must be Bearer <token>
where <token>
is api key prefixed with cal_
Path Parameters
Body
application/json
Name of the team
Minimum length:
1
Example:
"CalTeam"
Team slug
Example:
"caltel"
URL of the teams logo image
Example:
"https://i.cal.com/api/avatar/b0b58752-68ad-4c0d-8024-4fa382a77752.png"
You can store any additional data you want here. Metadata must have at most 50 keys, each key up to 40 characters. Values can be strings (up to 500 characters), numbers, or booleans.
Example:
{ "key": "value" }
URL of the teams banner image which is shown on booker
Example:
"https://i.cal.com/api/avatar/949be534-7a88-4185-967c-c020b0c0bef3.png"
Timezone is used to create teams's default schedule from Monday to Friday from 9AM to 5PM. It will default to Europe/London if not passed.
Example:
"America/New_York"
Example:
"Monday"
Response
200 - application/json
Available options:
success
, error
Example:
"success"
Minimum length:
1
Example:
{ "key": "value" }
Was this page helpful?
curl --request PATCH \
--url https://api.cal.com/v2/teams/{teamId} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "CalTeam",
"slug": "caltel",
"logoUrl": "https://i.cal.com/api/avatar/b0b58752-68ad-4c0d-8024-4fa382a77752.png",
"calVideoLogo": "<string>",
"appLogo": "<string>",
"appIconLogo": "<string>",
"bio": "<string>",
"hideBranding": true,
"isPrivate": true,
"hideBookATeamMember": true,
"metadata": {
"key": "value"
},
"theme": "<string>",
"brandColor": "<string>",
"darkBrandColor": "<string>",
"bannerUrl": "https://i.cal.com/api/avatar/949be534-7a88-4185-967c-c020b0c0bef3.png",
"timeFormat": 123,
"timeZone": "America/New_York",
"weekStart": "Monday",
"bookingLimits": "<string>",
"includeManagedEventsInLimits": true
}'
{
"status": "success",
"data": {
"id": 123,
"parentId": 123,
"name": "<string>",
"slug": "<string>",
"logoUrl": "<string>",
"calVideoLogo": "<string>",
"appLogo": "<string>",
"appIconLogo": "<string>",
"bio": "<string>",
"hideBranding": true,
"isOrganization": true,
"isPrivate": true,
"hideBookATeamMember": false,
"metadata": {
"key": "value"
},
"theme": "<string>",
"brandColor": "<string>",
"darkBrandColor": "<string>",
"bannerUrl": "<string>",
"timeFormat": 123,
"timeZone": "Europe/London",
"weekStart": "Sunday"
}
}