Skip to main content
The times a booking type can start, for each teammate who takes it — the same free times the panel offers. A time is free when the appointment and its prep time both fit in the teammate’s working hours, clear of time off, busy times on their connected calendar, and their other upcoming appointments (with those appointments’ prep). The account’s minimum notice and how far ahead it can be booked are applied.
Needs the calendar:read scope.

Query parameters

Request

Response

200 OK — every free start, earliest first, in data; when several teammates are free at the same time, each is listed. Times are in the account’s timezone, with its offset. ends_at is when the appointment ends; prep time comes before starts_at. Pass a starts_at unchanged to POST /v1/calendar/appointments. Days past how far ahead the account takes bookings are left out. data is empty when nobody who takes the booking type is free — or when staff names someone who doesn’t take it.

Errors

Every refusal is {"error": {"code", "message", "field"}}; field is there when one input is at fault. Any request can also be refused for its key, its account or its rate (key_required, invalid_key, account_suspended, plan_excludes_api, address_not_allowed, rate_limited); see the overview.