POST
/
v2
/
event-types

Headers

cal-api-version
string
required

Must be set to 2024-06-14

Authorization
string
required

value must be Bearer <token> where <token> either managed user access token or api key prefixed with cal_

Body

application/json
lengthInMinutes
number
required
lengthInMinutesOptions
string[]
required

If you want that user can choose between different lengths of the event you can specify them here. Must include the provided lengthInMinutes.

slug
string
required
title
string
required
afterEventBuffer
number

Time spaces that can be appended after an event to give more time after it.

beforeEventBuffer
number

Time spaces that can be pre-pended before an event to give more time before it.

bookerLayouts
object

Should booker have week, month or column view. Specify default layout and enabled layouts user can pick.

bookingFields
object[]

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

Limit how many times this event can be booked

bookingLimitsDuration
object

Limit total amount of time that this event can be booked

bookingWindow
object

Limit how far in the future this event can be booked

color
object
confirmationPolicy
object

Specify how the booking needs to be manually confirmed before it is pushed to the integrations and a confirmation mail is sent.

customName
string

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
destinationCalendar
object
disableGuests
boolean

If true, person booking this event't cant add guests via their emails.

hideCalendarEventDetails
boolean
hideCalendarNotes
boolean
locations
object[]

Locations where the event will take place. If not provided, cal video link will be used as the location.

lockTimeZoneToggleOnBookingPage
boolean
minimumBookingNotice
number

Minimum number of minutes before the event that a booking can be made.

offsetStart
number

Offset timeslots shown to bookers by a specified number of minutes

onlyShowFirstAvailableSlot
boolean

This will limit your availability for this event type to one slot per day, scheduled at the earliest available time.

recurrence
object

Create a recurring event type.

requiresBookerEmailVerification
boolean
scheduleId
number

If you want that this event has different schedule than user's default one you can specify it here.

seats
object

Create an event type with multiple seats.

slotInterval
number

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.

successRedirectUrl
string

A valid URL where the booker will redirect to, once the booking is completed successfully

useDestinationCalendarEmail
boolean

Response

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