{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/unicum-gg/json-schema/unicum-gg-player-tank-detail-schema.json",
  "title": "PlayerTankDetail",
  "description": "One player's record on one vehicle.",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/unicum-gg-openapi.json#/components/schemas/PlayerTankDetail",
  "type": "object",
  "properties": {
    "tankId": {
      "type": "number"
    },
    "slug": {
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "type": "string"
    },
    "shortName": {
      "type": [
        "string",
        "null"
      ]
    },
    "tier": {
      "type": [
        "number",
        "null"
      ]
    },
    "nation": {
      "type": [
        "string",
        "null"
      ]
    },
    "type": {
      "type": [
        "string",
        "null"
      ]
    },
    "role": {
      "type": [
        "string",
        "null"
      ]
    },
    "isPremium": {
      "type": "boolean"
    },
    "isReward": {
      "type": "boolean"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the snapshot these numbers come from was taken."
    },
    "battles": {
      "type": "number"
    },
    "mom": {
      "type": [
        "number",
        "null"
      ],
      "description": "Mark of Mastery, 0-4."
    },
    "moe": {
      "type": [
        "number",
        "null"
      ],
      "description": "Marks of Excellence on the gun, 0-3."
    },
    "moePercent": {
      "type": [
        "number",
        "null"
      ],
      "description": "Progress towards the next mark of excellence, 0-100 with two decimals. Only ever known for an account running the mod: the value lives in the client's own vehicle dossier and is in neither the public API nor the portal. Null when nobody has reported it."
    },
    "wn7": {
      "type": [
        "number",
        "null"
      ]
    },
    "wn8": {
      "type": [
        "number",
        "null"
      ]
    },
    "wnx": {
      "type": [
        "number",
        "null"
      ]
    },
    "winrate": {
      "type": "number",
      "description": "Ratio in 0..1, not a percentage."
    },
    "survivalRate": {
      "type": [
        "number",
        "null"
      ]
    },
    "hitRate": {
      "type": [
        "number",
        "null"
      ]
    },
    "damageRatio": {
      "type": [
        "number",
        "null"
      ],
      "description": "Damage dealt over damage taken."
    },
    "destructionRatio": {
      "type": [
        "number",
        "null"
      ],
      "description": "Frags over deaths. Null on a tank never lost."
    },
    "armorUseEfficiency": {
      "type": [
        "number",
        "null"
      ],
      "description": "Wargaming's own armour use factor."
    },
    "stuns": {
      "type": [
        "number",
        "null"
      ]
    },
    "avgXp": {
      "type": [
        "number",
        "null"
      ]
    },
    "avgDamage": {
      "type": "number"
    },
    "avgDamageReceived": {
      "type": [
        "number",
        "null"
      ]
    },
    "avgAssist": {
      "type": "number"
    },
    "avgAssistRadio": {
      "type": "number"
    },
    "avgAssistTrack": {
      "type": "number"
    },
    "avgAssistStun": {
      "type": [
        "number",
        "null"
      ]
    },
    "avgBlocked": {
      "type": [
        "number",
        "null"
      ]
    },
    "avgSpotted": {
      "type": "number"
    },
    "avgFrags": {
      "type": "number"
    },
    "avgCapture": {
      "type": [
        "number",
        "null"
      ]
    },
    "avgDefense": {
      "type": "number"
    },
    "avgStuns": {
      "type": [
        "number",
        "null"
      ]
    },
    "maxXp": {
      "type": [
        "number",
        "null"
      ],
      "description": "Best single battle on the vehicle: the game's Record Score."
    },
    "maxFrags": {
      "type": [
        "number",
        "null"
      ]
    },
    "maxDamage": {
      "type": [
        "number",
        "null"
      ],
      "description": "Always null on the overall record: Wargaming reports no best-damage figure outside the per-mode blocks, and answers 0 for Random Battles. See `modes[].maxDamage`, which carries it for every other mode."
    },
    "ratingHistory": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/TankRatingHistoryPoint"
      },
      "description": "Daily rating series for this player on this vehicle, over the last 90 days."
    },
    "awards": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/TankAward"
      },
      "description": "Medals earned on this vehicle, in the game's own cabinet order. Earned only, and null when they are not known for this player yet."
    },
    "modes": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/PlayerTankModeRecord"
      },
      "description": "Where those battles were fought, in mode order. Empty on a vehicle only ever taken into Random Battles (which is most of them) and on a record predating the breakdown being collected, which fills in on the player's next refresh: Wargaming reports lifetime totals, so there is nothing historical to backfill."
    }
  },
  "required": [
    "tankId",
    "slug",
    "name",
    "shortName",
    "tier",
    "nation",
    "type",
    "role",
    "isPremium",
    "isReward",
    "updatedAt",
    "battles",
    "mom",
    "moe",
    "moePercent",
    "wn7",
    "wn8",
    "wnx",
    "winrate",
    "survivalRate",
    "hitRate",
    "damageRatio",
    "destructionRatio",
    "armorUseEfficiency",
    "stuns",
    "avgXp",
    "avgDamage",
    "avgDamageReceived",
    "avgAssist",
    "avgAssistRadio",
    "avgAssistTrack",
    "avgAssistStun",
    "avgBlocked",
    "avgSpotted",
    "avgFrags",
    "avgCapture",
    "avgDefense",
    "avgStuns",
    "maxXp",
    "maxFrags",
    "maxDamage",
    "ratingHistory",
    "awards",
    "modes"
  ],
  "$defs": {
    "PlayerTankModeRecord": {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "description": "Wargaming's own key for the battle mode. `random` is derived from the overall figures and the two other parts of them (`all` is `random` + `clan` + `company`, exactly); the rest are stored as reported.",
          "enum": [
            "random",
            "clan",
            "company",
            "globalmap",
            "stronghold_skirmish",
            "stronghold_defense",
            "epic",
            "ranked_10x10",
            "team",
            "regular_team",
            "fallout"
          ]
        },
        "retired": {
          "type": "boolean",
          "description": "The mode is no longer played, so these numbers are an archive that can only shrink as accounts lapse."
        },
        "multiVehicle": {
          "type": "boolean",
          "description": "One battle is counted against every vehicle fielded in it, so these battles must never be summed into a mode total. True for Fallout, which allowed a lineup with respawns."
        },
        "battles": {
          "type": "number"
        },
        "wn7": {
          "type": [
            "number",
            "null"
          ],
          "description": "Null on every mode but `random`, along with `wn8` and `wnx`: the expected values behind them are measured on random battles."
        },
        "wn8": {
          "type": [
            "number",
            "null"
          ]
        },
        "wnx": {
          "type": [
            "number",
            "null"
          ]
        },
        "winrate": {
          "type": "number",
          "description": "Ratio in 0..1, not a percentage."
        },
        "survivalRate": {
          "type": [
            "number",
            "null"
          ]
        },
        "hitRate": {
          "type": [
            "number",
            "null"
          ]
        },
        "damageRatio": {
          "type": [
            "number",
            "null"
          ]
        },
        "destructionRatio": {
          "type": [
            "number",
            "null"
          ]
        },
        "armorUseEfficiency": {
          "type": [
            "number",
            "null"
          ]
        },
        "stuns": {
          "type": [
            "number",
            "null"
          ]
        },
        "avgXp": {
          "type": [
            "number",
            "null"
          ]
        },
        "avgDamage": {
          "type": "number"
        },
        "avgDamageReceived": {
          "type": [
            "number",
            "null"
          ]
        },
        "avgAssist": {
          "type": "number"
        },
        "avgAssistRadio": {
          "type": "number"
        },
        "avgAssistTrack": {
          "type": "number"
        },
        "avgAssistStun": {
          "type": [
            "number",
            "null"
          ]
        },
        "avgBlocked": {
          "type": [
            "number",
            "null"
          ]
        },
        "avgSpotted": {
          "type": "number"
        },
        "avgFrags": {
          "type": "number"
        },
        "avgCapture": {
          "type": [
            "number",
            "null"
          ]
        },
        "avgDefense": {
          "type": "number"
        },
        "avgStuns": {
          "type": [
            "number",
            "null"
          ]
        },
        "maxXp": {
          "type": [
            "number",
            "null"
          ]
        },
        "maxFrags": {
          "type": [
            "number",
            "null"
          ]
        },
        "maxDamage": {
          "type": [
            "number",
            "null"
          ]
        }
      },
      "required": [
        "mode",
        "retired",
        "multiVehicle",
        "battles",
        "wn7",
        "wn8",
        "wnx",
        "winrate",
        "survivalRate",
        "hitRate",
        "damageRatio",
        "destructionRatio",
        "armorUseEfficiency",
        "stuns",
        "avgXp",
        "avgDamage",
        "avgDamageReceived",
        "avgAssist",
        "avgAssistRadio",
        "avgAssistTrack",
        "avgAssistStun",
        "avgBlocked",
        "avgSpotted",
        "avgFrags",
        "avgCapture",
        "avgDefense",
        "avgStuns",
        "maxXp",
        "maxFrags",
        "maxDamage"
      ],
      "description": "One player's record on one vehicle in one battle mode. `wn7`, `wn8` and `wnx` are null on every mode but `random`: all three are built against expected values measured on random battles, where a shorter tier-limited format and a win rate nowhere near 50% make them score a mode against a standard it was never set by."
    },
    "TankAward": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "condition": {
          "type": "string"
        },
        "image": {
          "type": "string"
        },
        "section": {
          "type": "string"
        },
        "sectionName": {
          "type": "string"
        },
        "sectionOrder": {
          "type": "integer"
        },
        "order": {
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "outdated": {
          "type": "boolean"
        },
        "tiers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "image": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "image"
            ]
          }
        },
        "count": {
          "type": "integer"
        }
      },
      "required": [
        "id",
        "name",
        "description",
        "condition",
        "image",
        "section",
        "sectionName",
        "sectionOrder",
        "order",
        "type",
        "outdated",
        "tiers",
        "count"
      ],
      "description": "One medal earned on this vehicle. For a tiered medal the count is the tier reached, not a number of awards."
    },
    "TankRatingHistoryPoint": {
      "type": "object",
      "properties": {
        "day": {
          "type": "string"
        },
        "lifetime": {
          "$ref": "#/$defs/ratingMetricValues"
        },
        "session": {
          "$ref": "#/$defs/ratingMetricValues"
        }
      },
      "required": [
        "day",
        "lifetime",
        "session"
      ],
      "description": "Daily rating sample for one player on one vehicle: the value carried by every battle fought on it, and the value of the battles fought that day."
    },
    "ratingMetricValues": {
      "type": "object",
      "properties": {
        "wn7": {
          "type": [
            "number",
            "null"
          ]
        },
        "wn8": {
          "type": [
            "number",
            "null"
          ]
        },
        "wnx": {
          "type": [
            "number",
            "null"
          ]
        },
        "pr": {
          "type": [
            "number",
            "null"
          ]
        },
        "wtr": {
          "type": [
            "number",
            "null"
          ]
        }
      },
      "required": [
        "wn7",
        "wn8",
        "wnx"
      ]
    }
  }
}