Skip to main content
Version: Latest

Appointments

Review, confirm, cancel, or take over appointment requests.

📄️Handle an appointment request

Performs one staff action for an appointment owned by the application. The application API key determines ownership; unknown and cross-application appointment IDs both return APPOINTMENT_NOT_FOUND. Reusing the same Idempotency-Key with the same body replays the stored response. Idempotency-Key is unique across the application: retries must keep the same appointment, effective action and request body. Reuse for another target/action/body returns 400 INVALID_APPOINTMENT_ACTION_PAYLOAD. Use a new key for each new action.

📄️Update an appointment

Edits confirmed or pending appointments; an edit does not approve a pending request. Expected version and Idempotency-Key required. Rechecks availability and validates questions. Version/state conflicts return 400, matching the staff-action endpoint. Identical action retries replay before checking the prior version. Idempotency-Key is unique across the application: retries must keep the same appointment, effective action and request body. Reuse for another target/action/body returns 400 INVALID_APPOINTMENT_ACTION_PAYLOAD. Use a new key for each new action.

📄️List workspace appointments

Application-scoped paginated list, including public, API and conversation appointments. Owned Google events are reconciled asynchronously when automatic synchronization is enabled and refreshed on reads; edits do not approve pending requests. Deletion of a confirmed event or a declined RSVP from the booking attendee cancels the reservation and releases its local time block. Other guests declining do not cancel it. External changes may advance the appointment version.