agentlyleads docs
Bookings API

Meeting types

A meeting type is one host's booking page: its length, hours, location and rules. Reads need read:bookings; changes need write:bookings.

MethodPathDoes
GET/api/v1/booking-typesList live types. Add includeInactive=true for paused ones, hostUserId= for one host
POST/api/v1/booking-typesCreate a type for a host
GET/api/v1/booking-types/{id}Read one
PATCH/api/v1/booking-types/{id}Change any fields. active: false pauses it
DELETE/api/v1/booking-types/{id}Archive it

Create

POST /api/v1/booking-types HTTP/1.1
Content-Type: application/json

{
  "hostUserId": "cmq1user0alk34567890",
  "title": "Intro call",
  "durationMin": 30,
  "hours": [
    { "weekday": 1, "start": "09:00", "end": "12:00" },
    { "weekday": 1, "start": "13:00", "end": "17:00" }
  ],
  "locationKind": "GOOGLE_MEET",
  "reminderMinutes": 60
}

hostUserId, title, durationMin, hours and locationKind are required. Returns 201 with { "bookingType": { ... } }, including publicUrl once the host has a booking slug.

Fields

FieldNotes
titleUp to 120 characters
slugURL slug, unique per host. Defaults to one made from the title. Changing it breaks the old link
descriptionUp to 2,000 characters
durationMin5 to 480, and it must fit inside at least one window
hoursWeekly windows { weekday, start, end }. weekday 0 is Sunday. Times are HH:MM wall clock in the host's timezone. Two windows on one day must not overlap
dateOverrides{ date, windows } entries that replace one date's hours. See Hours
locationKindPHONE_HOST_CALLS, PHONE_INVITEE_CALLS, IN_PERSON, CUSTOM_LINK, GOOGLE_MEET, MS_TEAMS or ZOOM
locationValueAddress, link or number, where the location needs one
bufferBeforeMin, bufferAfterMin0 to 240
minNoticeMin0 to 43,200. Default 120
horizonDaysHow far ahead people can book, 1 to 365. Default 30
maxPerDayMeetings booked per day, 1 to 50, or null for no cap
slotIntervalMinMinutes between offered start times, 5 to 480. Null uses the meeting length
activefalse pauses it
hiddenBookable by direct link but left off the host's landing page
questionsUp to 10 booking-form questions { id, label, kind, required, options? }
allowGuestsDefault true
confirmationMessageUp to 1,000 characters
redirectUrlMust start with https://
reminderMinutesEmail the invitee 15 to 10,080 minutes before, or null for no reminder
color#rrggbb

GOOGLE_MEET, MS_TEAMS and ZOOM need the host's calendar or Zoom account connected in Scheduling first. Otherwise the request returns 400 saying which one to connect.

Pause or archive

  • Pause: PATCH with { "active": false }. Nothing new can be booked; existing bookings are kept and can still be cancelled. { "active": true } turns it back on.
  • Archive: DELETE. The public link stops working, the slug is freed for reuse, and the type disappears from every list. Its bookings, past and upcoming, are kept. Archiving cannot be undone through the API.

On this page