Pagination
The two ways Tanitar lists are paged, with an example of each, and the lists that are not paged.
Tanitar lists use one of two conventions, depending on the API. Each guide says which one a list uses.
| Convention | Query parameters | Used by |
|---|---|---|
| Cursor | cursor, limit | Most Tournament lists |
| Page number | page, limit | Leaderboards, and several dashboard and Tenant lists |
| None | Not applicable | Small registries returned whole |
Cursor pagination
Cursor lists return a page of items and a nextCursor. Pass nextCursor back as cursor to get
the next page; when nextCursor is null, you have reached the end.
limitdefaults to 50 and accepts 1 to 100.- Items are ordered by their identifier, and a cursor stays valid between calls.
- Treat the cursor as opaque: pass back exactly what you received.
Example: GET /tournaments (items abridged).
curl "$TOURNAMENT_API_URL/tournaments?limit=2" \
-H "Authorization: Bearer $TANITAR_API_KEY"{
"success": true,
"responseType": "SUCCESS",
"data": {
"items": [
{ "tournamentId": "trn_0c1f…", "slug": "spring-cup", "status": "published" },
{ "tournamentId": "trn_3a92…", "slug": "summer-open", "status": "draft" }
],
"nextCursor": "trn_3a92…"
}
}Fetch the next page:
curl "$TOURNAMENT_API_URL/tournaments?limit=2&cursor=trn_3a92…" \
-H "Authorization: Bearer $TANITAR_API_KEY"The same pattern applies to tournament entrants, stages, stage compositions and matches.
Page-number pagination
Page-number lists take a 1-based page and a limit, and echo both back in the response.
Example: GET /v1/gamification/leaderboards/:period/:entityType, where period is daily,
weekly or alltime and entityType is player or team. This reads the weekly player board:
curl "$GAMIFICATION_API_URL/v1/gamification/leaderboards/weekly/player?page=2&limit=20" \
-H "Authorization: Bearer $TANITAR_API_KEY"{
"period": "weekly",
"entityType": "player",
"periodKey": "2026-09-28",
"page": 2,
"limit": 20,
"entries": [
{ "rank": 21, "entityId": "player-8812", "totalXp": 1840, "missionsCompleted": 12 }
]
}For leaderboards, page defaults to 1 and limit to 20 (maximum 100). A board holds the top 100
entries, so pages beyond that are empty. There is no total; stop when a page returns fewer entries
than limit.
Other page-number lists add a total, the number of matching records across all pages, and
return their records in items, as { items, page, limit, total }. The webhook delivery log in
the dashboard is one of them.
Lists that are not paged
Some lists are small, bounded registries and return every entry in one response, with no paging
parameters. For example, GET /v1/currencies returns your whole currency registry together with
its revision:
{
"revision": 3,
"entries": [
{ "currencyKey": "gems", "displayName": "Gems", "scope": "platform", "precision": 0, "status": "published", "revision": 2 }
]
}Cache these responses; the revision changes whenever the registry does.