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

# Pagination

> Cursor pagination in API v2

# Pagination

List endpoints in API v2 use cursor-based pagination with a consistent shape:

```json theme={null}
{
  "data": [ ... ],
  "meta": {
    "nextCursor": "cursor_value_or_null",
    "hasMore": true
  }
}
```

## Query parameters

| Parameter  | Type   | Default | Description                                           |
| ---------- | ------ | ------- | ----------------------------------------------------- |
| `cursor`   | string | *none*  | Cursor from the previous response (`meta.nextCursor`) |
| `pageSize` | number | 30      | Items per page (max 100)                              |

<Note>
  API v2 uses `pageSize`. Legacy v1 list endpoints use `limit` instead.
</Note>

## Example

```bash theme={null}
curl "https://api.heffl.com/api/v2/contacts?pageSize=25" \
  -H "x-api-key: YOUR_API_KEY"
```

Response:

```json theme={null}
{
  "data": [
    {
      "id": "clt_abc123",
      "number": "CON001",
      "firstName": "Jane",
      "lastName": "Smith",
      "email": "jane@example.com"
    }
  ],
  "meta": {
    "nextCursor": null,
    "hasMore": false
  }
}
```

See [Listing & filters](https://docs.heffl.com/api-v2/listing-and-filters) for search, sorting, and structured filters.
