Pagination
Every list endpoint on the Partner API pages the same way: page-number pagination with a
data array and a pagination envelope. There are no cursors and no Link headers.
Parameters
Section titled “Parameters”| Query parameter | Type | Default | Constraint |
|---|---|---|---|
page | integer | 1 | 1-based; 0 or negative is a 400 |
pageSize | integer | 20 | 1–100; anything outside is a 400 |
Filters specific to a collection (for example species on animals, provider / status on
social channels, or the required animalId on health records) sit alongside these two and
are documented per operation in the API reference.
Response envelope
Section titled “Response envelope”GET /api/order/v1/orders?page=2&pageSize=50{ "data": [ { "id": "…" }, { "id": "…" } ], "pagination": { "page": 2, "pageSize": 50, "total": 137 }}| Field | Meaning |
|---|---|
data | The items on this page, in the collection’s natural order. Empty array — never 404 — when the page is past the end. |
pagination.page | The page you asked for, echoed back. |
pagination.pageSize | The page size you asked for, echoed back. |
pagination.total | Total items matching the request across all pages. |
Walking a collection
Section titled “Walking a collection”Stop when page * pageSize >= total, or when data comes back empty — both are safe:
page = 1while True: body = get(f"/api/order/v1/orders?page={page}&pageSize=100") yield from body["data"] if page * body["pagination"]["pageSize"] >= body["pagination"]["total"]: break page += 1