Pagination

All top-level API resources have support for bulk fetches via "list" API methods. For example, you can list Actions, Partners, and Contracts, among others. As these requests typically generate large result sets, these results are paginated and share a common structure detailing how the pages are structured. By default, requests return page 1 (the first page) and 1,000 results per page (though this may differ by resource). You can override these defaults by using the parameters below:

Request parameters


Name Description
Page The page you are requesting be returned. Page choice starts at 1. Page 1 will be returned if no Page is specified.
PageSize Specify how many objects should be returned on each page. If not specified, the resource default amount will be returned.

To make the pages easy to traverse, impact.com list APIs also preconfigure URIs that point to other pages of interest within the result set. See the full set of pagination response parameters below.

Response attributes


Name Description
@page Current page number. Pages start at 1.
@numpages Total number of pages.
@pagesize How many entities are in each page.
@total Total number of entities in the list.
@start Position in the overall list of the first item in this page. Zero indexed (first position is 0).
@end Position in the overall list of the last item in this page. Zero indexed (first position is 0).
@uri URI of the current page.
@firstpageruri URI for the first page of this result set.
@nextpageuri URI for the next page of this result set.
@previouspageruri URI for the previous page of this result set.
@lastpageruri URI for the last page of this result set.

Example pagination request


curl 'https://api.impact.com/Mediapartners/<AccountSID>/Actions' \
  -X GET \
  -u '<AccountSID>:<AuthToken>' \
  -H 'Accept: application/json' \
  -d 'CampaignId=1017' \
  -d 'PageSize=100' \
  -d 'Page=2' \
  -G

Example pagination response


{
  "@page": "2",
  "@numpages": "2",
  "@pagesize": "100",
  "@total": "200",
  "@start": "100",
  "@end": "200",
  "@uri": "/Mediapartners/...",
  "@firstpageuri": "/Mediapartners/...",
  "@previouspageuri": "/Mediapartners/...",
  "@nextpageuri": "/Mediapartners/...",
  "@lastpageuri": "/Mediapartners/...",
  "Actions": [
    {
      ...
    },
    {
      ...
    }
  ]
}

📘

Note:

After 2 October 2023, any requests made to the /Reports API endpoint that specify a page size other than 20,000 will return a page size of exactly 20,000 records. If any of your integrations with the /Reports API specifies a page size less than 20,000, we recommend either of the following updates:

  • Specify a PageSize of 20,000.
  • Remove the PageSize parameter from the request altogether.