Pagination
Every list endpoint (GET /sets, /cards,
/products, /listings, /orders)
is paginated the same way.
Query parameters
| Parameter | Default | Notes |
|---|---|---|
page |
1 | 1-indexed. |
per_page |
30 | Clamped to the range 1–100, not rejected: per_page=500 silently becomes 100. |
Response envelope
List responses wrap the resource array in a standard data /
links / meta shape:
{
"data": [ { "id": "sv1", "name": "Scarlet Base" }, ... ],
"links": {
"first": "https://tcgplein.nl/api/v1/sets?page=1",
"last": "https://tcgplein.nl/api/v1/sets?page=4",
"prev": null,
"next": "https://tcgplein.nl/api/v1/sets?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 4,
"path": "https://tcgplein.nl/api/v1/sets",
"per_page": 30,
"to": 30,
"total": 103
}
}
meta.total is the total number of matching records across all pages, not just
the current page. Every filter query parameter you sent is carried through into
links.next / links.prev, so following those links
keeps your filters applied.
Single-resource calls (GET /cards/{identifier},
GET /sets/{identifier}, GET /orders/{id}, and so on)
return just data with no links or
meta: those two only appear on paginated list calls.