Skip to content

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.

Query parameterTypeDefaultConstraint
pageinteger11-based; 0 or negative is a 400
pageSizeinteger201–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.

GET /api/order/v1/orders?page=2&pageSize=50
{
"data": [ { "id": "…" }, { "id": "…" } ],
"pagination": { "page": 2, "pageSize": 50, "total": 137 }
}
FieldMeaning
dataThe items on this page, in the collection’s natural order. Empty array — never 404 — when the page is past the end.
pagination.pageThe page you asked for, echoed back.
pagination.pageSizeThe page size you asked for, echoed back.
pagination.totalTotal items matching the request across all pages.

Stop when page * pageSize >= total, or when data comes back empty — both are safe:

page = 1
while 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