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
query
required

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

slug
string
required

Unique slug for the event type

title
string
required

Title of the event type

afterEventBuffer
integer

Number of minutes of buffer time after a Cal Event

beforeEventBuffer
integer

Number of minutes of buffer time before a Cal Event

currency
string

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

description
string

Description of the event type

disableGuests
boolean

If the event type should disable adding guests to the booking

hidden
boolean

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

hideCalendarNotes
boolean

If the calendar notes should be hidden from the booking

hosts
object[]
locations
array

A list of all available locations for the event type

minimumBookingNotice
integer

Minimum time in minutes before the event is bookable

parentId
integer

EventTypeId of the parent managed event

periodCountCalendarDays
boolean

If calendar days should be counted for period days

periodDays
integer

Number of bookable days (Required if periodType is rolling)

periodEndDate
string

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

periodStartDate
string

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

periodType
enum<string>

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

Available options:
UNLIMITED,
ROLLING,
RANGE
position
integer

The position of the event type on the public booking page

price
integer

Price of the event type booking

recurringEvent
object

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

requiresConfirmation
boolean

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

scheduleId
number

The ID of the schedule for this event type

schedulingType
enum<string>

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

Available options:
ROUND_ROBIN,
COLLECTIVE,
MANAGED
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

teamId
integer

Team ID if the event type should belong to a team