TANITARDevelopers
Getting started

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.

ConventionQuery parametersUsed by
Cursorcursor, limitMost Tournament lists
Page numberpage, limitLeaderboards, and several dashboard and Tenant lists
NoneNot applicableSmall 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.

  • limit defaults 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.

On this page