/cal-event-types | Type: Application | PCID required: Yes
Tools
| Tool | Description |
|---|---|
cal_event_types_controller_2024_06_14_create_event_type | Create an event type |
cal_event_types_controller_2024_06_14_delete_event_type | Delete an event type |
cal_event_types_controller_2024_06_14_get_event_type_by_id | Get an event type |
cal_event_types_controller_2024_06_14_get_event_types | Get all event types |
cal_event_types_controller_2024_06_14_update_event_type | Update an event type |
cal_event_types_type_webhooks_controller_create_event_type_webhook | Create a webhook |
cal_event_types_type_webhooks_controller_delete_all_event_type_webhooks | Delete all webhooks |
cal_event_types_type_webhooks_controller_delete_event_type_webhook | Delete a webhook |
cal_event_types_type_webhooks_controller_get_event_type_webhook | Get a webhook |
cal_event_types_type_webhooks_controller_get_event_type_webhooks | Get all webhooks |
cal_event_types_type_webhooks_controller_update_event_type_webhook | Update a webhook |
cal_event_types_controller_2024_06_14_create_event_type
Create an event type Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
cal-api-version | string | Yes | — | Must be set to 2024-06-14. If not set to this value, the endpoint will default to an older version. |
afterEventBuffer | number | No | — | Extra time automatically blocked on your calendar after a meeting ends. This gives you time to wrap up, add notes, or decompress before your next commitment. |
allowReschedulingCancelledBookings | boolean | No | — | When enabled, users will be able to create a new booking when trying to reschedule a cancelled booking. |
allowReschedulingPastBookings | boolean | No | — | Enabling this option allows for past events to be rescheduled. |
beforeEventBuffer | number | No | — | Extra time automatically blocked on your calendar before a meeting starts. This gives you time to prepare, review notes, or transition from your previous activity. |
bookerActiveBookingsLimit | object | No | — | Limit the number of active bookings a booker can make for this event type. |
bookerLayouts | object | No | — | Should booker have week, month or column view. Specify default layout and enabled layouts user can pick. |
bookingFields | any[] | No | — | Custom fields that can be added to the booking form when the event is booked by someone. By default booking form has name and email field. |
bookingLimitsCount | object | No | — | Limit how many times this event can be booked |
bookingLimitsDuration | object | No | — | Limit total amount of time that this event can be booked |
bookingRequiresAuthentication | boolean | No | — | Boolean to require authentication for booking this event type via api. If true, only authenticated users who are the event-type owner or org/team admin/owner can book this event type. |
bookingWindow | object | No | — | Limit how far in the future this event can be booked |
calVideoSettings | object | No | — | Cal video settings for the event type. Platform customers can’t manage this property because currently we have no way of determining if managed user is a host or an attendee. |
color | object | No | — | The color value |
confirmationPolicy | object | No | — | Specify how the booking needs to be manually confirmed before it is pushed to the integrations and a confirmation mail is sent. |
customName | string | No | — | Customizable event name with valid variables: {Event type title}, {Organiser}, {Scheduler}, {Location}, {Organiser first name}, {Scheduler first name}, {Scheduler last name}, {Event duration}, {LOCATION}, {HOST/ATTENDEE}, {HOST}, {ATTENDEE}, {USER} |
description | string | No | — | The description value |
destinationCalendar | object | No | — | Destination Calendar |
disableCancelling | object | No | — | Settings for disabling cancelling of this event type. |
disableGuests | boolean | No | — | If true, person booking this event can’t add guests via their emails. |
disableRescheduling | object | No | — | Settings for disabling rescheduling of this event type. Can be always disabled or disabled when less than X minutes before the meeting. |
hidden | boolean | No | — | The hidden value |
hideCalendarEventDetails | boolean | No | — | Hide Calendar Event Details |
hideCalendarNotes | boolean | No | — | Hide Calendar Notes |
hideOrganizerEmail | boolean | No | — | Boolean to Hide organizer’s email address from the booking screen, email notifications, and calendar events |
interfaceLanguage | string | No | — | Set preferred language for the booking interface. Use empty string for visitor’s browser language (default). |
lengthInMinutes | number | Yes | — | Length In Minutes |
lengthInMinutesOptions | string[] | No | — | If you want that user can choose between different lengths of the event you can specify them here. Must include the provided lengthInMinutes. |
locations | any[] | No | — | Locations where the event will take place. If not provided, cal video link will be used as the location. Note: Setting a location to a conferencing app does not install the app - the app must already be installed. Via API, only Google Meet (google-meet), Microsoft Teams (office365-video), and Zoom (zoom) can be installed. Cal Video (cal-video) is installed by default. All other conferencing apps must be connected via the Cal.com web app and are not available for Platform plan customers. You can only set an event type location to an app that has already been installed or connected. |
lockTimeZoneToggleOnBookingPage | boolean | No | — | Lock Time Zone Toggle On Booking Page |
minimumBookingNotice | number | No | — | Minimum number of minutes before the event that a booking can be made. |
offsetStart | number | No | — | Offset timeslots shown to bookers by a specified number of minutes |
onlyShowFirstAvailableSlot | boolean | No | — | This will limit your availability for this event type to one slot per day, scheduled at the earliest available time. |
recurrence | object | No | — | Create a recurring event type. |
requiresBookerEmailVerification | boolean | No | — | Requires Booker Email Verification |
scheduleId | number | No | — | If you want that this event has different schedule than user’s default one you can specify it here. |
seats | object | No | — | Create an event type with multiple seats. |
showOptimizedSlots | boolean | No | — | Arrange time slots to optimize availability. |
slotInterval | number | No | — | Number representing length of each slot when event is booked. By default it equal length of the event type. If event length is 60 minutes then we would have slots 9AM, 10AM, 11AM etc. but if it was changed to 30 minutes then we would have slots 9AM, 9:30AM, 10AM, 10:30AM etc. as the available times to book the 60 minute event. |
slug | string | Yes | — | The slug value |
successRedirectUrl | string | No | — | A valid URL where the booker will redirect to, once the booking is completed successfully |
title | string | Yes | — | The title value |
useDestinationCalendarEmail | boolean | No | — | Use Destination Calendar Email |
cal_event_types_controller_2024_06_14_delete_event_type
Delete an event type Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
cal-api-version | string | Yes | — | Must be set to 2024-06-14. If not set to this value, the endpoint will default to an older version. |
eventTypeId | number | Yes | — | Event Type Id |
cal_event_types_controller_2024_06_14_get_event_type_by_id
Get an event type Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
cal-api-version | string | Yes | — | Must be set to 2024-06-14. If not set to this value, the endpoint will default to an older version. |
eventTypeId | number | Yes | — | Event Type Id |
cal_event_types_controller_2024_06_14_get_event_types
Get all event types Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
cal-api-version | string | Yes | — | Must be set to 2024-06-14. If not set to this value, the endpoint will default to an older version. |
username | string | No | — | The username of the user to get event types for. If only username provided will get all event types. |
eventSlug | string | No | — | Slug of event type to return. Notably, if eventSlug is provided then username must be provided too, because multiple users can have event with same slug. |
usernames | string | No | — | Get dynamic event type for multiple usernames separated by comma. e.g usernames=alice,bob |
orgSlug | string | No | — | slug of the user’s organization if he is in one, orgId is not required if using this parameter |
orgId | number | No | — | ID of the organization of the user you want the get the event-types of, orgSlug is not needed when using this parameter |
sortCreatedAt | string | No | — | Sort event types by creation date. When not provided, no explicit ordering is applied. |
cal_event_types_controller_2024_06_14_update_event_type
Update an event type Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
cal-api-version | string | Yes | — | Must be set to 2024-06-14. If not set to this value, the endpoint will default to an older version. |
eventTypeId | number | Yes | — | Event Type Id |
afterEventBuffer | number | No | — | Extra time automatically blocked on your calendar after a meeting ends. This gives you time to wrap up, add notes, or decompress before your next commitment. |
allowReschedulingCancelledBookings | boolean | No | — | When enabled, users will be able to create a new booking when trying to reschedule a cancelled booking. |
allowReschedulingPastBookings | boolean | No | — | Enabling this option allows for past events to be rescheduled. |
beforeEventBuffer | number | No | — | Extra time automatically blocked on your calendar before a meeting starts. This gives you time to prepare, review notes, or transition from your previous activity. |
bookerActiveBookingsLimit | object | No | — | Limit the number of active bookings a booker can make for this event type. |
bookerLayouts | object | No | — | Should booker have week, month or column view. Specify default layout and enabled layouts user can pick. |
bookingFields | any[] | No | — | Complete set of booking form fields. This array replaces all existing booking fields. To modify existing fields, first fetch the current event type, then include all desired fields in this array. Sending only one field will remove all other custom fields, keeping only default fields plus the provided one. |
bookingLimitsCount | object | No | — | Limit how many times this event can be booked |
bookingLimitsDuration | object | No | — | Limit total amount of time that this event can be booked |
bookingRequiresAuthentication | boolean | No | — | Boolean to require authentication for booking this event type via api. If true, only authenticated users who are the event-type owner or org/team admin/owner can book this event type. |
bookingWindow | object | No | — | Limit how far in the future this event can be booked |
calVideoSettings | object | No | — | Cal video settings for the event type |
color | object | No | — | The color value |
confirmationPolicy | object | No | — | Specify how the booking needs to be manually confirmed before it is pushed to the integrations and a confirmation mail is sent. |
customName | string | No | — | Customizable event name with valid variables: {Event type title}, {Organiser}, {Scheduler}, {Location}, {Organiser first name}, {Scheduler first name}, {Scheduler last name}, {Event duration}, {LOCATION}, {HOST/ATTENDEE}, {HOST}, {ATTENDEE}, {USER} |
description | string | No | — | The description value |
destinationCalendar | object | No | — | Destination Calendar |
disableCancelling | object | No | — | Settings for disabling cancelling of this event type. |
disableGuests | boolean | No | — | If true, person booking this event can’t add guests via their emails. |
disableRescheduling | object | No | — | Settings for disabling rescheduling of this event type. Can be always disabled or disabled when less than X minutes before the meeting. |
hidden | boolean | No | — | The hidden value |
hideCalendarEventDetails | boolean | No | — | Hide Calendar Event Details |
hideCalendarNotes | boolean | No | — | Hide Calendar Notes |
hideOrganizerEmail | boolean | No | — | Boolean to Hide organizer’s email address from the booking screen, email notifications, and calendar events |
interfaceLanguage | string | No | — | Set preferred language for the booking interface. Use empty string for visitor’s browser language (default). |
lengthInMinutes | number | No | — | Length In Minutes |
lengthInMinutesOptions | string[] | No | — | If you want that user can choose between different lengths of the event you can specify them here. Must include the provided lengthInMinutes. |
locations | any[] | No | — | Locations where the event will take place. If not provided, cal video link will be used as the location. Note: Setting a location to a conferencing app does not install the app - the app must already be installed. Via API, only Google Meet (google-meet), Microsoft Teams (office365-video), and Zoom (zoom) can be installed. Cal Video (cal-video) is installed by default. All other conferencing apps must be connected via the Cal.com web app and are not available for Platform plan customers. You can only set an event type location to an app that has already been installed or connected. |
lockTimeZoneToggleOnBookingPage | boolean | No | — | Lock Time Zone Toggle On Booking Page |
minimumBookingNotice | number | No | — | Minimum number of minutes before the event that a booking can be made. |
offsetStart | number | No | — | Offset timeslots shown to bookers by a specified number of minutes |
onlyShowFirstAvailableSlot | boolean | No | — | This will limit your availability for this event type to one slot per day, scheduled at the earliest available time. |
recurrence | object | No | — | Create a recurring event type. |
requiresBookerEmailVerification | boolean | No | — | Requires Booker Email Verification |
scheduleId | number | No | — | If you want that this event has different schedule than user’s default one you can specify it here. |
seats | object | No | — | Create an event type with multiple seats. |
showOptimizedSlots | boolean | No | — | Arrange time slots to optimize availability. |
slotInterval | number | No | — | Number representing length of each slot when event is booked. By default it equal length of the event type. If event length is 60 minutes then we would have slots 9AM, 10AM, 11AM etc. but if it was changed to 30 minutes then we would have slots 9AM, 9:30AM, 10AM, 10:30AM etc. as the available times to book the 60 minute event. |
slug | string | No | — | The slug value |
successRedirectUrl | string | No | — | A valid URL where the booker will redirect to, once the booking is completed successfully |
title | string | No | — | The title value |
useDestinationCalendarEmail | boolean | No | — | Use Destination Calendar Email |
cal_event_types_type_webhooks_controller_create_event_type_webhook
Create a webhook Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
eventTypeId | number | Yes | — | Event Type Id |
active | boolean | Yes | — | The active value |
payloadTemplate | string | No | — | The template of the payload that will be sent to the subscriberUrl, check cal.com/docs/core-features/webhooks for more information |
secret | string | No | — | The secret value |
subscriberUrl | string | Yes | — | Subscriber Url |
triggers | string[] | Yes | — | The triggers value |
version | string | No | — | The version of the webhook |
cal_event_types_type_webhooks_controller_delete_all_event_type_webhooks
Delete all webhooks Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
eventTypeId | number | Yes | — | Event Type Id |
cal_event_types_type_webhooks_controller_delete_event_type_webhook
Delete a webhook Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
webhookId | string | Yes | — | Webhook Id |
eventTypeId | number | Yes | — | Event Type Id |
cal_event_types_type_webhooks_controller_get_event_type_webhook
Get a webhook Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
webhookId | string | Yes | — | Webhook Id |
eventTypeId | number | Yes | — | Event Type Id |
cal_event_types_type_webhooks_controller_get_event_type_webhooks
Get all webhooks Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
eventTypeId | number | Yes | — | Event Type Id |
take | number | No | — | Maximum number of items to return |
skip | number | No | — | Number of items to skip |
cal_event_types_type_webhooks_controller_update_event_type_webhook
Update a webhook Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
webhookId | string | Yes | — | Webhook Id |
eventTypeId | number | Yes | — | Event Type Id |
active | boolean | No | — | The active value |
payloadTemplate | string | No | — | The template of the payload that will be sent to the subscriberUrl, check cal.com/docs/core-features/webhooks for more information |
secret | string | No | — | The secret value |
subscriberUrl | string | No | — | Subscriber Url |
triggers | string[] | No | — | The triggers value |
version | string | No | — | The version of the webhook |

