Bookings API
Hosts
An API key belongs to the workspace, so endpoints that act for one person take that person's user ID as hostUserId. It must be an active user in the key's workspace; anyone else returns 404 with No active user with that hostUserId in this workspace.
List hosts
GET /api/v1/booking-hosts HTTP/1.1Requires read:bookings. Returns every active user:
{
"hosts": [
{
"id": "cmq1user0alk34567890",
"name": "Kevin Shah",
"email": "kevin@example.com",
"timezone": "America/New_York",
"timezoneInherited": false,
"bookingSlug": "kevin",
"defaultHours": [{ "weekday": 1, "start": "09:00", "end": "17:00" }]
}
]
}timezoneInherited is true when the host has no timezone of their own and the workspace's is used.
GET /api/v1/booking-hosts/{id} returns one host as { "host": { ... } }.
Change timezone or default hours
PATCH /api/v1/booking-hosts/cmq1user0alk34567890 HTTP/1.1
Content-Type: application/json
{ "timezone": "America/Chicago" }Requires write:bookings. Send timezone, defaultHours, or both.
timezoneis an IANA name. It moves every one of the host's meeting types at once, because their hours are read on the host's clock.defaultHoursonly seeds new meeting types; existing types keep their own hours.[]clears them.