eventTypeId | integer | Yes | Must be greater than 0. |
lengthInMinutes | number | No | — |
lengthInMinutesOptions | number[] | No | If you want that user can choose between different lengths of the event you can specify them here. Must include the provided lengthInMinutes. |
title | string | No | — |
slug | string | No | — |
description | string | No | — |
bookingFields | object[] | 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. |
slotInterval | number | No | Slot interval in minutes. It defaults to the event length. |
minimumBookingNotice | number | No | Minimum number of minutes before the event that a booking can be made. |
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. |
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. |
scheduleId | number | No | If you want that this event has different schedule than user’s default one you can specify it here. |
bookingLimitsCount | object | No | Limit how many times this event can be booked |
bookerActiveBookingsLimit | object | No | Limit the number of active bookings a booker can make for this event type. |
onlyShowFirstAvailableSlot | boolean | No | This will limit your availability for this event type to one slot per day, scheduled at the earliest available time. |
bookingLimitsDuration | object | No | Limit total amount of time that this event can be booked |
bookingWindow | object | No | Limit how far in the future this event can be booked |
offsetStart | number | No | Offset time slots shown to bookers by the specified number of minutes. |
bookerLayouts | JSON value | No | Should booker have week, month or column view. Specify default layout and enabled layouts user can pick. |
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. |
bookingProposalCount | number | null | No | — |
recurrence | object | No | Create a recurring event type. |
requiresBookerEmailVerification | boolean | No | — |
skipAttendeeEmailDeliverabilityCheck | boolean | No | When true, skips the MX deliverability check for attendee emails on booking. Format validation and watchlist still apply. Requires the editor to belong to an organization, including a platform organization. |
emailSettings | JSON value | No | Email settings for this event type. Personal event types require an accepted organization membership; team event types require an organization team. This does not include emails sent by custom email workflows. |
hideCalendarNotes | boolean | No | — |
lockTimeZoneToggleOnBookingPage | boolean | No | — |
color | object | No | — |
seats | object | No | Create an event type with multiple seats. |
customName | string | No | Customizable event name with valid variables: {Link title}, {Event type title} (legacy), {Organiser}, {Scheduler}, {Location}, {Organiser first name}, {Scheduler first name}, {Scheduler last name}, {Event duration}, {LOCATION}, {HOST/ATTENDEE}, {HOST}, {ATTENDEE}, {USER} |
destinationCalendar | object | No | — |
useDestinationCalendarEmail | boolean | No | — |
hideCalendarEventDetails | boolean | No | — |
successRedirectUrl | string | No | A valid URL where the booker will redirect to, once the booking is completed successfully |
hideOrganizerEmail | boolean | No | Boolean to Hide organizer’s email address from the booking screen, email notifications, and calendar events |
calVideoSettings | JSON value | No | Cal video settings for the event type |
hidden | boolean | No | — |
bookingRequiresAuthentication | boolean | No | Whether booking this event type through the API requires authentication. When true, only the event-type owner or an organization or team administrator or owner can book it. Default: false. |
disableCancelling | JSON value | No | Settings for disabling cancelling of this event type. |
disableRescheduling | JSON value | No | Settings for disabling rescheduling of this event type. Can be always disabled or disabled when less than X minutes before the meeting. |
interfaceLanguage | string enum | No | Set preferred language for the booking interface. Use empty string for visitor’s browser language (default). |
allowReschedulingPastBookings | boolean | No | Enabling this option allows for past events to be rescheduled. Default: false. |
allowReschedulingCancelledBookings | boolean | No | When enabled, users will be able to create a new booking when trying to reschedule a cancelled booking. Default: false. |
showOptimizedSlots | boolean | No | Arrange time slots to optimize availability. Default: false. |
privateNoteEnabled | boolean | No | When enabled, a private note calendar event is created alongside the booking with the resolved template as its description. Only visible to the host. Default: false. |
privateNoteMode | JSON value | No | How private notes are delivered: as an additional host event or by sending separate host and guest invites. |
privateNoteTemplate | string | No | Template for the private note content. Supports variables like {Attendee name}, {Link title}, {Event type title} (legacy), {Location}, {Host name}, {Event duration}, and custom booking field names. |
locations | object[] | 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. |