Skip to main content

About

Schedule and manage appointments, attach SMS reminders and linked contacts, and read or replace the key owner’s availability schedule. Enough for an integration or agent to book, reschedule, and cancel appointments and to drive the open slots the booking pages offer. All operations go through the developer API gateway — one endpoint, called by operationId. If you haven’t set up a key yet, start with the Developer API Overview.

Operations

Reading appointments and availability (READ scope)

Writing appointments and availability (WRITE scope)

Check calendarSync before reporting an inviteBoth appointment writes return calendarSync. Only SYNCED means the external Google/Microsoft event exists and guests were invited. NOT_REQUESTED, SKIPPED_NO_ACCESS, SKIPPED_WRITE_BLOCKED, and FAILED mean the appointment was recorded in Goliath but the external calendar did not reach the requested state. On an update, guests may still see the old time. Report that distinction explicitly.listAppointments is not a complete provider-level availability check, so a clear result means only that the visible Goliath calendar looks clear — not that every participant is free.
Organization guardAny appointment, contact, or reminder id you pass is org-guarded — supplying a foreign organization’s id returns 403 forbidden. This covers the appointmentId on update/delete, contactIds/addContactIds, participant userIds/addUserIds, and the appointmentReminderWorkflowGroupId. The availability operations (getMyAvailabilitySchedule, setMyAvailabilitySchedule) take no entity id and always act on your own schedule. See Authorization for the model.

Example

Create an appointment:
Full variable schemas, response shapes, and worked examples for every operation are available from the discovery endpoint.