The v2 API uses two pagination styles, each fitting the underlying data model. Knowing which style applies to which endpoint lets you build a uniform client that handles both.
The default for v2 list endpoints. take is the page size; skip is the offset from the start.
Request
Response
The response includes a meta.pagination block alongside data:
Example: paging through audit logs
Custom offset (discovery)
Discovery returns nested results — product groups, each containing several products — so it exposes two independent offsets. This lets you page through groups without re-fetching products you’ve already seen, and vice versa.
Request
Response
hasMoreGroups tells you whether to advance groupOffset for another page of groups. summary.totalProducts is the full denormalized total across all groups.
Per-endpoint quick reference
When in doubt, inspect the response. Offset endpoints expose
meta.pagination.hasMore; discovery exposes hasMoreGroups directly on
data.
Don’t assume total is cheap to compute. For high-cardinality endpoints
(audit logs, reporting metrics) prefer to consume pages with hasMore rather
than computing Math.ceil(total / take) and looping — the count may be an
estimate.