---
title: "Fetch player data."
method: GET
path: "/api/v1/player"
tags: ["Tacticus Player API"]
---

# Fetch player data.

`GET /api/v1/player`

## Response `200`

OK

- PlayerResponse
  - `player` Player, required
    - `details` PlayerDetails, required
      - `name` string, required
      - `powerLevel` integer, required
    - `units` Unit[], required
      - `id` string, required
      - `name` string
      - `faction` string
      - `grandAlliance` 'Imperial' | 'Xenos' | 'Chaos'
      - `progressionIndex` integer, required — Star level: 0 = Common, 3 = Uncommon, 6 = Rare, 9 = Epic, 12 = Legendary
      - `xp` integer, required — total XP gained for character
      - `xpLevel` integer, required — XP level of character
      - `rank` integer, required — 0 = Stone I, 3 = Iron I, 6 = Bronze I, 9 = Silver I, 12 = Gold I, 15 = Diamond I, 17 = Diamond III
      - `abilities` Ability[], required — active and passive abilities of character
        - `id` string, required
        - `level` integer, required — 0 = ability is locked
      - `upgrades` integer[], required — 2*3 matrix, 0 = top left, 1 = bottom left, 2 top center etc
      - `items` UnitItem[], required — equipped items of character
        - `slotId` 'Slot1' | 'Slot2' | 'Slot3', required
        - `level` integer, required
        - `id` string, required
        - `name` string
        - `rarity` 'Common' | 'Uncommon' | 'Rare' | 'Epic' | 'Legendary' | 'Mythic'
      - `shards` integer, required — owned shards of character
      - `mythicShards` integer, required — owned mythic shards of character
    - `inventory` Inventory, required
      - `items` Item[], required
        - `id` string, required
        - `name` string
        - `level` integer, required
        - `amount` integer, required
      - `upgrades` Upgrade[], required
        - `id` string, required
        - `name` string
        - `amount` integer, required
      - `shards` Shard[], required
        - `id` string, required
        - `name` string
        - `amount` integer, required
      - `mythicShards` Shard[], required
        - `id` string, required
        - `name` string
        - `amount` integer, required
      - `xpBooks` XpBook[], required
        - `id` 'xpUncommon' | 'xpUncommon' | 'xpRare' | 'xpEpic' | 'xpLegendary', required
        - `rarity` 'Common' | 'Uncommon' | 'Rare' | 'Epic' | 'Legendary' | 'Mythic', required
        - `amount` integer, required
      - `abilityBadges` object, required — key is the grand alliance
      - `components` Component[], required
        - `name` string, required
        - `grandAlliance` 'Imperial' | 'Xenos' | 'Chaos', required
        - `amount` integer, required
      - `forgeBadges` ForgeBadge[], required
        - `name` string, required
        - `rarity` 'Common' | 'Uncommon' | 'Rare' | 'Epic' | 'Legendary' | 'Mythic', required
        - `amount` integer, required
      - `orbs` object, required — key is the grand alliance
      - `requisitionOrders` RequisitionOrders
        - `regular` integer, required
        - `blessed` integer, required
      - `resetStones` integer, required
    - `progress` Progress, required
      - `campaigns` CampaignProgress[], required
        - `id` string, required
        - `name` string, required
        - `type` 'Standard' | 'Mirror' | 'Elite' | 'EliteMirror', required
        - `battles` CampaignLevel[], required
          - `battleIndex` integer, required — index of battle. Note that index=75 is available but no actual battle
          - `attemptsLeft` integer, required
          - `attemptsUsed` integer, required
      - `arena` Arena
        - `tokens` Token
          - `current` integer, required
          - `max` integer, required
          - `nextTokenInSeconds` integer
          - `regenDelayInSeconds` integer, required
      - `guildRaid` GuildRaid
        - `tokens` Token
          - `current` integer, required
          - `max` integer, required
          - `nextTokenInSeconds` integer
          - `regenDelayInSeconds` integer, required
        - `bombTokens` Token
          - `current` integer, required
          - `max` integer, required
          - `nextTokenInSeconds` integer
          - `regenDelayInSeconds` integer, required
      - `onslaught` Onslaught
        - `tokens` Token
          - `current` integer, required
          - `max` integer, required
          - `nextTokenInSeconds` integer
          - `regenDelayInSeconds` integer, required
      - `salvageRun` SalvageRun
        - `tokens` Token
          - `current` integer, required
          - `max` integer, required
          - `nextTokenInSeconds` integer
          - `regenDelayInSeconds` integer, required
      - `legendaryEvents` LegendaryEventLE[], required
        - `id` string, required — Id of character
        - `lanes` LELane[], required
          - `id` integer, required
          - `name` string, required
          - `battleConfigs` LEBattleConfig[], required
            - `numEnemies` integer, required
            - `objectives` LEBattleObjective[], required
              - …
            - `disallowedFactions` string[], required
          - `progress` LEBattleProgress[], required
            - `objectivesCleared` integer[], required
            - `highScore` integer, required
            - `encounterPoints` integer, required
        - `currentPoints` integer — The number of points, used to accrue currency, the player currently has for this event
        - `currentCurrency` integer, required — The amount of currency, used to open crates, the player currently has for this event
        - `currentShards` integer, required — The number of shards the player currently has for this event
        - `currentClaimedChestIndex` integer, required
        - `currentEvent` LECurrentEvent
          - `run` integer — The current run
          - `tokens` Token
            - `current` integer, required
            - `max` integer, required
            - `nextTokenInSeconds` integer
            - `regenDelayInSeconds` integer, required
          - `hasUsedAdForExtraTokenToday` boolean, required — Whether the player has used an ad for an extra since the last server reset
          - `extraCurrencyPerPayout` integer, required
  - `metaData` PlayerMetaData, required
    - `configHash` string, required — gameConfigVersion for player
    - `apiKeyExpiresOn` integer — unix timestamp (in seconds). Empty if key never expires
    - `lastUpdatedOn` integer, required — unix timestamp (in seconds) when player was last updated from the server. Player data is cached in the API so use this field to know when it was actually fetched.
    - `scopes` string[], required — allowed scopes of the supplied apiKey

## Other responses

- `403` — Forbidden
- `500` — Unknown error, retryable

---

[API](https://skmtc.dev/tacticusgame/apis/tacticus-api.md) · [All operations](https://skmtc.dev/tacticusgame/apis/tacticus-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tacticusgame/tacticus-api/revisions/a087c8ca040b/schema)
