The public API does not paginate
Public responses use ameta and data envelope with a count:
meta.count equals data.length — it is a convenience, not a total across pages.
The list envelope elsewhere
Paginated list endpoints across the rest of the API share one envelope:array
The rows for this page.
integer
Rows matching the filter across all pages — not
items.length.integer
The requested page, echoed back so you need not trust your own request state.
integer
The requested page size, echoed back.
kpis, facets, pending — at the same level as items.
Parameters
integer
default:"1"
1-indexed. Minimum 1.
integer
default:"50"
Rows per page. Minimum 1, maximum 100. Requesting more fails validation with
400.Iterating
Compute the page count fromtotal and pageSize rather than looping until an empty page — it saves a request and is robust to rows being added mid-iteration.
Pagination is offset-based, not cursor-based. Rows inserted or deleted between page requests can shift the window, so a long iteration over a changing dataset may see a row twice or miss one. For anything where that matters, filter to a closed period — a past month — rather than iterating a live list.