> ## Documentation Index
> Fetch the complete documentation index at: https://vlyai-1c28d863.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Pagination

> How list endpoints paginate. Cursors, page sizes, iterating to the end.

List endpoints in vly's API return at most 20 items by default. Larger result sets paginate via opaque cursors.

## The shape

```json theme={null}
{
  "data": [
    { "id": "prj_...", "name": "..." },
    { "id": "prj_...", "name": "..." }
  ],
  "next_cursor": "eyJpZCI6Ii4uLiJ9"
}
```

If `next_cursor` is `null`, you've reached the end.

## Iterating

```typescript theme={null}
let cursor: string | null = null;
do {
  const page: any = await vly.projects.list({ limit: 100, cursor });
  for (const project of page.data) {
    // ... process
  }
  cursor = page.next_cursor;
} while (cursor);
```

The SDKs offer an async iterator helper:

```typescript theme={null}
for await (const project of vly.projects.iterate({ limit: 100 })) {
  // ... process
}
```

## Limits

| Param | Default | Max |
| - | - | - |
| `limit` | 20 | 100 |

Asking for more than `100` returns 100 with the rest behind cursors.

## Related

<CardGroup cols={3}>
  <Card title="API introduction" icon="book-open" href="/api-reference/introduction">
    Common patterns overview.
  </Card>

  <Card title="Errors" icon="alert-triangle" href="/api-reference/errors">
    Error reference.
  </Card>

  <Card title="Rate limits" icon="gauge" href="/api-reference/rate-limits">
    Limits affect bulk operations.
  </Card>
</CardGroup>


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