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

# Pagination

> Use pagination objects for Finup list endpoints.

List endpoints take a `pagination` object in the request body. It is optional — omit it and you get page 1 with 50 records.

```json theme={null}
{
  "pagination": {
    "page": 1,
    "per_page": 25,
    "sort_by": "created_at",
    "sort_direction": "desc"
  }
}
```

| Field | Type | Description |
| - | - | - |
| `page` | number | Page number, starting at `1`. Defaults to `1`. |
| `per_page` | number | Number of records to return, `1`–`100`. Defaults to `50`. |
| `sort_by` | string | Optional sort field supported by the endpoint. |
| `sort_direction` | string | `asc` or `desc`. Defaults to `desc`. |

Paginated responses return `pagination` next to `result`, not inside it.

```json theme={null}
{
  "result": [],
  "pagination": {
    "current_page": 1,
    "total_records": 125,
    "total_pages": 5
  }
}
```

<Note>
  `POST /transactions` always returns `total_records` and `total_pages` as `null`. Call `POST /transactions/count` with the same filter body to get the totals — the two requests are designed to run in parallel.
</Note>

For transaction tables, use the same filters for `/transactions`, `/transactions/count`, and `/transactions/summary`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.