curl --request POST \
--url https://api.cal.com/v2/organizations/{orgId}/organizations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "CalTeam",
"apiKeyDaysValid": 60,
"apiKeyNeverExpires": true,
"slug": "cal-tel",
"metadata": {
"key": "value"
}
}
'{
"status": "success",
"data": {
"id": 123,
"name": "<string>",
"apiKey": "<string>",
"slug": "<string>",
"metadata": {
"key": "value"
}
}
}Requires the user to have at least the ‘ORG_ADMIN’ role within the organization. Additionally, for platform, the plan must be ‘SCALE’ or higher to access this endpoint.
curl --request POST \
--url https://api.cal.com/v2/organizations/{orgId}/organizations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "CalTeam",
"apiKeyDaysValid": 60,
"apiKeyNeverExpires": true,
"slug": "cal-tel",
"metadata": {
"key": "value"
}
}
'{
"status": "success",
"data": {
"id": 123,
"name": "<string>",
"apiKey": "<string>",
"slug": "<string>",
"metadata": {
"key": "value"
}
}
}Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
For platform customers - OAuth client secret key
For platform customers - OAuth client ID
Name of the organization
1"CalTeam"
For how many days is managed organization api key valid. Defaults to 30 days.
x >= 160
If true, organization api key never expires.
true
Organization slug in kebab-case - if not provided will be generated automatically based on name.
"cal-tel"
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.
{ "key": "value" }Was this page helpful?