Overview
You can paginate any List endpoint. Pagination lets you fetch results a page at a time rather than all at once.
Query Parameters
| Parameter | Description |
|---|---|
pageSize | how many results to return per page |
page | the current page of the results |
For example, this curl command returns the first page of 50 items per response:
curl -X GET -H 'X-Adzerk-ApiKey:<APIKEY>' -H 'Content-Type:application/json' 'https://api.kevel.co/v1/site?pageSize=50'This returns the second page of 25 items per response:
curl -X GET -H 'X-Adzerk-ApiKey:<APIKEY>' -H 'Content-Type:application/json' 'https://api.kevel.co/v1/site?pageSize=25&page=2'Recommended pagination approach
When working with Kevel APIs in an integration, we recommend adding the following parameters to any LIST endpoint:
pageSize=100(or other preferred number)page=1
Increment the page number to 2, 3, and so on. When you get back an empty set (for example, no advertisers returned), you have reached the end of the list.
A response with an empty list will look like this:
{
"page": 6,
"items": []
}A response with a non-empty list will look like this:
{
"page": 2,
"items": [
{
"IsActive": false,
"Created": "2023-04-19T21:11:30.310Z",
"Title": "Tester",
"IsDeleted": false,
"LastModified": "2023-04-19T21:11:30.310Z",
"Version": 1,
"Id": 77545
...Deprecated list parameters
Legacy Kevel customers will also see pageSize, totalPages, and totalItems parameters in list responses. These are deprecated for newer Kevel API users.
{
"page": 1,
"pageSize": 500,
"totalPages": 1,
"totalItems": 4,
"items": [
{
...SDK Example
const Adzerk = require('@adzerk/management-sdk');
const apiKey = process.env.ADZERK_API_KEY;
async function listFlights() {
let specifications = await Adzerk.fetchSpecifications();
let client = await Adzerk.buildClient({apiKey, specifications, logger});
let flights = await client.run("flight", "list", {pageSize: 500, page: 2});
console.log(flights);
}
listFlights();
NoteThe JavaScript Management SDK defaults to a page size of 500.
