curl --request GET \
--url https://api.cal.com/v2/organizations/{orgId}/teams/event-types \
--header 'Authorization: <authorization>' \
--header 'cal-api-version: <cal-api-version>'import requests
url = "https://api.cal.com/v2/organizations/{orgId}/teams/event-types"
headers = {
"cal-api-version": "<cal-api-version>",
"Authorization": "<authorization>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'cal-api-version': '<cal-api-version>', Authorization: '<authorization>'}
};
fetch('https://api.cal.com/v2/organizations/{orgId}/teams/event-types', 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/organizations/{orgId}/teams/event-types",
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/organizations/{orgId}/teams/event-types"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("cal-api-version", "<cal-api-version>")
req.Header.Add("Authorization", "<authorization>")
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/organizations/{orgId}/teams/event-types")
.header("cal-api-version", "<cal-api-version>")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cal.com/v2/organizations/{orgId}/teams/event-types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["cal-api-version"] = '<cal-api-version>'
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": [
{
"id": 1,
"lengthInMinutes": 60,
"title": "Learn the secrets of masterchief!",
"slug": "learn-the-secrets-of-masterchief",
"description": "Discover the culinary wonders of Argentina by making the best flan ever!",
"locations": [
{
"type": "address",
"address": "123 Example St, City, Country",
"public": true
}
],
"disableGuests": true,
"recurrence": {
"interval": 10,
"occurrences": 10,
"frequency": "yearly",
"disabled": false
},
"metadata": {},
"price": 123,
"currency": "<string>",
"lockTimeZoneToggleOnBookingPage": true,
"forwardParamsSuccessRedirect": true,
"successRedirectUrl": "<string>",
"isInstantEvent": true,
"scheduleId": 123,
"hidden": true,
"bookingRequiresAuthentication": true,
"teamId": 123,
"bookingUrl": "https://cal.com/team/acme/30min",
"hosts": [
{
"userId": 123,
"name": "John Doe",
"username": "john-doe",
"mandatory": false,
"priority": "medium",
"avatarUrl": "https://cal.com/api/avatar/d95949bc-ccb1-400f-acf6-045c51a16856.png"
}
],
"schedulingType": "roundRobin",
"team": {
"id": 123,
"slug": "<string>",
"bannerUrl": "<string>",
"name": "<string>",
"logoUrl": "<string>",
"weekStart": "<string>",
"brandColor": "<string>",
"darkBrandColor": "<string>",
"theme": "<string>"
},
"bookingFields": [
{
"field": "name",
"slug": "name",
"variant": "fullName",
"disableOnPrefill": true,
"label": "<string>",
"placeholder": "<string>"
}
],
"lengthInMinutesOptions": [
15,
30,
60
],
"slotInterval": 60,
"minimumBookingNotice": 0,
"beforeEventBuffer": 0,
"afterEventBuffer": 0,
"seatsPerTimeSlot": 123,
"seatsShowAvailabilityCount": true,
"bookingLimitsCount": {
"day": 1,
"week": 2,
"month": 3,
"year": 4
},
"bookerActiveBookingsLimit": {
"maximumActiveBookings": 3,
"offerReschedule": true
},
"onlyShowFirstAvailableSlot": true,
"bookingLimitsDuration": {
"day": 60,
"week": 120,
"month": 180,
"year": 240,
"disabled": false
},
"bookingWindow": [
{
"type": "businessDays",
"value": 5,
"rolling": true,
"disabled": false
}
],
"bookerLayouts": {
"defaultLayout": "month",
"enabledLayouts": [
"month"
]
},
"confirmationPolicy": {
"type": "always",
"blockUnconfirmedBookingsInBooker": true,
"noticeThreshold": {
"unit": "minutes",
"count": 30
},
"disabled": false
},
"bookingProposalCount": 123,
"requiresBookerEmailVerification": true,
"skipAttendeeEmailDeliverabilityCheck": true,
"emailSettings": {
"disableEmailsToAttendees": true,
"disableEmailsToHosts": true
},
"hideCalendarNotes": true,
"color": {
"lightThemeHex": "#292929",
"darkThemeHex": "#fafafa"
},
"seats": {
"seatsPerTimeSlot": 4,
"showAttendeeInfo": true,
"showAvailabilityCount": true,
"disabled": false
},
"offsetStart": 123,
"customName": "<string>",
"destinationCalendar": {
"integration": "<string>",
"externalId": "<string>"
},
"useDestinationCalendarEmail": true,
"hideCalendarEventDetails": true,
"hideOrganizerEmail": true,
"calVideoSettings": {
"disableRecordingForOrganizer": false,
"disableRecordingForGuests": false,
"redirectUrlOnExit": "<string>",
"enableAutomaticRecordingForOrganizer": false,
"enableAutomaticTranscription": false,
"disableTranscriptionForGuests": false,
"disableTranscriptionForOrganizer": false,
"hideTranscriptionForGuests": false,
"hideTranscriptionForOrganizer": false,
"sendTranscriptionEmails": true,
"disableAttendeeRecordingDownloadEmail": false,
"transcriptionLanguage": "multi"
},
"disableCancelling": {
"disabled": true
},
"disableRescheduling": {
"disabled": true,
"minutesBefore": 60
},
"interfaceLanguage": "<string>",
"allowReschedulingPastBookings": true,
"allowReschedulingCancelledBookings": true,
"showOptimizedSlots": true,
"privateNoteEnabled": true,
"privateNoteMode": "duplicate_event",
"privateNoteTemplate": "<string>",
"ownerId": 123,
"parentEventTypeId": 123,
"assignAllTeamMembers": true,
"rescheduleWithSameRoundRobinHost": true,
"allowRRHostChoiceOnReschedule": true
}
]
}Get all team event types
Use the optional sortCreatedAt query parameter to order results by creation date (by ID). Accepts “asc” (oldest first) or “desc” (newest first). When not provided, no explicit ordering is applied. Required membership role: org admin. PBAC permission: eventType.readOrgEventTypes. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control. If accessed using an OAuth access token, the ORG_EVENT_TYPE_READ scope is required.
curl --request GET \
--url https://api.cal.com/v2/organizations/{orgId}/teams/event-types \
--header 'Authorization: <authorization>' \
--header 'cal-api-version: <cal-api-version>'import requests
url = "https://api.cal.com/v2/organizations/{orgId}/teams/event-types"
headers = {
"cal-api-version": "<cal-api-version>",
"Authorization": "<authorization>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'cal-api-version': '<cal-api-version>', Authorization: '<authorization>'}
};
fetch('https://api.cal.com/v2/organizations/{orgId}/teams/event-types', 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/organizations/{orgId}/teams/event-types",
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/organizations/{orgId}/teams/event-types"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("cal-api-version", "<cal-api-version>")
req.Header.Add("Authorization", "<authorization>")
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/organizations/{orgId}/teams/event-types")
.header("cal-api-version", "<cal-api-version>")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cal.com/v2/organizations/{orgId}/teams/event-types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["cal-api-version"] = '<cal-api-version>'
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": [
{
"id": 1,
"lengthInMinutes": 60,
"title": "Learn the secrets of masterchief!",
"slug": "learn-the-secrets-of-masterchief",
"description": "Discover the culinary wonders of Argentina by making the best flan ever!",
"locations": [
{
"type": "address",
"address": "123 Example St, City, Country",
"public": true
}
],
"disableGuests": true,
"recurrence": {
"interval": 10,
"occurrences": 10,
"frequency": "yearly",
"disabled": false
},
"metadata": {},
"price": 123,
"currency": "<string>",
"lockTimeZoneToggleOnBookingPage": true,
"forwardParamsSuccessRedirect": true,
"successRedirectUrl": "<string>",
"isInstantEvent": true,
"scheduleId": 123,
"hidden": true,
"bookingRequiresAuthentication": true,
"teamId": 123,
"bookingUrl": "https://cal.com/team/acme/30min",
"hosts": [
{
"userId": 123,
"name": "John Doe",
"username": "john-doe",
"mandatory": false,
"priority": "medium",
"avatarUrl": "https://cal.com/api/avatar/d95949bc-ccb1-400f-acf6-045c51a16856.png"
}
],
"schedulingType": "roundRobin",
"team": {
"id": 123,
"slug": "<string>",
"bannerUrl": "<string>",
"name": "<string>",
"logoUrl": "<string>",
"weekStart": "<string>",
"brandColor": "<string>",
"darkBrandColor": "<string>",
"theme": "<string>"
},
"bookingFields": [
{
"field": "name",
"slug": "name",
"variant": "fullName",
"disableOnPrefill": true,
"label": "<string>",
"placeholder": "<string>"
}
],
"lengthInMinutesOptions": [
15,
30,
60
],
"slotInterval": 60,
"minimumBookingNotice": 0,
"beforeEventBuffer": 0,
"afterEventBuffer": 0,
"seatsPerTimeSlot": 123,
"seatsShowAvailabilityCount": true,
"bookingLimitsCount": {
"day": 1,
"week": 2,
"month": 3,
"year": 4
},
"bookerActiveBookingsLimit": {
"maximumActiveBookings": 3,
"offerReschedule": true
},
"onlyShowFirstAvailableSlot": true,
"bookingLimitsDuration": {
"day": 60,
"week": 120,
"month": 180,
"year": 240,
"disabled": false
},
"bookingWindow": [
{
"type": "businessDays",
"value": 5,
"rolling": true,
"disabled": false
}
],
"bookerLayouts": {
"defaultLayout": "month",
"enabledLayouts": [
"month"
]
},
"confirmationPolicy": {
"type": "always",
"blockUnconfirmedBookingsInBooker": true,
"noticeThreshold": {
"unit": "minutes",
"count": 30
},
"disabled": false
},
"bookingProposalCount": 123,
"requiresBookerEmailVerification": true,
"skipAttendeeEmailDeliverabilityCheck": true,
"emailSettings": {
"disableEmailsToAttendees": true,
"disableEmailsToHosts": true
},
"hideCalendarNotes": true,
"color": {
"lightThemeHex": "#292929",
"darkThemeHex": "#fafafa"
},
"seats": {
"seatsPerTimeSlot": 4,
"showAttendeeInfo": true,
"showAvailabilityCount": true,
"disabled": false
},
"offsetStart": 123,
"customName": "<string>",
"destinationCalendar": {
"integration": "<string>",
"externalId": "<string>"
},
"useDestinationCalendarEmail": true,
"hideCalendarEventDetails": true,
"hideOrganizerEmail": true,
"calVideoSettings": {
"disableRecordingForOrganizer": false,
"disableRecordingForGuests": false,
"redirectUrlOnExit": "<string>",
"enableAutomaticRecordingForOrganizer": false,
"enableAutomaticTranscription": false,
"disableTranscriptionForGuests": false,
"disableTranscriptionForOrganizer": false,
"hideTranscriptionForGuests": false,
"hideTranscriptionForOrganizer": false,
"sendTranscriptionEmails": true,
"disableAttendeeRecordingDownloadEmail": false,
"transcriptionLanguage": "multi"
},
"disableCancelling": {
"disabled": true
},
"disableRescheduling": {
"disabled": true,
"minutesBefore": 60
},
"interfaceLanguage": "<string>",
"allowReschedulingPastBookings": true,
"allowReschedulingCancelledBookings": true,
"showOptimizedSlots": true,
"privateNoteEnabled": true,
"privateNoteMode": "duplicate_event",
"privateNoteTemplate": "<string>",
"ownerId": 123,
"parentEventTypeId": 123,
"assignAllTeamMembers": true,
"rescheduleWithSameRoundRobinHost": true,
"allowRRHostChoiceOnReschedule": true
}
]
}Headers
Must be set to 2026-06-12. If not set to this value, the endpoint will default to an older version.
"2026-06-12"
For platform customers - OAuth client secret key
For platform customers - OAuth client ID
value must be Bearer <token> where <token> is api key prefixed with cal_, managed user access token, or OAuth access token
Path Parameters
Query Parameters
Maximum number of items to return
1 <= x <= 25025
Number of items to skip
x >= 00
Sort event types by creation date. When not provided, no explicit ordering is applied.
asc, desc Was this page helpful?