agentlyleads docs
Bookings API

Cancel and reschedule

Both actions are taken as the host. The invitee is emailed; the host is not emailed about their own action. Both require write:bookings.

Cancel

POST /api/v1/bookings/cmq9book0alk34567890/cancel HTTP/1.1
Content-Type: application/json

{ "reason": "I'm travelling that week. Please pick another time." }

The body is optional. reason (up to 500 characters) is shown to the invitee.

Cancelling emails the invitee, removes the event from the host's Google or Outlook calendar, and keeps the CRM task, marked done, as Cancelled: .... It cannot be undone: the invitee would have to book again.

Returns { "booking": { ... "status": "CANCELLED", "cancelledBy": "host" } }. A second cancel returns 409: This meeting has already been cancelled.

Find a new time

GET /api/v1/bookings/{id}/slots takes the same from, to and timezone parameters as the meeting type's slots, but counts the booking's own time as free, so a 14:00 meeting can move to 14:15. Requires read:bookings.

Reschedule

POST /api/v1/bookings/cmq9book0alk34567890/reschedule HTTP/1.1
Content-Type: application/json

{ "startAt": "2026-10-06T14:00:00.000Z" }

The new time must be open. The invitee is emailed, and the invitation already in their calendar moves to the new time rather than a second one appearing: the booking's sequence goes up by one. The event on the host's calendar moves too.

StatusWhen
200Moved. Returns { "booking": { ... } }
404No booking with that ID in this workspace
409The time is taken, the meeting is cancelled, or its meeting type is paused, its host deactivated or the workspace suspended

On this page