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

# Pagination & batch limits

> Two page styles, one cap of 50, and two batch endpoints that truncate silently — chunk client-side.

- Source: https://www.dropfans.io/developers/concepts/pagination
- Section: Concepts
- OpenAPI: https://www.dropfans.io/developers/openapi.json

## Vault style — top-level fields

[GET /vault](https://www.dropfans.io/developers/reference/list-vault.md) paginates with top-level fields. `limit` defaults to the maximum, 50:

```json
{
  "items": [ … ],
  "folders": [ … ],
  "hasMore": true,
  "total": 132,
  "page": 1,
  "limit": 50
}
```

## Posts style — nested pagination

[GET /posts](https://www.dropfans.io/developers/reference/list-posts.md) nests the same information under `pagination`. `limit` defaults to 20 and caps at 50:

```json
{
  "posts": [ … ],
  "pagination": { "page": 1, "limit": 20, "total": 47, "hasMore": true },
  "limits": { … }
}
```

> [!IMPORTANT] Iterate on hasMore, not on short pages
> A page can legitimately come back shorter than `limit` while more items remain. The only correct loop is: request page 1, then keep incrementing `page` while `hasMore` is true.

## What does not paginate

- **Folders** — [GET /vault/folders](https://www.dropfans.io/developers/reference/list-folders.md) returns every folder, unpaginated.
- **Earnings transactions** — [GET /earnings](https://www.dropfans.io/developers/reference/get-earnings.md) always returns the 50 most recent transactions in the range; narrow the date range to see older ones.

## Batch caps — truncation is silent

Two endpoints take arrays of ids and **silently drop the excess** — no error, no `truncated` flag:

| Endpoint | Cap |
| --- | --- |
| [POST /vault/video-status](https://www.dropfans.io/developers/reference/video-status.md) | 50 ids per call |
| [POST /drops/check-status](https://www.dropfans.io/developers/reference/check-drop-status.md) | 200 ids per call |

Chunk client-side: send at most the cap per request and merge the result maps. Both endpoints also omit ids they cannot resolve (see [Errors](https://www.dropfans.io/developers/concepts/errors.md)), so never treat a missing key as a transport failure.

Next: [Moderation & statuses](https://www.dropfans.io/developers/concepts/moderation-and-statuses.md) or [Errors](https://www.dropfans.io/developers/concepts/errors.md).

---

Previous: [Errors](https://www.dropfans.io/developers/concepts/errors.md) · Next: [Moderation & statuses](https://www.dropfans.io/developers/concepts/moderation-and-statuses.md) · All pages: [llms.txt](https://www.dropfans.io/developers/llms.txt)
