{"openapi":"3.0.0","paths":{"/v1/players/{idOrNick}":{"get":{"operationId":"getPlayer","parameters":[{"name":"idOrNick","required":true,"in":"path","schema":{"minLength":2,"maxLength":24,"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1PlayerProfileDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Player summary with WN8, EFF, Броня-Индекс and every recent period","tags":["v1-players"]}},"/v1/players/{id}/recent":{"get":{"operationId":"getPlayerRecent","parameters":[{"name":"id","required":true,"in":"path","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1RecentPeriodsDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Recent periods: 24h, 7d, 30d, 60d, 1000 battles","tags":["v1-players"]}},"/v1/players/{id}/tanks":{"get":{"operationId":"listPlayerTanks","parameters":[{"name":"id","required":true,"in":"path","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}},{"name":"tiers","required":false,"in":"query","schema":{"type":"array","items":{"type":"integer","minimum":1,"maximum":11}}},{"name":"types","required":false,"in":"query","schema":{"type":"array","items":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]}}},{"name":"nations","required":false,"in":"query","schema":{"type":"array","items":{"type":"string","minLength":1,"maxLength":32}}},{"name":"premium","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"collectible","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"statuses","required":false,"in":"query","description":"Only vehicles with one of these statuses","schema":{"type":"array","items":{"type":"string","enum":["researchable","premium","collector","reward","removed"]}}},{"name":"roles","required":false,"in":"query","description":"Only vehicles with one of these battle roles","schema":{"type":"array","items":{"type":"string","enum":["HT_assault","HT_break","HT_universal","HT_support","MT_universal","MT_sniper","MT_assault","MT_support","LT_universal","LT_wheeled","ATSPG_sniper","ATSPG_assault","ATSPG_support","ATSPG_universal","SPG","SPG_assault","SPG_flame"]}}},{"name":"sort","required":false,"in":"query","schema":{"type":"string","enum":["battles","winRate","avgDamage","wn8","marksOnGun","moePercent","lastBattleAt","tier"]}},{"name":"order","required":false,"in":"query","schema":{"default":"desc","type":"string","enum":["asc","desc"]}},{"name":"limit","required":false,"in":"query","description":"Page size up to 1000, or \"all\" for every tank in one page","schema":{"default":25,"anyOf":[{"type":"string","enum":["all"]},{"type":"integer","minimum":1,"maximum":1000}]}},{"name":"offset","required":false,"in":"query","schema":{"minimum":0,"maximum":10000,"default":0,"type":"integer"}},{"name":"period","required":false,"in":"query","schema":{"type":"string","enum":["1000","24h","7d","30d","60d"]}},{"name":"minBattles","required":false,"in":"query","schema":{"minimum":0,"maximum":9007199254740991,"default":0,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1PlayerTanksPageDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Per-tank statistics","tags":["v1-players"]}},"/v1/players/{id}/history":{"get":{"operationId":"getPlayerHistory","parameters":[{"name":"id","required":true,"in":"path","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}},{"name":"metric","required":true,"in":"query","schema":{"type":"string","enum":["wn8","winRate","avgDamage","battles","broneIndex","eff"]}},{"name":"from","required":false,"in":"query","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},{"name":"to","required":false,"in":"query","schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},{"name":"granularity","required":false,"in":"query","schema":{"default":"day","type":"string","enum":["day","week","month"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1TimeSeriesDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"A metric over time","tags":["v1-players"]}},"/v1/players/{id}/marks":{"get":{"operationId":"getPlayerMarks","parameters":[{"name":"id","required":true,"in":"path","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1PlayerMarksDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Marks of excellence per tank, with the current MoE percent when the mod reports it","tags":["v1-players"]}},"/v1/players/{id}/sessions":{"get":{"operationId":"listPlayerSessions","parameters":[{"name":"id","required":true,"in":"path","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":25,"type":"integer"}},{"name":"offset","required":false,"in":"query","schema":{"minimum":0,"maximum":10000,"default":0,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1SessionsPageDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Play sessions, newest first","tags":["v1-players"]}},"/v1/players/{id}/sessions/{sessionId}":{"get":{"operationId":"getPlayerSession","parameters":[{"name":"id","required":true,"in":"path","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}},{"name":"sessionId","required":true,"in":"path","schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1SessionDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"One session with its tanks and, for mod sessions, its battles","tags":["v1-players"]}},"/v1/tanks":{"get":{"operationId":"listTankStats","parameters":[{"name":"tiers","required":false,"in":"query","schema":{"type":"array","items":{"type":"integer","minimum":1,"maximum":11}}},{"name":"types","required":false,"in":"query","schema":{"type":"array","items":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]}}},{"name":"nations","required":false,"in":"query","schema":{"type":"array","items":{"type":"string","minLength":1,"maxLength":32}}},{"name":"premium","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"collectible","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"statuses","required":false,"in":"query","description":"Only vehicles with one of these statuses","schema":{"type":"array","items":{"type":"string","enum":["researchable","premium","collector","reward","removed"]}}},{"name":"roles","required":false,"in":"query","description":"Only vehicles with one of these battle roles","schema":{"type":"array","items":{"type":"string","enum":["HT_assault","HT_break","HT_universal","HT_support","MT_universal","MT_sniper","MT_assault","MT_support","LT_universal","LT_wheeled","ATSPG_sniper","ATSPG_assault","ATSPG_support","ATSPG_universal","SPG","SPG_assault","SPG_flame"]}}},{"name":"difficulties","required":false,"in":"query","description":"Only tanks whose learning curve puts them in one of these difficulties","schema":{"type":"array","items":{"type":"string","enum":["easy","moderate","hard","hardcore"]}}},{"name":"sort","required":false,"in":"query","schema":{"type":"string","enum":["battles","players","winRate","winRateDiff","avgDamage","avgFrags","avgSpotted","survivalRate","accuracy","tier"]}},{"name":"order","required":false,"in":"query","schema":{"default":"desc","type":"string","enum":["asc","desc"]}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":25,"type":"integer"}},{"name":"offset","required":false,"in":"query","schema":{"minimum":0,"maximum":10000,"default":0,"type":"integer"}},{"name":"period","required":false,"in":"query","schema":{"default":"7d","type":"string","enum":["1d","7d","14d","30d","60d"]}},{"name":"cohort","required":false,"in":"query","schema":{"default":"all","type":"string","enum":["all","beginner","average","good","elite"]}},{"name":"mode","required":false,"in":"query","schema":{"default":"random","type":"string","enum":["all","random","ranked","epic","clan","stronghold"]}},{"name":"minBattles","required":false,"in":"query","schema":{"minimum":0,"maximum":9007199254740991,"default":0,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1TankStatsPageDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Server-wide statistics per tank: win rate, WR diff, damage, popularity","tags":["v1-tanks"]}},"/v1/tanks/tier-list":{"get":{"operationId":"getTierList","parameters":[{"name":"mode","required":false,"in":"query","schema":{"default":"random","type":"string","enum":["all","random","ranked","epic","clan","stronghold"]}},{"name":"period","required":false,"in":"query","schema":{"default":"7d","type":"string","enum":["1d","7d","14d","30d","60d"]}},{"name":"tier","required":false,"in":"query","schema":{"minimum":1,"maximum":11,"type":"integer"}},{"name":"type","required":false,"in":"query","schema":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]}},{"name":"minBattles","required":false,"in":"query","schema":{"minimum":0,"maximum":9007199254740991,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1TierListDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Tier list ranked by win-rate difference","tags":["v1-tanks"]}},"/v1/tanks/{id}":{"get":{"operationId":"getTank","parameters":[{"name":"id","required":true,"in":"path","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}},{"name":"mode","required":false,"in":"query","schema":{"default":"random","type":"string","enum":["all","random","ranked","epic","clan","stronghold"]}},{"name":"period","required":false,"in":"query","schema":{"default":"30d","type":"string","enum":["1d","7d","14d","30d","60d"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1TankDetailDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"One tank: final stats, server stats, MoE and mastery thresholds, top players","tags":["v1-tanks"]}},"/v1/marks":{"get":{"operationId":"listMarkThresholds","parameters":[{"name":"tiers","required":false,"in":"query","schema":{"type":"array","items":{"type":"integer","minimum":1,"maximum":11}}},{"name":"types","required":false,"in":"query","schema":{"type":"array","items":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]}}},{"name":"nations","required":false,"in":"query","schema":{"type":"array","items":{"type":"string","minLength":1,"maxLength":32}}},{"name":"premium","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"collectible","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"statuses","required":false,"in":"query","description":"Only vehicles with one of these statuses","schema":{"type":"array","items":{"type":"string","enum":["researchable","premium","collector","reward","removed"]}}},{"name":"roles","required":false,"in":"query","description":"Only vehicles with one of these battle roles","schema":{"type":"array","items":{"type":"string","enum":["HT_assault","HT_break","HT_universal","HT_support","MT_universal","MT_sniper","MT_assault","MT_support","LT_universal","LT_wheeled","ATSPG_sniper","ATSPG_assault","ATSPG_support","ATSPG_universal","SPG","SPG_assault","SPG_flame"]}}},{"name":"sort","required":false,"in":"query","schema":{"type":"string","enum":["p65","p85","p95","p100","master","tier","p95Delta30d","p95Change30d","sweat","masterySweat"]}},{"name":"order","required":false,"in":"query","schema":{"default":"desc","type":"string","enum":["asc","desc"]}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":25,"type":"integer"}},{"name":"offset","required":false,"in":"query","schema":{"minimum":0,"maximum":10000,"default":0,"type":"integer"}},{"name":"source","required":false,"in":"query","schema":{"type":"string","enum":["otmetki","poliroid","kttc","lesta","manual"]}},{"name":"search","required":false,"in":"query","description":"Case-insensitive match on the tank name or short name","schema":{"minLength":1,"maxLength":64,"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1MoePageDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Marks of excellence thresholds (65/85/95/100 %) and mastery thresholds per tank","tags":["v1-marks"]}},"/v1/marks/history":{"get":{"operationId":"getMarkHistoryBatch","parameters":[{"name":"tankIds","required":true,"in":"query","schema":{"type":"array","items":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0}}},{"name":"days","required":false,"in":"query","schema":{"minimum":1,"maximum":365,"default":30,"type":"integer"}},{"name":"source","required":false,"in":"query","schema":{"type":"string","enum":["otmetki","poliroid","kttc","lesta","manual"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1MoeHistoryBatchDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Threshold history of up to 100 tanks at once","tags":["v1-marks"]}},"/v1/marks/{id}/history":{"get":{"operationId":"getMarkHistory","parameters":[{"name":"id","required":true,"in":"path","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}},{"name":"from","required":false,"in":"query","schema":{"format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","type":"string"}},{"name":"to","required":false,"in":"query","schema":{"format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","type":"string"}},{"name":"source","required":false,"in":"query","schema":{"type":"string","enum":["otmetki","poliroid","kttc","lesta","manual"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1MoeHistoryDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Threshold history of one tank","tags":["v1-marks"]}},"/v1/clans":{"get":{"operationId":"listClans","parameters":[{"name":"sort","required":false,"in":"query","schema":{"type":"string","enum":["members","wn8","winRate","eloRating10","strongholdLevel","activeMembers"]}},{"name":"order","required":false,"in":"query","schema":{"default":"desc","type":"string","enum":["asc","desc"]}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":25,"type":"integer"}},{"name":"offset","required":false,"in":"query","schema":{"minimum":0,"maximum":10000,"default":0,"type":"integer"}},{"name":"search","required":false,"in":"query","description":"Matches the tag or the name","schema":{"minLength":2,"maxLength":32,"type":"string"}},{"name":"minMembers","required":false,"in":"query","schema":{"minimum":0,"maximum":9007199254740991,"type":"integer"}},{"name":"minWn8","required":false,"in":"query","schema":{"minimum":0,"type":"number"}},{"name":"minWinRate","required":false,"in":"query","schema":{"minimum":0,"maximum":100,"type":"number"}},{"name":"minStrongholdLevel","required":false,"in":"query","schema":{"minimum":0,"maximum":9007199254740991,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ClanListPageDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Search and filter clans","tags":["v1-clans"]}},"/v1/clans/{id}":{"get":{"operationId":"getClan","parameters":[{"name":"id","required":true,"in":"path","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ClanPageDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Clan page: stats, members, recent roster changes","tags":["v1-clans"]}},"/v1/clans/{id}/members":{"get":{"operationId":"listClanMembers","parameters":[{"name":"id","required":true,"in":"path","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ClanMembersDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Members with their ratings and activity","tags":["v1-clans"]}},"/v1/clans/{id}/events":{"get":{"operationId":"listClanEvents","parameters":[{"name":"id","required":true,"in":"path","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":25,"type":"integer"}},{"name":"offset","required":false,"in":"query","schema":{"minimum":0,"maximum":10000,"default":0,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ClanEventsPageDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Roster changes: joins, leaves, role changes","tags":["v1-clans"]}},"/v1/leaderboards":{"get":{"operationId":"getLeaderboard","parameters":[{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":25,"type":"integer"}},{"name":"offset","required":false,"in":"query","schema":{"minimum":0,"maximum":10000,"default":0,"type":"integer"}},{"name":"scope","required":false,"in":"query","description":"players: metric, period, minBattles, and tankId/tier/type (then ranked over those tanks); clans: metric only (latest clan snapshot); risingStars: metric, period (overall falls back to 30d), minBattles; marks: count of three-mark tanks, ignores the other filters; streamers: metric, period, minBattles","schema":{"default":"players","type":"string","enum":["players","clans","risingStars","marks","streamers"]}},{"name":"metric","required":false,"in":"query","schema":{"default":"wn8","type":"string","enum":["wn8","eff","broneIndex","winRate","avgDamage"]}},{"name":"period","required":false,"in":"query","schema":{"default":"30d","type":"string","enum":["1000","overall","24h","7d","30d","60d"]}},{"name":"tankId","required":false,"in":"query","schema":{"maximum":9007199254740991,"exclusiveMinimum":true,"type":"integer","minimum":0}},{"name":"tier","required":false,"in":"query","schema":{"minimum":1,"maximum":11,"type":"integer"}},{"name":"type","required":false,"in":"query","schema":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]}},{"name":"minBattles","required":false,"in":"query","schema":{"minimum":0,"maximum":9007199254740991,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1LeaderboardDto_Output"}}}},"400":{"description":"VALIDATION_FAILED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"401":{"description":"API_KEY_INVALID or API_KEY_REVOKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"404":{"description":"PLAYER_NOT_FOUND, CLAN_NOT_FOUND, TANK_NOT_FOUND or NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}},"429":{"description":"RATE_LIMITED or PLAN_LIMIT_REACHED; see the Retry-After header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1ApiErrorDto"}}}}},"security":[{"apiKey":[]}],"summary":"Players, clans, rising stars, marks and streamers leaderboards","tags":["v1-leaderboards"]}}},"info":{"title":"Three Marks Public API","description":"Derived «Мир танков» (Lesta RU) data: WN8 and recent periods, player history, server tank statistics, tier list, marks of excellence thresholds and their history, clans, leaderboards, sessions. Pass your key in the X-API-Key header; create one at /me/developer. Data source: Леста Игры.","version":"0.1.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"X-API-Key"}},"schemas":{"V1ApiErrorDto":{"type":"object","properties":{"error":{"type":"string"},"code":{"default":"INTERNAL_ERROR","type":"string","enum":["INTERNAL_ERROR","VALIDATION_FAILED","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","RATE_LIMITED","PLAYER_NOT_FOUND","CLAN_NOT_FOUND","TANK_NOT_FOUND","ARMOR_MODEL_NOT_FOUND","LESTA_UNAVAILABLE","LESTA_ACCOUNT_HIDDEN","API_KEY_INVALID","API_KEY_REVOKED","PLAN_LIMIT_REACHED","MOD_DEVICE_INVALID","MOD_SIGNATURE_INVALID","BIND_CODE_INVALID","GOAL_CLOSED","PAYMENT_REQUIRED","PAYMENT_FAILED","SUBSCRIPTION_REQUIRED","CHECKOUT_UNAVAILABLE","TRIAL_UNAVAILABLE","PROMO_INVALID","PROMO_EXPIRED","PROMO_EXHAUSTED","PROMO_ALREADY_REDEEMED","PROMO_CHECKOUT_ONLY","PROMO_REDEEM_ONLY","REPLAY_INVALID","REPLAY_DUPLICATE","STREAMER_SLUG_TAKEN","STREAMER_CHANNEL_TAKEN"]},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"array","items":{"type":["string","number"]}},"message":{"type":"string"}},"required":["path","message"]}},"retryAfterSec":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"details":{"type":"object","properties":{"feature":{"type":"string","enum":["history","analytics","mapAdvisor","battleAnalysis","aiCoach","moeTracker","priorityPolling","progression","overlays","cosmetics","analyticsExport","apiLimits","earlyAccess","hangarExtras","privateCompetitions","streamerAlerts","supertest","armor3d"]},"limitKey":{"type":"string","enum":["linkedAccounts","goals","watchedTanks","watchedPlayers","overlays","storedReplays","streamerFollows","historyDays","aiReviews"]},"limit":{"type":"integer","minimum":0,"maximum":9007199254740991}}}},"required":["error","code"]},"V1PlayerProfileDto_Output":{"type":"object","properties":{"summary":{"type":"object","properties":{"accountId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"nickname":{"type":"string"},"clan":{"type":"object","properties":{"clanId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"tag":{"type":"string"},"name":{"type":"string"},"color":{"type":["string","null"]},"role":{"type":"string"},"emblem":{"type":"string","format":"uri","nullable":true},"joinedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["clanId","tag","name","color","role","emblem","joinedAt"],"additionalProperties":false,"nullable":true},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"lastBattleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"isTracked":{"type":"boolean"},"overall":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgDamage":{"type":"number","minimum":0,"nullable":true},"avgFrags":{"type":"number","minimum":0,"nullable":true},"avgSpotted":{"type":"number","minimum":0,"nullable":true},"avgXp":{"type":"number","minimum":0,"nullable":true},"avgBlocked":{"type":"number","minimum":0,"nullable":true},"avgAssisted":{"type":"number","minimum":0,"nullable":true},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"accuracy":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgTier":{"type":"number","minimum":1,"maximum":11,"nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"eff":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"broneIndex":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false}},"required":["battles","winRate","avgDamage","avgFrags","avgSpotted","avgXp","avgBlocked","avgAssisted","survivalRate","accuracy","avgTier","wn8","eff","broneIndex"],"additionalProperties":false},"marks":{"type":"object","properties":{"moe3":{"type":"integer","minimum":0,"maximum":9007199254740991},"moe2":{"type":"integer","minimum":0,"maximum":9007199254740991},"moe1":{"type":"integer","minimum":0,"maximum":9007199254740991},"mastery":{"type":"integer","minimum":0,"maximum":9007199254740991},"tanksOwned":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["moe3","moe2","moe1","mastery","tanksOwned"],"additionalProperties":false}},"required":["accountId","nickname","clan","createdAt","lastBattleAt","updatedAt","isTracked","overall","marks"],"additionalProperties":false},"recent":{"type":"array","items":{"type":"object","properties":{"period":{"type":"string","enum":["1000","24h","7d","30d","60d"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"stats":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgDamage":{"type":"number","minimum":0,"nullable":true},"avgFrags":{"type":"number","minimum":0,"nullable":true},"avgSpotted":{"type":"number","minimum":0,"nullable":true},"avgXp":{"type":"number","minimum":0,"nullable":true},"avgBlocked":{"type":"number","minimum":0,"nullable":true},"avgAssisted":{"type":"number","minimum":0,"nullable":true},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"accuracy":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgTier":{"type":"number","minimum":1,"maximum":11,"nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"eff":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"broneIndex":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false}},"required":["battles","winRate","avgDamage","avgFrags","avgSpotted","avgXp","avgBlocked","avgAssisted","survivalRate","accuracy","avgTier","wn8","eff","broneIndex"],"additionalProperties":false,"nullable":true}},"required":["period","from","to","stats"],"additionalProperties":false}}},"required":["summary","recent"],"additionalProperties":false},"V1RecentPeriodsDto_Output":{"type":"array","items":{"type":"object","properties":{"period":{"type":"string","enum":["1000","24h","7d","30d","60d"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"stats":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgDamage":{"type":"number","minimum":0,"nullable":true},"avgFrags":{"type":"number","minimum":0,"nullable":true},"avgSpotted":{"type":"number","minimum":0,"nullable":true},"avgXp":{"type":"number","minimum":0,"nullable":true},"avgBlocked":{"type":"number","minimum":0,"nullable":true},"avgAssisted":{"type":"number","minimum":0,"nullable":true},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"accuracy":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgTier":{"type":"number","minimum":1,"maximum":11,"nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"eff":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"broneIndex":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false}},"required":["battles","winRate","avgDamage","avgFrags","avgSpotted","avgXp","avgBlocked","avgAssisted","survivalRate","accuracy","avgTier","wn8","eff","broneIndex"],"additionalProperties":false,"nullable":true}},"required":["period","from","to","stats"],"additionalProperties":false}},"V1PlayerTanksPageDto_Output":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgDamage":{"type":"number","minimum":0,"nullable":true},"avgFrags":{"type":"number","minimum":0,"nullable":true},"avgXp":{"type":"number","minimum":0,"nullable":true},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"markOfMastery":{"type":"integer","minimum":0,"maximum":4},"marksOnGun":{"type":"integer","minimum":0,"maximum":3,"nullable":true},"moePercent":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"damagePercentile":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"maxFrags":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"maxXp":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"lastBattleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"recent":{"type":"object","properties":{"period":{"type":"string","enum":["1000","24h","7d","30d","60d"]},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"stats":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgDamage":{"type":"number","minimum":0,"nullable":true},"avgFrags":{"type":"number","minimum":0,"nullable":true},"avgSpotted":{"type":"number","minimum":0,"nullable":true},"avgXp":{"type":"number","minimum":0,"nullable":true},"avgBlocked":{"type":"number","minimum":0,"nullable":true},"avgAssisted":{"type":"number","minimum":0,"nullable":true},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"accuracy":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgTier":{"type":"number","minimum":1,"maximum":11,"nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"eff":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"broneIndex":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false}},"required":["battles","winRate","avgDamage","avgFrags","avgSpotted","avgXp","avgBlocked","avgAssisted","survivalRate","accuracy","avgTier","wn8","eff","broneIndex"],"additionalProperties":false,"nullable":true}},"required":["period","from","to","stats"],"additionalProperties":false,"nullable":true}},"required":["vehicle","battles","winRate","avgDamage","avgFrags","avgXp","survivalRate","wn8","markOfMastery","marksOnGun","moePercent","damagePercentile","maxFrags","maxXp","lastBattleAt","recent"],"additionalProperties":false}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","limit","offset"],"additionalProperties":false},"V1TimeSeriesDto_Output":{"type":"object","properties":{"metric":{"type":"string","enum":["wn8","winRate","avgDamage","battles","broneIndex","eff"]},"granularity":{"type":"string","enum":["day","week","month"]},"points":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"value":{"type":["number","null"]},"battles":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["at","value"],"additionalProperties":false}},"markers":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"kind":{"type":"string","enum":["patch","event"]},"label":{"type":"string"}},"required":["at","kind","label"],"additionalProperties":false}}},"required":["metric","granularity","points","markers"],"additionalProperties":false},"V1PlayerMarksDto_Output":{"type":"object","properties":{"summary":{"type":"object","properties":{"moe3":{"type":"integer","minimum":0,"maximum":9007199254740991},"moe2":{"type":"integer","minimum":0,"maximum":9007199254740991},"moe1":{"type":"integer","minimum":0,"maximum":9007199254740991},"mastery":{"type":"integer","minimum":0,"maximum":9007199254740991},"eligible":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["moe3","moe2","moe1","mastery","eligible"],"additionalProperties":false},"items":{"type":"array","items":{"type":"object","properties":{"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"marksOnGun":{"type":"integer","minimum":0,"maximum":3,"nullable":true},"markOfMastery":{"type":"integer","minimum":0,"maximum":4},"moePercent":{"type":"number","minimum":0,"maximum":100,"description":"Current MoE percent from the mod; null without mod data","nullable":true},"movingDamage":{"type":"number","minimum":0,"description":"The game-client moving average of combined damage, from the mod","nullable":true},"avgCombinedDamage":{"type":"number","minimum":0,"description":"Average of damage + max(radio assist, track assist, stun assist) over the last mod battles, or the average damage when there are none","nullable":true},"combinedDamageSource":{"type":"string","enum":["battles","damage",null],"nullable":true},"thresholds":{"type":"object","properties":{"p65":{"type":"number","minimum":0},"p85":{"type":"number","minimum":0},"p95":{"type":"number","minimum":0},"p100":{"type":"number","minimum":0,"nullable":true}},"required":["p65","p85","p95","p100"],"additionalProperties":false,"nullable":true},"nextMarkPercent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"damageToNextMark":{"type":"number","minimum":0,"nullable":true},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["vehicle","battles","marksOnGun","markOfMastery","moePercent","movingDamage","avgCombinedDamage","combinedDamageSource","thresholds","nextMarkPercent","damageToNextMark","updatedAt"],"additionalProperties":false}}},"required":["summary","items"],"additionalProperties":false},"V1SessionsPageDto_Output":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","enum":["day","live"]},"source":{"type":"string","enum":["api","mod"]},"isLive":{"type":"boolean"},"day":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","nullable":true},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"stats":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgDamage":{"type":"number","minimum":0,"nullable":true},"avgFrags":{"type":"number","minimum":0,"nullable":true},"avgSpotted":{"type":"number","minimum":0,"nullable":true},"avgXp":{"type":"number","minimum":0,"nullable":true},"avgBlocked":{"type":"number","minimum":0,"nullable":true},"avgAssisted":{"type":"number","minimum":0,"nullable":true},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"accuracy":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgTier":{"type":"number","minimum":1,"maximum":11,"nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"eff":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"broneIndex":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false}},"required":["battles","winRate","avgDamage","avgFrags","avgSpotted","avgXp","avgBlocked","avgAssisted","survivalRate","accuracy","avgTier","wn8","eff","broneIndex"],"additionalProperties":false}},"required":["id","kind","source","isLive","day","startedAt","endedAt","stats"],"additionalProperties":false}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","limit","offset"],"additionalProperties":false},"V1SessionDto_Output":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"accountId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"kind":{"type":"string","enum":["day","live"]},"source":{"type":"string","enum":["api","mod"]},"isLive":{"type":"boolean"},"day":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","nullable":true},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"stats":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgDamage":{"type":"number","minimum":0,"nullable":true},"avgFrags":{"type":"number","minimum":0,"nullable":true},"avgSpotted":{"type":"number","minimum":0,"nullable":true},"avgXp":{"type":"number","minimum":0,"nullable":true},"avgBlocked":{"type":"number","minimum":0,"nullable":true},"avgAssisted":{"type":"number","minimum":0,"nullable":true},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"accuracy":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgTier":{"type":"number","minimum":1,"maximum":11,"nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"eff":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"broneIndex":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false}},"required":["battles","winRate","avgDamage","avgFrags","avgSpotted","avgXp","avgBlocked","avgAssisted","survivalRate","accuracy","avgTier","wn8","eff","broneIndex"],"additionalProperties":false},"credits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"tanks":{"type":"array","items":{"type":"object","properties":{"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"stats":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgDamage":{"type":"number","minimum":0,"nullable":true},"avgFrags":{"type":"number","minimum":0,"nullable":true},"avgSpotted":{"type":"number","minimum":0,"nullable":true},"avgXp":{"type":"number","minimum":0,"nullable":true},"avgBlocked":{"type":"number","minimum":0,"nullable":true},"avgAssisted":{"type":"number","minimum":0,"nullable":true},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"accuracy":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgTier":{"type":"number","minimum":1,"maximum":11,"nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"eff":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"broneIndex":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false}},"required":["battles","winRate","avgDamage","avgFrags","avgSpotted","avgXp","avgBlocked","avgAssisted","survivalRate","accuracy","avgTier","wn8","eff","broneIndex"],"additionalProperties":false}},"required":["vehicle","stats"],"additionalProperties":false}},"battles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"arenaUniqueId":{"type":"string"},"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"arenaId":{"type":"string"},"mapName":{"type":"string"},"battleType":{"type":"string"},"result":{"type":"string","enum":["win","loss","draw"]},"survived":{"type":"boolean"},"damageDealt":{"type":"integer","minimum":0,"maximum":9007199254740991},"damageAssisted":{"type":"integer","minimum":0,"maximum":9007199254740991},"damageBlocked":{"type":"integer","minimum":0,"maximum":9007199254740991},"spotted":{"type":"integer","minimum":0,"maximum":9007199254740991},"frags":{"type":"integer","minimum":0,"maximum":9007199254740991},"xp":{"type":"integer","minimum":0,"maximum":9007199254740991},"credits":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"moePercent":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"moePercentDelta":{"type":["number","null"]},"queueTimeSec":{"type":"number","minimum":0,"nullable":true},"durationSec":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"shots":{"type":"array","items":{"type":"object","properties":{"at":{"type":"number","minimum":0},"hit":{"type":"boolean"},"pierced":{"type":"boolean"},"damage":{"type":"integer","minimum":0,"maximum":9007199254740991},"shellKind":{"type":["string","null"]}},"required":["at","hit","pierced","damage","shellKind"],"additionalProperties":false},"nullable":true},"startedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["id","arenaUniqueId","vehicle","arenaId","mapName","battleType","result","survived","damageDealt","damageAssisted","damageBlocked","spotted","frags","xp","credits","moePercent","moePercentDelta","queueTimeSec","durationSec","shots","startedAt"],"additionalProperties":false},"description":"Individual battles, only for sessions the mod reported (source=mod); null for day sessions built from Lesta API diffs (source=api)","nullable":true},"best":{"type":"object","properties":{"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"stats":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgDamage":{"type":"number","minimum":0,"nullable":true},"avgFrags":{"type":"number","minimum":0,"nullable":true},"avgSpotted":{"type":"number","minimum":0,"nullable":true},"avgXp":{"type":"number","minimum":0,"nullable":true},"avgBlocked":{"type":"number","minimum":0,"nullable":true},"avgAssisted":{"type":"number","minimum":0,"nullable":true},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"accuracy":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgTier":{"type":"number","minimum":1,"maximum":11,"nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"eff":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"broneIndex":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false}},"required":["battles","winRate","avgDamage","avgFrags","avgSpotted","avgXp","avgBlocked","avgAssisted","survivalRate","accuracy","avgTier","wn8","eff","broneIndex"],"additionalProperties":false}},"required":["vehicle","stats"],"additionalProperties":false,"nullable":true},"worst":{"type":"object","properties":{"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"stats":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgDamage":{"type":"number","minimum":0,"nullable":true},"avgFrags":{"type":"number","minimum":0,"nullable":true},"avgSpotted":{"type":"number","minimum":0,"nullable":true},"avgXp":{"type":"number","minimum":0,"nullable":true},"avgBlocked":{"type":"number","minimum":0,"nullable":true},"avgAssisted":{"type":"number","minimum":0,"nullable":true},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"accuracy":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgTier":{"type":"number","minimum":1,"maximum":11,"nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"eff":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"broneIndex":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false}},"required":["battles","winRate","avgDamage","avgFrags","avgSpotted","avgXp","avgBlocked","avgAssisted","survivalRate","accuracy","avgTier","wn8","eff","broneIndex"],"additionalProperties":false}},"required":["vehicle","stats"],"additionalProperties":false,"nullable":true}},"required":["id","accountId","kind","source","isLive","day","startedAt","endedAt","stats","credits","tanks","battles","best","worst"],"additionalProperties":false},"V1TankStatsPageDto_Output":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"period":{"type":"string","enum":["1d","7d","14d","30d","60d"]},"cohort":{"type":"string","enum":["all","beginner","average","good","elite"]},"mode":{"type":"string","enum":["all","random","ranked","epic","clan","stronghold"]},"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"players":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100"},"playerWinRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100"},"winRateDiff":{"type":"number","minimum":-100,"maximum":100,"description":"Percentage points, −100…100"},"avgDamage":{"type":"number","minimum":0},"avgFrags":{"type":"number","minimum":0},"avgSpotted":{"type":"number","minimum":0},"avgXp":{"type":"number","minimum":0},"avgBlocked":{"type":"number","minimum":0},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100"},"accuracy":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100"},"popularityRank":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"computedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["vehicle","period","cohort","mode","battles","players","winRate","playerWinRate","winRateDiff","avgDamage","avgFrags","avgSpotted","avgXp","avgBlocked","survivalRate","accuracy","popularityRank","computedAt"],"additionalProperties":false}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","limit","offset"],"additionalProperties":false},"V1TierListDto_Output":{"type":"object","properties":{"mode":{"type":"string","enum":["all","random","ranked","epic","clan","stronghold"]},"period":{"type":"string","enum":["1d","7d","14d","30d","60d"]},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"entries":{"type":"array","items":{"type":"object","properties":{"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"rank":{"type":"string","enum":["S","A","B","C","D","F"]},"score":{"type":"number"},"winRateDiff":{"type":"number","minimum":-100,"maximum":100,"description":"Percentage points, −100…100"},"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"trend":{"type":"string","enum":["up","down","flat",null],"nullable":true}},"required":["vehicle","rank","score","winRateDiff","battles","trend"],"additionalProperties":false}}},"required":["mode","period","generatedAt","entries"],"additionalProperties":false},"V1TankDetailDto_Output":{"type":"object","properties":{"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"description":{"type":"string","nullable":true},"specs":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The full parsed game-client vehicle spec: every module, shell and armour value","nullable":true},"stats":{"type":"object","properties":{"stock":{"type":"object","properties":{"modules":{"type":"object","additionalProperties":{"type":"string"}},"maxHealth":{"type":"integer","minimum":0,"maximum":9007199254740991},"weight":{"type":"number","minimum":0},"enginePower":{"type":"number","minimum":0},"powerToWeight":{"type":"number","minimum":0},"speedForward":{"type":"number","minimum":0},"speedBackward":{"type":"number","minimum":0},"hullTraverse":{"type":"number","minimum":0},"turretTraverse":{"type":"number","minimum":0},"viewRange":{"type":"number","minimum":0},"radioRange":{"type":"number","minimum":0},"reloadTime":{"type":"number","minimum":0},"rateOfFire":{"type":"number","minimum":0},"aimingTime":{"type":"number","minimum":0},"dispersion":{"type":"number","minimum":0},"dispersionMovement":{"type":"number","minimum":0},"dispersionHullRotation":{"type":"number","minimum":0},"dispersionTurretRotation":{"type":"number","minimum":0},"elevation":{"type":["number","null"]},"depression":{"type":["number","null"]},"clip":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"interval":{"type":"number","minimum":0},"reloadTime":{"type":"number","minimum":0}},"required":["count","interval","reloadTime"],"additionalProperties":false,"nullable":true},"shell":{"type":"object","properties":{"shell":{"type":"string"},"kind":{"type":["string","null"]},"caliber":{"type":"number","minimum":0,"nullable":true},"isPremium":{"type":"boolean"},"damage":{"type":"integer","minimum":0,"maximum":9007199254740991},"penetration100m":{"type":"number","minimum":0},"penetration500m":{"type":"number","minimum":0},"speed":{"type":"number","minimum":0},"explosionRadius":{"type":"number","minimum":0,"nullable":true},"damagePerMinute":{"type":"number","minimum":0}},"required":["shell","kind","caliber","isPremium","damage","penetration100m","penetration500m","speed","explosionRadius","damagePerMinute"],"additionalProperties":false,"nullable":true},"shells":{"type":"array","items":{"type":"object","properties":{"shell":{"type":"string"},"kind":{"type":["string","null"]},"caliber":{"type":"number","minimum":0,"nullable":true},"isPremium":{"type":"boolean"},"damage":{"type":"integer","minimum":0,"maximum":9007199254740991},"penetration100m":{"type":"number","minimum":0},"penetration500m":{"type":"number","minimum":0},"speed":{"type":"number","minimum":0},"explosionRadius":{"type":"number","minimum":0,"nullable":true},"damagePerMinute":{"type":"number","minimum":0}},"required":["shell","kind","caliber","isPremium","damage","penetration100m","penetration500m","speed","explosionRadius","damagePerMinute"],"additionalProperties":false}}},"required":["modules","maxHealth","weight","enginePower","powerToWeight","speedForward","speedBackward","hullTraverse","turretTraverse","viewRange","radioRange","reloadTime","rateOfFire","aimingTime","dispersion","dispersionMovement","dispersionHullRotation","dispersionTurretRotation","elevation","depression","clip","shell","shells"],"additionalProperties":false,"description":"Final stats of one module configuration in seconds, metres, km/h, hp and degrees per second; shell is the first (standard) shell","nullable":true},"top":{"type":"object","properties":{"modules":{"type":"object","additionalProperties":{"type":"string"}},"maxHealth":{"type":"integer","minimum":0,"maximum":9007199254740991},"weight":{"type":"number","minimum":0},"enginePower":{"type":"number","minimum":0},"powerToWeight":{"type":"number","minimum":0},"speedForward":{"type":"number","minimum":0},"speedBackward":{"type":"number","minimum":0},"hullTraverse":{"type":"number","minimum":0},"turretTraverse":{"type":"number","minimum":0},"viewRange":{"type":"number","minimum":0},"radioRange":{"type":"number","minimum":0},"reloadTime":{"type":"number","minimum":0},"rateOfFire":{"type":"number","minimum":0},"aimingTime":{"type":"number","minimum":0},"dispersion":{"type":"number","minimum":0},"dispersionMovement":{"type":"number","minimum":0},"dispersionHullRotation":{"type":"number","minimum":0},"dispersionTurretRotation":{"type":"number","minimum":0},"elevation":{"type":["number","null"]},"depression":{"type":["number","null"]},"clip":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"interval":{"type":"number","minimum":0},"reloadTime":{"type":"number","minimum":0}},"required":["count","interval","reloadTime"],"additionalProperties":false,"nullable":true},"shell":{"type":"object","properties":{"shell":{"type":"string"},"kind":{"type":["string","null"]},"caliber":{"type":"number","minimum":0,"nullable":true},"isPremium":{"type":"boolean"},"damage":{"type":"integer","minimum":0,"maximum":9007199254740991},"penetration100m":{"type":"number","minimum":0},"penetration500m":{"type":"number","minimum":0},"speed":{"type":"number","minimum":0},"explosionRadius":{"type":"number","minimum":0,"nullable":true},"damagePerMinute":{"type":"number","minimum":0}},"required":["shell","kind","caliber","isPremium","damage","penetration100m","penetration500m","speed","explosionRadius","damagePerMinute"],"additionalProperties":false,"nullable":true},"shells":{"type":"array","items":{"type":"object","properties":{"shell":{"type":"string"},"kind":{"type":["string","null"]},"caliber":{"type":"number","minimum":0,"nullable":true},"isPremium":{"type":"boolean"},"damage":{"type":"integer","minimum":0,"maximum":9007199254740991},"penetration100m":{"type":"number","minimum":0},"penetration500m":{"type":"number","minimum":0},"speed":{"type":"number","minimum":0},"explosionRadius":{"type":"number","minimum":0,"nullable":true},"damagePerMinute":{"type":"number","minimum":0}},"required":["shell","kind","caliber","isPremium","damage","penetration100m","penetration500m","speed","explosionRadius","damagePerMinute"],"additionalProperties":false}}},"required":["modules","maxHealth","weight","enginePower","powerToWeight","speedForward","speedBackward","hullTraverse","turretTraverse","viewRange","radioRange","reloadTime","rateOfFire","aimingTime","dispersion","dispersionMovement","dispersionHullRotation","dispersionTurretRotation","elevation","depression","clip","shell","shells"],"additionalProperties":false,"description":"Final stats of one module configuration in seconds, metres, km/h, hp and degrees per second; shell is the first (standard) shell","nullable":true}},"required":["stock","top"],"additionalProperties":false},"serverStats":{"type":"array","items":{"type":"object","properties":{"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"period":{"type":"string","enum":["1d","7d","14d","30d","60d"]},"cohort":{"type":"string","enum":["all","beginner","average","good","elite"]},"mode":{"type":"string","enum":["all","random","ranked","epic","clan","stronghold"]},"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"players":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100"},"playerWinRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100"},"winRateDiff":{"type":"number","minimum":-100,"maximum":100,"description":"Percentage points, −100…100"},"avgDamage":{"type":"number","minimum":0},"avgFrags":{"type":"number","minimum":0},"avgSpotted":{"type":"number","minimum":0},"avgXp":{"type":"number","minimum":0},"avgBlocked":{"type":"number","minimum":0},"survivalRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100"},"accuracy":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100"},"popularityRank":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"computedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["vehicle","period","cohort","mode","battles","players","winRate","playerWinRate","winRateDiff","avgDamage","avgFrags","avgSpotted","avgXp","avgBlocked","survivalRate","accuracy","popularityRank","computedAt"],"additionalProperties":false}},"moe":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"source":{"type":"string","enum":["otmetki","poliroid","kttc","lesta","manual"]},"p65":{"type":"integer","minimum":0,"maximum":9007199254740991},"p85":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"p100":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true}},"required":["tankId","date","source","p65","p85","p95","p100"],"additionalProperties":false,"nullable":true},"mastery":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"source":{"type":"string","enum":["otmetki","poliroid","kttc","lesta","manual"]},"class3":{"type":"integer","minimum":0,"maximum":9007199254740991},"class2":{"type":"integer","minimum":0,"maximum":9007199254740991},"class1":{"type":"integer","minimum":0,"maximum":9007199254740991},"master":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["tankId","date","source","class3","class2","class1","master"],"additionalProperties":false,"nullable":true},"topPlayers":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"accountId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"clanId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"name":{"type":"string"},"clanTag":{"type":["string","null"]},"color":{"description":"Clan colour (#rrggbb) for clan rows, null for players","type":["string","null"]},"value":{"type":"number","description":"The metric value; winRate is a percent"},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true},"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"delta":{"type":["number","null"]}},"required":["rank","accountId","clanId","name","clanTag","color","value","tier","battles","delta"],"additionalProperties":false}},"obtain":{"type":"object","properties":{"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"]},"role":{"type":"string","enum":["HT_assault","HT_break","HT_universal","HT_support","MT_universal","MT_sniper","MT_assault","MT_support","LT_universal","LT_wheeled","ATSPG_sniper","ATSPG_assault","ATSPG_support","ATSPG_universal","SPG","SPG_assault","SPG_flame",null],"nullable":true},"sources":{"type":"array","items":{"type":"string","enum":["techTree","inGameShop","premiumShop","collectorShop","clanWars","subscription","lootboxes","reward"]}},"priceCredits":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"priceGold":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"researchFrom":{"type":"array","items":{"type":"object","properties":{"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"xp":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true}},"required":["vehicle","xp"],"additionalProperties":false}},"offers":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"items":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string","maxLength":2048,"format":"uri","nullable":true},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"lastSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"priceRub":{"type":"number","minimum":0,"nullable":true},"priceGold":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"discountPercent":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true}},"required":["title","url","startsAt","endsAt","lastSeenAt","priceRub","priceGold","discountPercent"],"additionalProperties":false}}},"required":["total","items"],"additionalProperties":false},"news":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string","maxLength":2048,"format":"uri"},"publishedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["title","url","publishedAt"],"additionalProperties":false}},"missions":{"type":"array","items":{"type":"object","properties":{"campaignId":{"type":"integer","minimum":0,"maximum":9007199254740991},"operationId":{"type":"integer","minimum":0,"maximum":9007199254740991},"campaignName":{"type":["string","null"]},"operationName":{"type":["string","null"]},"isCampaignReward":{"type":"boolean","description":"The tank is the reward for the whole campaign rather than for one operation"}},"required":["campaignId","operationId","campaignName","operationName","isCampaignReward"],"additionalProperties":false},"description":"Personal-mission operations and campaigns that award this tank"},"editorial":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"kind":{"type":"string","enum":["personalMissions","event","battlePass","bonds","workshop","shop","lootboxes","clanWars","other"]},"title":{"type":["string","null"]},"url":{"type":["string","null"]},"note":{"type":["string","null"]},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"event":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string"},"url":{"type":["string","null"]},"startsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"endsAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["slug","title","url","startsAt","endsAt"],"additionalProperties":false,"nullable":true},"mission":{"type":"object","properties":{"campaignId":{"type":"integer","minimum":0,"maximum":9007199254740991},"operationId":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["campaignId","operationId"],"additionalProperties":false,"nullable":true}},"required":["id","kind","title","url","note","startsAt","endsAt","event","mission"],"additionalProperties":false},"description":"Editorial sources: events, battle pass, bonds, workshop and so on"}},"required":["status","role","sources","priceCredits","priceGold","researchFrom","offers","news","missions","editorial"],"additionalProperties":false},"economy":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"windowDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"all":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"players":{"type":"integer","minimum":0,"maximum":9007199254740991},"costBattles":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Battles whose repair, ammo and consumable costs were reported by the mod"},"credits":{"description":"Median credits earned per battle, all bonuses included","type":["number","null"]},"creditsBase":{"description":"Median credits earned before the premium account bonus","type":["number","null"]},"repair":{"type":["number","null"]},"ammo":{"type":["number","null"]},"consumables":{"type":["number","null"]},"net":{"description":"Median credits earned minus repair, ammo and consumables","type":["number","null"]},"xp":{"type":["number","null"]},"freeXp":{"type":["number","null"]}},"required":["battles","players","costBattles","credits","creditsBase","repair","ammo","consumables","net","xp","freeXp"],"additionalProperties":false,"nullable":true},"premium":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"players":{"type":"integer","minimum":0,"maximum":9007199254740991},"costBattles":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Battles whose repair, ammo and consumable costs were reported by the mod"},"credits":{"description":"Median credits earned per battle, all bonuses included","type":["number","null"]},"creditsBase":{"description":"Median credits earned before the premium account bonus","type":["number","null"]},"repair":{"type":["number","null"]},"ammo":{"type":["number","null"]},"consumables":{"type":["number","null"]},"net":{"description":"Median credits earned minus repair, ammo and consumables","type":["number","null"]},"xp":{"type":["number","null"]},"freeXp":{"type":["number","null"]}},"required":["battles","players","costBattles","credits","creditsBase","repair","ammo","consumables","net","xp","freeXp"],"additionalProperties":false,"nullable":true},"standard":{"type":"object","properties":{"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"players":{"type":"integer","minimum":0,"maximum":9007199254740991},"costBattles":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Battles whose repair, ammo and consumable costs were reported by the mod"},"credits":{"description":"Median credits earned per battle, all bonuses included","type":["number","null"]},"creditsBase":{"description":"Median credits earned before the premium account bonus","type":["number","null"]},"repair":{"type":["number","null"]},"ammo":{"type":["number","null"]},"consumables":{"type":["number","null"]},"net":{"description":"Median credits earned minus repair, ammo and consumables","type":["number","null"]},"xp":{"type":["number","null"]},"freeXp":{"type":["number","null"]}},"required":["battles","players","costBattles","credits","creditsBase","repair","ammo","consumables","net","xp","freeXp"],"additionalProperties":false,"nullable":true},"computedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["tankId","windowDays","all","premium","standard","computedAt"],"additionalProperties":false},"learning":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"windowDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"buckets":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"from":{"type":"integer","minimum":0,"maximum":9007199254740991},"to":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"players":{"type":"integer","minimum":0,"maximum":9007199254740991},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgDamage":{"type":"number","minimum":0,"nullable":true}},"required":["index","from","to","battles","players","winRate","avgDamage"],"additionalProperties":false}},"gain":{"type":"number","minimum":-100,"maximum":100,"description":"Win-rate gain from the first to the last bucket with enough battles","nullable":true},"difficulty":{"type":"string","enum":["easy","moderate","hard","hardcore",null],"nullable":true},"computedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["tankId","windowDays","buckets","gain","difficulty","computedAt"],"additionalProperties":false},"sweat":{"type":"object","properties":{"moe":{"type":"number","exclusiveMinimum":0,"description":"95% threshold divided by the average-cohort mean damage on the tank","nullable":true},"moeLevel":{"type":"string","enum":["easy","moderate","hard","extreme",null],"nullable":true},"mastery":{"type":"number","exclusiveMinimum":0,"description":"Ace Tanker threshold divided by the average-cohort mean XP on the tank","nullable":true},"masteryLevel":{"type":"string","enum":["easy","moderate","hard","extreme",null],"nullable":true}},"required":["moe","moeLevel","mastery","masteryLevel"],"additionalProperties":false}},"required":["vehicle","description","specs","stats","serverStats","moe","mastery","topPlayers","obtain","economy","learning","sweat"],"additionalProperties":false},"V1MoePageDto_Output":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"vehicle":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"name":{"type":"string"},"shortName":{"type":"string"},"slug":{"type":"string"},"nation":{"type":"string","minLength":1,"maxLength":32},"type":{"type":"string","enum":["lightTank","mediumTank","heavyTank","AT-SPG","SPG"]},"tier":{"type":"integer","minimum":1,"maximum":11},"isPremium":{"type":"boolean"},"isCollectible":{"type":"boolean"},"status":{"type":"string","enum":["researchable","premium","collector","reward","removed"],"description":"How the vehicle is obtained: researched in the tech tree, sold for gold, a collector vehicle, a reward, or no longer obtainable"},"images":{"type":"object","properties":{"small":{"type":"string","format":"uri","nullable":true},"contour":{"type":"string","format":"uri","nullable":true},"big":{"type":"string","format":"uri","nullable":true},"large":{"type":"string","format":"uri","description":"600×450 render from the Lesta client assets for large displays; fall back to `big` when it is missing or fails to load","nullable":true}},"required":["small","contour","big"],"additionalProperties":false}},"required":["tankId","name","shortName","slug","nation","type","tier","isPremium","isCollectible","status","images"],"additionalProperties":false},"moe":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"source":{"type":"string","enum":["otmetki","poliroid","kttc","lesta","manual"]},"p65":{"type":"integer","minimum":0,"maximum":9007199254740991},"p85":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"p100":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true}},"required":["tankId","date","source","p65","p85","p95","p100"],"additionalProperties":false,"nullable":true},"mastery":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"source":{"type":"string","enum":["otmetki","poliroid","kttc","lesta","manual"]},"class3":{"type":"integer","minimum":0,"maximum":9007199254740991},"class2":{"type":"integer","minimum":0,"maximum":9007199254740991},"class1":{"type":"integer","minimum":0,"maximum":9007199254740991},"master":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["tankId","date","source","class3","class2","class1","master"],"additionalProperties":false,"nullable":true},"trend":{"type":"object","properties":{"p95Delta7d":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"p95Delta30d":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true}},"required":["p95Delta7d","p95Delta30d"],"additionalProperties":false},"sweat":{"type":"object","properties":{"moe":{"type":"number","exclusiveMinimum":0,"description":"95% threshold divided by the average-cohort mean damage on the tank","nullable":true},"moeLevel":{"type":"string","enum":["easy","moderate","hard","extreme",null],"nullable":true},"mastery":{"type":"number","exclusiveMinimum":0,"description":"Ace Tanker threshold divided by the average-cohort mean XP on the tank","nullable":true},"masteryLevel":{"type":"string","enum":["easy","moderate","hard","extreme",null],"nullable":true}},"required":["moe","moeLevel","mastery","masteryLevel"],"additionalProperties":false},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true}},"required":["vehicle","moe","mastery","trend","sweat","updatedAt"],"additionalProperties":false}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","limit","offset"],"additionalProperties":false},"V1MoeHistoryBatchDto_Output":{"type":"object","properties":{"days":{"type":"integer","minimum":0,"maximum":9007199254740991},"series":{"type":"array","items":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"points":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"p65":{"type":"integer","minimum":0,"maximum":9007199254740991},"p85":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"p100":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true}},"required":["date","p65","p85","p95","p100"],"additionalProperties":false}}},"required":["tankId","points"],"additionalProperties":false}}},"required":["days","series"],"additionalProperties":false},"V1MoeHistoryDto_Output":{"type":"array","items":{"type":"object","properties":{"tankId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"source":{"type":"string","enum":["otmetki","poliroid","kttc","lesta","manual"]},"p65":{"type":"integer","minimum":0,"maximum":9007199254740991},"p85":{"type":"integer","minimum":0,"maximum":9007199254740991},"p95":{"type":"integer","minimum":0,"maximum":9007199254740991},"p100":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true}},"required":["tankId","date","source","p65","p85","p95","p100"],"additionalProperties":false}},"V1ClanListPageDto_Output":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"clan":{"type":"object","properties":{"clanId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"tag":{"type":"string"},"name":{"type":"string"},"color":{"type":["string","null"]},"motto":{"type":["string","null"]},"emblem":{"type":"string","format":"uri","nullable":true},"membersCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"isDisbanded":{"type":"boolean"}},"required":["clanId","tag","name","color","motto","emblem","membersCount","createdAt","isDisbanded"],"additionalProperties":false},"avgWn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"avgWinRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"activeMembers7d":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"eloRating10":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"strongholdLevel":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true}},"required":["clan","avgWn8","avgWinRate","activeMembers7d","eloRating10","strongholdLevel"],"additionalProperties":false}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","limit","offset"],"additionalProperties":false},"V1ClanPageDto_Output":{"type":"object","properties":{"clan":{"type":"object","properties":{"clanId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"tag":{"type":"string"},"name":{"type":"string"},"color":{"type":["string","null"]},"motto":{"type":["string","null"]},"emblem":{"type":"string","format":"uri","nullable":true},"membersCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"isDisbanded":{"type":"boolean"}},"required":["clanId","tag","name","color","motto","emblem","membersCount","createdAt","isDisbanded"],"additionalProperties":false},"stats":{"type":"object","properties":{"avgWinRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"avgWn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"avgBattlesPerDay":{"type":"number","minimum":0,"nullable":true},"activeMembers7d":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"eloRating10":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"strongholdLevel":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"nullable":true},"provincesCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["avgWinRate","avgWn8","avgBattlesPerDay","activeMembers7d","eloRating10","strongholdLevel","provincesCount"],"additionalProperties":false},"members":{"type":"array","items":{"type":"object","properties":{"accountId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"nickname":{"type":"string"},"role":{"type":"string","enum":["commander","executive_officer","personnel_officer","combat_officer","intelligence_officer","quartermaster","recruitment_officer","junior_officer","private","recruit","reservist"]},"joinedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"lastBattleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"inactiveDays":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"battles":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"recentWn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false}},"required":["accountId","nickname","role","joinedAt","lastBattleAt","inactiveDays","battles","winRate","wn8","recentWn8"],"additionalProperties":false}},"recentEvents":{"type":"array","items":{"type":"object","properties":{"accountId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"nickname":{"type":["string","null"]},"type":{"type":"string","enum":["joined","left","kicked","role_changed"]},"oldRole":{"type":"string","enum":["commander","executive_officer","personnel_officer","combat_officer","intelligence_officer","quartermaster","recruitment_officer","junior_officer","private","recruit","reservist",null],"nullable":true},"newRole":{"type":"string","enum":["commander","executive_officer","personnel_officer","combat_officer","intelligence_officer","quartermaster","recruitment_officer","junior_officer","private","recruit","reservist",null],"nullable":true},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["accountId","nickname","type","oldRole","newRole","occurredAt"],"additionalProperties":false}},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["clan","stats","members","recentEvents","updatedAt"],"additionalProperties":false},"V1ClanMembersDto_Output":{"type":"array","items":{"type":"object","properties":{"accountId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"nickname":{"type":"string"},"role":{"type":"string","enum":["commander","executive_officer","personnel_officer","combat_officer","intelligence_officer","quartermaster","recruitment_officer","junior_officer","private","recruit","reservist"]},"joinedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"lastBattleAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","nullable":true},"inactiveDays":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"battles":{"type":"integer","minimum":0,"maximum":9007199254740991,"nullable":true},"winRate":{"type":"number","minimum":0,"maximum":100,"description":"Percent, 0–100","nullable":true},"wn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false},"recentWn8":{"type":"object","properties":{"value":{"type":["number","null"]},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true}},"required":["value","tier"],"additionalProperties":false}},"required":["accountId","nickname","role","joinedAt","lastBattleAt","inactiveDays","battles","winRate","wn8","recentWn8"],"additionalProperties":false}},"V1ClanEventsPageDto_Output":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"accountId":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"nickname":{"type":["string","null"]},"type":{"type":"string","enum":["joined","left","kicked","role_changed"]},"oldRole":{"type":"string","enum":["commander","executive_officer","personnel_officer","combat_officer","intelligence_officer","quartermaster","recruitment_officer","junior_officer","private","recruit","reservist",null],"nullable":true},"newRole":{"type":"string","enum":["commander","executive_officer","personnel_officer","combat_officer","intelligence_officer","quartermaster","recruitment_officer","junior_officer","private","recruit","reservist",null],"nullable":true},"occurredAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["accountId","nickname","type","oldRole","newRole","occurredAt"],"additionalProperties":false}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","limit","offset"],"additionalProperties":false},"V1LeaderboardDto_Output":{"type":"object","properties":{"scope":{"type":"string","enum":["players","clans","risingStars","marks","streamers"],"description":"players: metric, period, minBattles, and tankId/tier/type (then ranked over those tanks); clans: metric only (latest clan snapshot); risingStars: metric, period (overall falls back to 30d), minBattles; marks: count of three-mark tanks, ignores the other filters; streamers: metric, period, minBattles"},"metric":{"type":"string","enum":["wn8","eff","broneIndex","winRate","avgDamage"]},"period":{"type":"string","enum":["1000","overall","24h","7d","30d","60d"]},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"minBattles":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The battles threshold applied, null when the scope has none","nullable":true},"entries":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"accountId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"clanId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"nullable":true},"name":{"type":"string"},"clanTag":{"type":["string","null"]},"color":{"description":"Clan colour (#rrggbb) for clan rows, null for players","type":["string","null"]},"value":{"type":"number","description":"The metric value; winRate is a percent"},"tier":{"type":"string","enum":["very_bad","bad","below_avg","avg","good","very_good","great","unicum","super_unicum",null],"nullable":true},"battles":{"type":"integer","minimum":0,"maximum":9007199254740991},"delta":{"type":["number","null"]}},"required":["rank","accountId","clanId","name","clanTag","color","value","tier","battles","delta"],"additionalProperties":false}}},"required":["scope","metric","period","total","minBattles","entries"],"additionalProperties":false}}}}