POST
/
v2
/
organizations
/
{orgId}
/
teams
curl --request POST \
  --url https://api.cal.com/v2/organizations/{orgId}/teams \
  --header 'Content-Type: application/json' \
  --header 'x-cal-client-id: <x-cal-client-id>' \
  --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": false,
  "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",
  "autoAcceptCreator": 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

x-cal-client-id
string
required

Path Parameters

orgId
number
required

Body

application/json
name
string
required

Name of the team

Minimum length: 1
Example:

"CalTeam"

slug
string

Team slug

Example:

"caltel"

logoUrl
string

URL of the teams logo image

Example:

"https://i.cal.com/api/avatar/b0b58752-68ad-4c0d-8024-4fa382a77752.png"

bio
string
hideBranding
boolean
default:false
isPrivate
boolean
hideBookATeamMember
boolean
metadata
object

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" }
theme
string
brandColor
string
darkBrandColor
string
bannerUrl
string

URL of the teams banner image which is shown on booker

Example:

"https://i.cal.com/api/avatar/949be534-7a88-4185-967c-c020b0c0bef3.png"

timeFormat
number
timeZone
string
default:Europe/London

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"

weekStart
string
default:Sunday
Example:

"Monday"

autoAcceptCreator
boolean
default:true

Response

201 - application/json
status
enum<string>
required
Available options:
success,
error
Example:

"success"

data
object
required