Query Parameters
Every list endpoint accepts the following pagination query parameters:Response Envelope
Every list response wraps results in a consistent JSON envelope:meta object contains the fields you need to drive pagination logic:
Cursor strings are opaque — they are base64-encoded and their internal structure may change. Treat them as black-box tokens and never attempt to construct or decode them manually.
Iterating Through All Pages
To retrieve all records from a list endpoint, keep making requests using thenext_cursor from the previous response until has_more is false. The following JavaScript example demonstrates this pattern for fetching all appointments:
Filtering
Most list endpoints accept additional query parameters to narrow results without changing the pagination behavior. Filters combine withlimit and cursor in the same query string.
Appointment filters
Appointment filters
Example — fetch confirmed appointments for a specific professional this week:
Patient filters
Patient filters
Payment filters
Payment filters
Sorting
The default sort order for all list endpoints iscreated_at DESC — newest records first.
For the /v1/appointments endpoint you can override sorting using the sort and order parameters:
Example — fetch upcoming appointments in chronological order:
Cursors are tied to the sort order used when they were generated. If you change the
sort or order parameters mid-pagination, you must restart from the first page (omit the cursor parameter).