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.
Read an appointment
Application API key required. Reconciles the linked Google event and returns the current version. Unknown and cross-application IDs both return 404.
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.
Cancel an appointment
Cancels the reservation and removes its Google event while preserving its audit record. Pending requests become rejected. Current version and Idempotency-Key required. Version/state conflicts return 400. 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.
Create an appointment through the API
Application API key required. Shared booking policies and question validation apply. Stored source is api; operationId is scoped to application/workspace. Retry identical payloads with the same UUID.
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.