Returns the appointments of the Location as a cursor-paginated list, newest window first by start time with a stable tie-breaker. Client contact data inside expand[]=client uses redacted contact fields without clients:read_contact.
Cancelled appointments are included; filter them out on the status field. There is no status query parameter in the first iteration.
Cursor-paginated list. Default ordering: starts_at desc, id tie-breaker. Cursors use the cursor query parameter, expire after 15 minutes, and are bound to the credential, tenant, and filters. Expired, malformed, or foreign cursors fail with 422 validation_failed using field codes expired_cursor, invalid_cursor, or foreign_cursor.
- Mock serverhttps://developer.alteg.io/_mock/en/b2b-v3/openapi/locations/{location_id}/appointments
- Preview resource API contract - endpoint surface is not live yethttps://api.alteg.io/api/v3/locations/{location_id}/appointments
- OAuth2
- RestrictedKey
curl -i -X GET \
'https://developer.alteg.io/_mock/en/b2b-v3/openapi/locations/{location_id}/appointments?starts_at_from=2019-08-24T14%3A15%3A22Z&starts_at_to=2019-08-24T14%3A15%3A22Z&team_member_id=0&client_id=0&limit=25&cursor=string&expand%5B%5D=client' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'A page of appointments.
Requests left in the most constrained policy window that applies to this request.
On 429, seconds until the most constrained policy frees up; it equals Retry-After there. On a successful response it reports the length of that policy's window rather than the time left in the current one, so treat it as the window size, not as a countdown — the counter to pace against is RateLimit-Remaining.
Most constrained policy applied to the request, as <limit>;w=<window in seconds>.
{ "object": "list", "data": [ { … } ], "has_more": true, "next_cursor": "cur_appt_01J3K6Y8Q4W5E9R2T7A1B0C3D4" }