> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bondio.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Pagination

> Cursor-based pagination for Bondio's list APIs

Some read APIs like **List subscriptions**, **List eSIMs**, and **List plans** support bulk fetching via pagination. These list API methods use cursor-based pagination and share a common request and response structure, described below. For some APIs, the list of returned objects is in reverse chronological order according to the created timestamps, with the most recent objects appearing first (e.g., the List subscriptions API).

## List query parameters

The following parameters can be passed as HTTP query parameters in the request. The `page` parameter should be omitted when fetching the first page. To fetch the second page, its value should be retrieved from the `nextPage` field in the first page's response.

<ParamField query="pageSize" type="number" default="10">
  The number of objects to return in a page. Minimum: 1, maximum: 25.
</ParamField>

<ParamField query="page" type="string">
  The page cursor from which objects will be returned.
</ParamField>

## List response format

The paginated response will have the following two fields:

<ResponseField name="items" type="array">
  An array containing the actual response elements, paginated according to the request parameters.
</ResponseField>

<ResponseField name="nextPage" type="string | null">
  Cursor value to be used to fetch the next page. `null` denotes the end of results.
</ResponseField>

## Example

### Request

```
GET /esims?page=F4gdy38Lpcb37&pageSize=2
```

### Response

```json theme={null}
{
  "items": [
    { "...": "esimObject1" },
    { "...": "esimObject2" }
  ],
  "nextPage": "F4gdy38Lpcb37"
}
```
