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

# Pagination

> Offset pagination, page-size caps, and the connection response shape.

List operations across the API paginate with offset inputs and return connection-style objects. There are two page-size regimes depending on the surface.

## Request shape

Pass an offset input in the operation's `paginate` argument:

| Input                                                               | Used by                                                         | `limit` max                | Fields            |
| ------------------------------------------------------------------- | --------------------------------------------------------------- | -------------------------- | ----------------- |
| [`OffsetInput`](/api-reference/types/offset-input)                  | Standard listings (`getTransactions`, `getUserCashBalances`, …) | **20**                     | `limit`, `offset` |
| [`BulkPaginationInput`](/api-reference/types/bulk-pagination-input) | Bulk API listings                                               | **100** (also the default) | `limit`, `offset` |

```graphql theme={null}
query {
  getTransactions(
    filter: { }
    paginate: { limit: 20, offset: 0 }
  ) {
    transactions { transactionId amount createdAt }
    totalCount
    hasNextPage
  }
}
```

## Response shape

Paginated queries return a connection object with the items plus paging metadata — for example [`TransactionConnection`](/api-reference/types/transaction-connection):

* the item list (e.g. `transactions`)
* `totalCount` — total items matching the filter
* `hasNextPage` — whether more results are available

Other connection types follow the same pattern: [`UserCashBalanceConnection`](/api-reference/types/user-cash-balance-connection), [`DeclinedTransactionConnection`](/api-reference/types/declined-transaction-connection), and [`PlaidBankTransactionPage`](/api-reference/types/plaid-bank-transaction-page).

## Walking a full result set

Increase `offset` by `limit` while `hasNextPage` is `true`:

1. Request `{ limit: 20, offset: 0 }`.
2. If `hasNextPage` is `true`, request `{ limit: 20, offset: 20 }`, then `40`, and so on.
3. Stop when `hasNextPage` is `false`.

<Note>
  Results can shift between pages if new records are created while you're paging — transaction listings are ordered most-recent-first. For large exports, filter by a fixed date range so the underlying set is stable while you walk it.
</Note>
