v1

latestOpenAPI 3.0.32026-07-131670112.4 KB
Event Types

Create event type

Create a new assignable assignment type. The slug is used in the public manifest link (/assign/:username/:slug). Set requires_confirmation: true to put new bookings in a pending state — you will receive an email with one-click confirm/decline links, and the attendee is notified their request is under review.

post/v1/event-types

Request body

titlestring required
slugstring
descriptionstring
appointment_labelstring
duration_minutesinteger required
buffer_beforeinteger
buffer_afterinteger
min_notice_minutesinteger
max_bookings_per_dayinteger
locationstring
location_type'video' | 'phone' | 'in_person' | 'other'
webhook_urlstring

POST this URL when a booking is created for this event type

custom_fieldsstring

JSON array of custom field definitions shown on the booking form

requires_confirmationboolean

If true, new bookings are held as pending until the host confirms or declines via email link or dashboard

Response

Default Response

Idinteger
titlestring
slugstring
descriptionstring
appointment_labelstring

Custom noun shown to attendees — "appointment", "inspection", "session", etc.

duration_minutesinteger
buffer_beforeinteger
buffer_afterinteger
min_notice_minutesinteger

Minimum advance notice required to book (minutes)

max_bookings_per_dayinteger
locationstring
location_type'video' | 'phone' | 'in_person' | 'other'
webhook_urlstring
custom_fieldsstring

JSON array of custom field definitions

requires_confirmationboolean

Require host to confirm each booking before it is finalized

activeboolean

Example response

{
  "Id": 14,
  "title": "Incident Triage",
  "slug": "incident-triage",
  "description": "Quick ops intake for new incidents.",
  "appointment_label": "assignment",
  "duration_minutes": 30,
  "buffer_before": 0,
  "buffer_after": 15,
  "min_notice_minutes": 60,
  "max_bookings_per_day": 8,
  "location": "Google Meet",
  "location_type": "video",
  "webhook_url": "https://example.com/hooks/bookings",
  "custom_fields": "[{\"id\":\"site\",\"label\":\"Site\",\"type\":\"text\"}]",
  "requires_confirmation": false,
  "active": true
}