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

# Pagination

> 25 by default, 50 at most, follow the link.

```http theme={null}
GET /v1/sellers/42/watches?page[limit]=50
```

**page\[limit]** `integer` (default: 25)

How many to return, up to **50**. More than that — or less than one — is refused
with `400` rather than quietly trimmed.

**page\[after]** `string`

The cursor from the previous page's `links.next`. Do not build it yourself, and
do not hold on to it. `page[before]` walks the other way.

Follow `links.next` until it is absent. That is the whole protocol:

```json theme={null}
{
  "data": [ "…" ],
  "links": {
    "first": "https://api.wristler.eu/v1/sellers/42/watches?page%5Blimit%5D=50",
    "next": "https://api.wristler.eu/v1/sellers/42/watches?page%5Bafter%5D=eyJ…&page%5Blimit%5D=50"
  }
}
```

## Why a cursor and not a page number

A partner walking a whole inventory takes minutes, and an inventory is live: a
listing added halfway through shifts every row after it. An offset paginator then
skips rows or repeats them, silently. A cursor does not.

Listings, orders, conversations, messages and notifications page by cursor. The
shorter lists that do not move under you page by number instead — `/v1/sellers`,
the watch models, a business's invoices, quick replies and blocked buyers, and in
the app the address book, favorites, saved searches, devices, blocks and the
content pages. Those take `page[number]` (from 1) and `page[size]` (up to
**50**, 25 by default; more, or less than one, is `400` as well), and answer with `first`, `last`, `prev` and `next` links;
following `links.next` still works the same way. A collection refuses the other
kind's parameters with `400`.

A listing collection takes either: `page[limit]` and `page[after]` to walk it,
`page[number]` and `page[size]` for numbered pages, which is what a ranked search
in the app uses.

Without any `page[...]` a collection answers its first page — 25 rows, or for quick
replies 50, which is a shop's maximum, so one page holds them all — with `links.next`
when there is more. Sending nothing is not a way to get everything.

## Lists that are not paged

A few lists always come back whole, with no `links.next`, and are not to be sent `page[...]`,
because each is short by nature or capped where it is made:

| List | Why it is whole |
| - | - |
| `/v1/specifications`, `/v1/brands`, `/v1/couriers`, `/v1/shipping-countries`, `/v1/report-reasons`, `/v1/legal` | Fixed vocabularies a form or picker needs all of at once |
| `/v1/faq-categories`, `/v1/faq-categories/{id}/articles`, `/v1/article-tags` | The help centre's headings and their answers, and the Insights tags: a screen draws them all |
| `/v1/watches/{id}/related`, `/v1/articles/{id}/related` | At most 8 and 6 |
| `/v1/me/sign-ins` | The latest 100 |
| `/v1/references` | The reference database's own matches for what was typed |
| A listing's `images`, a message's `attachments`, an order's `items` and `addresses` | At most 8 photos, and what one message or order holds |

> [!TIP]
>
> Combine paging with `fields[watches]` on a full walk. Prices and stock levels for
> 2,000 listings is a small response; 2,000 descriptions and galleries is not.


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