Pagination

When requesting a large data set from the Fleetio API, the data set is returned in chunks, instead of all at once. This is a common pattern for API's that allow them to return query results rapidly and without putting unnecessary strain on the database. Each chunk of results is called a page.

In Fleetio, paging is used for all index actions. The current page size is set to 100, but it is subject to change at any moment, so don't code yourself into a wall by hardcoding 100 as the expected page size. Fleetio returns four response headers along with the result set to help you work with the paginated data.

Header

Description

X-Pagination-Limit

The per page limit. Currently set to 100 but subject to change at any time.

X-Pagination-Current-Page

The current page. Defaults to 1.

X-Pagination-Total-Pages

The total number of pages in the result set. Use this along with Pagination-Current-Page to determine if there are any remaining pages/records to be retrieved.

X-Pagination-Total-Count

The total number of records in the result set (across all pages).

To retrieve data for a specific page, simply specify the page query parameter as in the example below.

# Get the second page of results for the vehicles index action.

curl \
--header "Authorization: Token YOUR_API_KEY" \
--header "Account-Token: YOUR_ACCOUNT_TOKEN" \
"https://secure.fleetio.com/api/v1/vehicles?page=2"

Pages start at 1. If there is no page parameter, it will return the first page of results. If the page parameter is less than 1, it will also return the first page of results. If the page parameter is greater than Pagination-Total-Pages, it will simply return an empty result set.