Pagination

Every list on the Kesk API is a Relay connection, paged with cursors. There is one model to write against, and the same paginator works on products, orders, locations, bots, webhooks, units and every vertical-specific list.

Arguments: first / after to page forward, last / before to page backward.

The connection exposes:

FieldMeaning
nodes
The items directly — use this unless you need cursors
edges
{ node, cursor } pairs, when you need a per-item cursor
totalCount
Items matching the query, ignoring pagination
pageInfo.hasNextPage
Another page exists going forward
pageInfo.endCursor
Pass as after to fetch the next page
pageInfo.hasPreviousPage / startCursor
The backward equivalents

Cursors are opaque. Do not parse, construct, or persist them long-term.

Counting results

Every connection exposes totalCount — the number of items matching the query with pagination ignored — so "142 orders" or a "page 3 of 12" control needs one request rather than a walk of every page.

The schema defines it as the items "matching the query, ignoring pagination", so it reflects whatever filters you passed and changes when they do — it is not a total for the collection.

Rate limits apply

Paging a large set is many requests. At 1000 requests per minute you can exhaust the budget quickly with a small page size. Use the largest page size the field accepts, and see Rate limits.

Built with