Introduction
When a response from the Payroll Integrations API would include many results, the data is paginated and a subset is returned. For example,/v1/connections/{connection}/employees by default only returns the first 20 employees even if there are more employees available.
This page outlines how the response is structured for all paginated endpoints and how to configure the amount and order of the results.
Request
Query Parameters
The maximum number of records provided in the current response.
The starting point for retrieving records with respect to the beginning of the list.The resulting list is inclusive and zero-indexed with respect to the offset value.
The current sort order and direction.
sort is a single string value following the regular expression format of ^(-?\w+)(,-?\w+)*$.See the Sort section below for more information.Response
Data
All returned records are located in thedata property in the response.
Metadata
Pagination metadata is provided in themeta property in the response. It contains the following properties:
The maximum number of records provided in the current response.
The starting point for retrieving records with respect to the beginning of the list.The resulting list is inclusive and zero-indexed with respect to the offset value.
The number of records in the current response.Note: This is not the same as
limit. For example, a request can be configured to return a maximum of 20 records (limit) and only return 3 records (currentCount).The total number of records available.
Sort
The default sort property and direction varies depending on the endpoint. If the provided value is not a valid sortable property for the records, the endpoint returns 400 Bad Request, detailing which fields can be used for sorting. Even if the provided value is a valid property of the record schema, it does not guarantee that sorting is supported for that property. If the first character ofsort is - (e.g. -sortProperty), the list of records is returned in descending order.
To sort by multiple properties, separate the values by commas. The descending order syntax is also allowed for individual properties (e.g. sort=sortProperty,-anotherProperty).
Note: This returns a 400 Bad Request if the multi-sort configuration is not supported.
Examples
Ascending Sort
Descending Sort
Using Link Headers
Each response also includes a Link header that contains the previous, next, first, and last “page” URLs that will need to be iterated through.
limit is preserved for all relevant links provided while offset is changed depending on the page.
Listed below are the link headers generated for a request with query parameters limit=30&offset=60 and a total of 160 records:
Link header provides the URL for the previous, next, first, and last page of results:
- The URL for the current page is followed by
rel="self". - The URL for the previous page is followed by
rel="prev". - The URL for the next page is followed by
rel="next". - The URL for the last page is followed by
rel="last". - The URL for the first page is followed by
rel="first".