List bookings
Lists bookings, newest first by default. To find a client's appointments from what you know about them, pass `phone` and/or `email`: the client is matched the same way booking matches a contact (any stored phone format), and the response adds `contact_found` and `matched_contacts` (more than one person can share a phone). Each matched contact carries `client_status`: `returning` when they have a past visit (an appointment completed, checked in or passed), otherwise `new`. For a "what are my upcoming appointments" lookup use `from` = now, `order=asc` and `exclude_cancelled=true`.
Authorization
ApiKeyAuth Send your API key as a bearer token: Authorization: Bearer bp_sk_live_.... Mint and revoke keys in your dashboard under Settings -> Developers.
In: header
Query Parameters
Restrict to a single location. Must be one the key can access.
uuidOnly bookings of the contact(s) with this phone number (any format; at least 7 digits).
Only bookings of the contact(s) with this email (case-insensitive exact match).
Leave out cancelled bookings.
falseSort by start time, desc (newest first, the default) or asc (soonest first).
"desc"Value in
- "asc"
- "desc"
Include bookings starting on/after this date-time.
date-timeInclude bookings starting before this date-time.
date-timeuuid1 <= value <= 10025The next_cursor from a previous page.
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/bookings"{ "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795", "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598", "service_id": "641e839f-864e-4cce-98f9-40f6cbb3e9e0", "technician_id": "557e6e8c-3c29-4825-b73f-0884ad39f2d9", "start": "2019-08-24T14:15:22Z", "end": "2019-08-24T14:15:22Z", "status": "booked", "status_name": "string", "staff_busy": [ { "start": "2019-08-24T14:15:22Z", "end": "2019-08-24T14:15:22Z" } ], "source": "string", "created_at": "2019-08-24T14:15:22Z", "slug": "string" } ], "next_cursor": "string", "contact_found": true, "matched_contacts": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "first_name": "string", "last_name": "string", "phone": "string", "email": "string", "client_status": "new" } ]}Retrieve a booking
Previous Page
Reschedule a booking
Moves a booking to a new start time (and optionally to another staff member). The new start is re-checked exactly like create: working and location hours, existing bookings, classes, rooms, and the booking rules. When `technician_id` names a different staff member, the visit is re-sized for that person (their own duration, waiting period and cleanup time for each service); each service keeps its quantity, price and room. A cancelled booking cannot be rescheduled (`409 booking_cancelled`); create a new one.