Pagination
Most endpoints that return a list, such as participants and transactions, are paginated. Each response holds a limited number of items, and you fetch the rest with further requests. A paginated response also says how to fetch the next batch.
Make the first call:
GET .../participantsThe response is JSON with two keys: items, which holds the data, and pagination, which holds the paging details. When there is more to fetch, pagination contains a lastEvaluatedKey. Pass it back as a query parameter to get the next page:
GET .../participants?lastEvaluatedKey=eyJpZCI6IjgzOD...As long as hasMore is true and lastEvaluatedKey is present, there is more to fetch. On the last page hasMore is false. lastEvaluatedKey can be absent on the last page even when hasMore is false.
Two things to know:
- There is no way to ask how many pages remain.
- If the last page is exactly as full as the limit you asked for, a lastEvaluatedKey is still returned. The next call then returns an empty page. This is expected.
Page size
Set the page size with the limit query parameter on any paginated endpoint:
GET /users?limit=50The default limit is 100, and the allowed range is 10 to 1000 unless an endpoint says otherwise. Each endpoint lists its own limits in the API reference.
When you search or filter, the pagination details also include totalCount, the number of matching items across all pages. It is absent on plain, unfiltered requests.
In the API reference
Each list endpoint describes its limit parameter. The pagination object is described under Auxiliary Data Types.