Pagination
In this guide, we will look at how to work with paginated responses when querying the Zamp API.
When an API response returns a list of objects, no matter the amount, pagination is supported.
In paginated responses, objects are nested in a data
attribute
and have a nextCursor
attribute that you can use to load the next page.
When there are no more pages the nextCursor
is null
.
By default, all responses limit results to 10.
However, you can go as high as 100 by adding a limit
parameter to your JSON request.
Objects are ordered in the responses by created-at timestamp in descending order.
Example using cursors
In this example, we first request all transactions with a limit of 3.
As a result, we get back a list of three transactions and can tell by the nextCursor
attribute that there are additional pages.
The second request passes the nextCursor
value from the first response via the cursor
query param.
We then get back the second response with two additional transactions.
And since the nextCursor
is null
there are no additional pages.
Query params
- Name
limit
- Type
- integer between 1–100 (optional, default=10)
Limit the number of items returned.
- Name
cursor
- Type
- string (optional)
Cursor returned from a previous response (
nextCursor
) that's used to load the next page. Anull
value indicates no more pages.
Request
curl -G https://api.zamp.com/transactions \
-H "Authorization: Bearer {token}" \
-d limit=3
Response: first page
{
"nextCursor": "x4WycXedwhQrEFuM",
"data": [
{
"id": "WAz8eIbvDR60rouK",
// ...
},
{
"id": "hSIhXBhNe8X1d8Et"
// ...
},
{
"id": "fbwYwpi9C2ybt6Yb"
// ...
}
]
}
Request: with cursor
curl -G https://api.zamp.com/transactions \
-H "Authorization: Bearer {token}" \
-d limit=3 \
-d cursor=x4WycXedwhQrEFuM
Response: last page
{
"nextCursor": null,
"data": [
{
"id": "SIuAFUNKdSYHZF2w",
// ...
},
{
"id": "l7cGNIBKZiNJ6wqF"
// ...
}
]
}