Integration workflows
Create a reservation safely
- Fetch services and providers.
- Fetch availability for the intended time range.
- Select a returned slot and retain its
availabilityId,serviceId,providerId,start, andend. - Resolve or create the customer.
- Submit one reservation using the exact slot identity.
- Handle
403by refreshing availability.
Reservation creation re-runs the availability engine. It is not an administrative bypass.
Reschedule through the API
Send one or more of start, end, and providerId to reservations/edit/. The endpoint dispatches the coordinated reschedule flow, preserving notification, history, Google Calendar, Zoom, and webhook behavior.
Both timestamps must form a valid interval. The public edit operation is intended for trusted integrations; use current availability before selecting the new values.
Add custom data
Mutation endpoints accept resource-specific core fields. Reservation custom fields may be sent inside data or as additional top-level keys. Core reservation keys are:
serviceIdcustomerIdproviderIdstartendstatus
Idempotency
The API does not expose an idempotency-key contract. External systems should store returned IDs and avoid retrying successful create requests blindly.
Event-driven synchronization
Use API reads for reconciliation and webhooks for low-latency changes. Webhook delivery is synchronous and has no retry queue in version 4, so receivers should still run periodic reconciliation for critical data.