API: bookings
List a team’s bookings and swap a reserved pool member.
All paths are under https://api.quorumcal.com. Send Authorization: Bearer <token>, and optionally Quorum-Version: 2026-10-20. Body properties are listed as arguments with In = body.
bookings swap
Section titled “bookings swap”Swap one reserved pool member for another: POST /v1/me/bookings/{bookingId}/swap
For the booking’s host or a team admin. to must be in the same pool as from, still sharing availability with the link, and free at the booking’s time (calendar, reservations and buffers are checked again under the same locks as a booking; working hours are not). The calendar event’s guests are updated in place and Google emails the change. An unavailable replacement answers 409 unavailable.
- Needs:
bookings:write(not for credentials limited to some orgs) - CLI:
quorum bookings swap - MCP tool:
bookings_swap - Returns:
200 SwapBookingMemberResult
| Argument | In | Type | Required | Description |
|---|---|---|---|---|
bookingId |
path | string (uuid) | yes | |
from |
body | string (uuid) | yes | The reserved pool member to replace |
to |
body | string (uuid) | yes | Another member of the same pool |
team bookings swap
Section titled “team bookings swap”Swap one reserved pool member for another: POST /v1/orgs/{handle}/teams/{teamPath}/bookings/{bookingId}/swap
For the booking’s host or a team admin. to must be in the same pool as from, still sharing availability with the link, and free at the booking’s time (calendar, reservations and buffers are checked again under the same locks as a booking; working hours are not). The calendar event’s guests are updated in place and Google emails the change. An unavailable replacement answers 409 unavailable.
- Needs:
bookings:write - CLI:
quorum team bookings swap - MCP tool:
team_bookings_swap - Returns:
200 SwapBookingMemberResult
| Argument | In | Type | Required | Description |
|---|---|---|---|---|
handle |
path | string | yes | |
teamPath |
path | string | yes | The team’s slug or id |
bookingId |
path | string (uuid) | yes | |
from |
body | string (uuid) | yes | The reserved pool member to replace |
to |
body | string (uuid) | yes | Another member of the same pool |