POST
/
event-types
curl --request POST \
  --url https://api.cal.com/v1/event-types \
  --header 'Content-Type: application/json' \
  --data '{
  "title": "Hello World",
  "slug": "hello-world",
  "length": 30,
  "hidden": false,
  "position": 0,
  "eventName": null,
  "timeZone": null,
  "scheduleId": 5,
  "periodType": "UNLIMITED",
  "periodStartDate": "2023-02-15T08:46:16.000Z",
  "periodEndDate": "2023-0-15T08:46:16.000Z",
  "periodDays": null,
  "periodCountCalendarDays": false,
  "requiresConfirmation": false,
  "recurringEvent": null,
  "disableGuests": false,
  "hideCalendarNotes": false,
  "minimumBookingNotice": 120,
  "beforeEventBuffer": 0,
  "afterEventBuffer": 0,
  "price": 0,
  "currency": "usd",
  "slotInterval": null,
  "successRedirectUrl": null,
  "description": "A test event type",
  "metadata": {
    "apps": {
      "stripe": {
        "price": 0,
        "enabled": false,
        "currency": "usd"
      }
    }
  }
}'

Authorizations

apiKey
string
queryrequired

Query Parameters

apiKey
string
required

Your API Key

Body

application/json
length
integer
required

Duration of the event type in minutes

metadata
object
required

Metadata relating to event type. Pass {} if empty

title
string
required

Title of the event type

slug
string
required

Unique slug for the event type

hosts
object[]
hidden
boolean

If the event type should be hidden from your public booking page

scheduleId
number

The ID of the schedule for this event type

position
integer

The position of the event type on the public booking page

teamId
integer

Team ID if the event type should belong to a team

periodType
enum<string>

To decide how far into the future an invitee can book an event with you

Available options:
UNLIMITED,
ROLLING,
RANGE
periodStartDate
string

Start date of bookable period (Required if periodType is 'range')

periodEndDate
string

End date of bookable period (Required if periodType is 'range')

periodDays
integer

Number of bookable days (Required if periodType is rolling)

periodCountCalendarDays
boolean

If calendar days should be counted for period days

requiresConfirmation
boolean

If the event type should require your confirmation before completing the booking

recurringEvent
object

If the event should recur every week/month/year with the selected frequency

disableGuests
boolean

If the event type should disable adding guests to the booking

hideCalendarNotes
boolean

If the calendar notes should be hidden from the booking

minimumBookingNotice
integer

Minimum time in minutes before the event is bookable

beforeEventBuffer
integer

Number of minutes of buffer time before a Cal Event

afterEventBuffer
integer

Number of minutes of buffer time after a Cal Event

schedulingType
enum<string>

The type of scheduling if a Team event. Required for team events only

Available options:
ROUND_ROBIN,
COLLECTIVE,
MANAGED
price
integer

Price of the event type booking

parentId
integer

EventTypeId of the parent managed event

currency
string

Currency acronym. Eg- usd, eur, gbp, etc.

slotInterval
integer

The intervals of available bookable slots in minutes

successRedirectUrl
string

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

description
string

Description of the event type

locations
array

A list of all available locations for the event type