Pagination

Pagination

List endpoints return results a page at a time. Every paged response has the same envelope: a data array holding the results, and a pagination object telling you where you are.

{
  "data": [
    { "id": "…", "…": "…" },
    { "id": "…", "…": "…" }
  ],
  "pagination": {
    "offset": 0,
    "limit": 20,
    "hasMore": true
  }
}

Requesting a page

Control paging with two query parameters:

ParameterMeaning
offsetHow many results to skip. Defaults to 0.
limitMaximum number of results to return in one page.
GET /v2/sales/properties?offset=40&limit=20

The response echoes the offset and limit that were actually applied — the maximum limit is 100 items.

Walking through all pages

hasMore tells you whether another page exists. To fetch everything, keep requesting with offset increased by limit until hasMore is false:

offset=0,  limit=50  → hasMore: true
offset=50, limit=50  → hasMore: true
offset=100, limit=50 → hasMore: false   // done

There is no total count in the response — hasMore is all you need to iterate, and it stays fast however large the underlying collection is.

Things to keep in mind

  • Page through, don't over-fetch. Request the page size you'll actually use rather than always asking for the maximum — smaller responses are faster.
  • Every list endpoint pages the same way. If an endpoint returns a collection, it accepts offset and limit and returns this envelope. Endpoint-specific filters are documented on each endpoint in the reference.


Did this page help you?