class RiotAPISchema:
# Account Types
AccountV1Account = TypedDict("AccountV1Account", {
"puuid": str,
"gameName": str,
"tagLine": str,
})
AccountV1ActiveShard = TypedDict("AccountV1ActiveShard", {
"puuid": str,
"game": str,
"activeShard": str,
})
# League of Legends Types
LolChampionV3Rotation = TypedDict("LolChampionV3Rotation", {
"freeChampionIds": list[int],
"freeChampionIdsForNewPlayers": list[int],
"maxNewPlayerLevel": int
})
LolChampionV4MasteryMilestoneRewardConfig = TypedDict("LolChampionV4MasteryMilestoneRewardConfig", {
"maximumReward": int,
"rewardType": str,
"rewardValue": str,
})
LolChampionV4MasteryMilestone = TypedDict("LolChampionV4MasteryMilestone", {
"bonus": bool,
"requireGradeCounts": dict[str, int],
"rewardConfig": LolChampionV4MasteryMilestoneRewardConfig,
"rewardMarks": int,
"totalGamesRequires": int,
})
LolChampionV4Mastery = TypedDict("LolChampionV4Mastery", {
"puuid": str,
"championId": int,
"championLevel": int,
"championPoints": int,
"lastPlayTime": int,
"championPointsSinceLastLevel": int,
"championPointsUntilNextLevel": int,
"championSeasonMilestone": int,
"markRequiredForNextLevel": int,
"milestoneGrades": NotRequired[list[str]],
"nextSeasonMilestone": NotRequired[LolChampionV4MasteryMilestone],
"tokensEarned": int,
})
LolClashV1Player = TypedDict("LolClashV1Player", {
"summonerId": str,
"teamId": str,
"position": str,
"role": str,
})
LolClashV1Team = TypedDict("LolClashV1Team", {
"id": str,
"tournamentId": int,
"name": str,
"iconId": int,
"tier": int,
"captain": str,
"abbreviation": str,
"players": list[LolClashV1Player],
})
LolClashV1TournamentSchedule = TypedDict("LolClashV1TournamentSchedule", {
"id": int,
"registrationTime": int,
"startTime": int,
"cancelled": bool,
})
LolClashV1Tournament = TypedDict("LolClashV1Tournament", {
"id": int,
"themeId": int,
"nameKey": str,
"nameKeySecondary": str,
"schedule": list[LolClashV1TournamentSchedule]
})
LolLeagueV4LeagueEntryMiniSeries = TypedDict("LolLeagueV4LeagueEntryMiniSeries", {
"losses": int,
"progress": str,
"target": int,
"wins": int,
})
LolLeagueV4LeagueEntry = TypedDict("LolLeagueV4LeagueEntry", {
"summonerId": str,
"summonerName": NotRequired[str],
"rank": str,
"leaguePoints": int,
"wins": int,
"losses": int,
"hotStreak": bool,
"veteran": bool,
"freshBlood": bool,
"inactive": bool,
})
LolLeagueV4LeagueFullEntry = TypedDict("LolLeagueV4LeagueFullEntry", {
"leagueId": str,
"summonerId": str,
"summonerName": NotRequired[str],
"queueType": str,
"tier": str,
"rank": str,
"leaguePoints": int,
"wins": int,
"losses": int,
"hotStreak": bool,
"veteran": bool,
"freshBlood": bool,
"inactive": bool,
"miniSeries": NotRequired[LolLeagueV4LeagueEntryMiniSeries],
})
LolLeagueV4League = TypedDict("LolLeagueV4League", {
"tier": str,
"leagueId": str,
"queue": str,
"name": str,
"entries": list[LolLeagueV4LeagueEntry]
})
LolMatchV5MatchMetadata = TypedDict("LolMatchV5MatchMetadata", {
"dataVersion": str,
"matchId": str,
"participants": list[str]
})
LolMatchV5MatchTeamObjective = TypedDict("LolMatchV5MatchTeamObjective", {
"first": bool,
"kills": int
})
LolMatchV5MatchInfoParticipantChallenges = TypedDict("LolMatchV5MatchInfoParticipantChallenges", {
"12AssistStreakCount": int,
"abilityUses": int,
"acesBefore15Minutes": int,
"alliedJungleMonsterKills": int,
"baronTakedowns": int,
"blastConeOppositeOpponentCount": int,
"bountyGold": int,
"buffsStolen": int,
"completeSupportQuestInTime": int,
"controlWardTimeCoverageInRiverOrEnemyHalf": float,
"controlWardsPlaced": int,
"damagePerMinute": float,
"damageTakenOnTeamPercentage": float,
"dancedWithRiftHerald": int,
"deathsByEnemyChamps": int,
"dodgeSkillShotsSmallWindow": int,
"doubleAces": int,
"dragonTakedowns": int,
"earliestBaron": float,
"earlyLaningPhaseGoldExpAdvantage": int,
"effectiveHealAndShielding": float,
"elderDragonKillsWithOpposingSoul": int,
"elderDragonMultikills": int,
"enemyChampionImmobilizations": int,
"enemyJungleMonsterKills": int,
"epicMonsterKillsNearEnemyJungler": int,
"epicMonsterKillsWithin30SecondsOfSpawn": int,
"epicMonsterSteals": int,
"epicMonsterStolenWithoutSmite": int,
"firstTurretKilled": int,
"firstTurretKilledTime": float,
"flawlessAces": int,
"fullTeamTakedown": int,
"gameLength": float,
"getTakedownsInAllLanesEarlyJungleAsLaner": int,
"goldPerMinute": float,
"hadOpenNexus": int,
"immobilizeAndKillWithAlly": int,
"initialBuffCount": int,
"initialCrabCount": int,
"jungleCsBefore10Minutes": float,
"junglerTakedownsNearDamagedEpicMonster": int,
"kTurretsDestroyedBeforePlatesFall": int,
"kda": float,
"killAfterHiddenWithAlly": int,
"killParticipation": float,
"killedChampTookFullTeamDamageSurvived": int,
"killingSprees": int,
"killsNearEnemyTurret": int,
"killsOnOtherLanesEarlyJungleAsLaner": int,
"killsOnRecentlyHealedByAramPack": int,
"killsUnderOwnTurret": int,
"killsWithHelpFromEpicMonster": int,
"knockEnemyIntoTeamAndKill": int,
"landSkillShotsEarlyGame": int,
"laneMinionsFirst10Minutes": int,
"laningPhaseGoldExpAdvantage": int,
"legendaryCount": int,
"lostAnInhibitor": int,
"maxCsAdvantageOnLaneOpponent": float,
"maxKillDeficit": int,
"maxLevelLeadLaneOpponent": int,
"mejaisFullStackInTime": int,
"moreEnemyJungleThanOpponent": float,
"multiKillOneSpell": int,
"multiTurretRiftHeraldCount": int,
"multikills": int,
"multikillsAfterAggressiveFlash": int,
"mythicItemUsed": int,
"outerTurretExecutesBefore10Minutes": int,
"outnumberedKills": int,
"outnumberedNexusKill": int,
"perfectDragonSoulsTaken": int,
"perfectGame": int,
"pickKillWithAlly": int,
"playedChampSelectPosition": int,
"poroExplosions": int,
"quickCleanse": int,
"quickFirstTurret": int,
"quickSoloKills": int,
"riftHeraldTakedowns": int,
"saveAllyFromDeath": int,
"scuttleCrabKills": int,
"shortestTimeToAceFromFirstTakedown": float,
"skillshotsDodged": int,
"skillshotsHit": int,
"snowballsHit": int,
"soloBaronKills": int,
"soloKills": int,
"stealthWardsPlaced": int,
"survivedSingleDigitHpCount": int,
"survivedThreeImmobilizesInFight": int,
"takedownOnFirstTurret": int,
"takedowns": int,
"takedownsAfterGainingLevelAdvantage": int,
"takedownsBeforeJungleMinionSpawn": int,
"takedownsFirstXMinutes": int,
"takedownsInAlcove": int,
"takedownsInEnemyFountain": int,
"teamBaronKills": int,
"teamDamagePercentage": float,
"teamElderDragonKills": int,
"teamRiftHeraldKills": int,
"tookLargeDamageSurvived": int,
"turretPlatesTaken": int,
"turretTakedowns": int,
"turretsTakenWithRiftHerald": int,
"twentyMinionsIn3SecondsCount": int,
"twoWardsOneSweeperCount": int,
"unseenRecalls": int,
"visionScoreAdvantageLaneOpponent": float,
"visionScorePerMinute": float,
"wardTakedowns": int,
"wardTakedownsBefore20M": int,
"wardsGuarded": int,
"earliestDragonTakedown": float,
"baronBuffGoldAdvantageOverThreshold": int,
"teleportTakedowns": int,
"fastestLegendary": float,
"highestChampionDamage": int,
"highestCrowdControlScore": int,
"junglerKillsEarlyJungle": int,
"killsOnLanersEarlyJungleAsJungler": int,
"fasterSupportQuestCompletion": int,
"highestWardKills": int,
"soloTurretsLategame": int,
"thirdInhibitorDestroyedTime": float,
"HealFromMapSources": float,
"InfernalScalePickup": int,
"SWARM_DefeatAatrox": int,
"SWARM_DefeatBriar": int,
"SWARM_DefeatMiniBosses": int,
"SWARM_EvolveWeapon": int,
"SWARM_Have3Passives": int,
"SWARM_KillEnemy": int,
"SWARM_PickupGold": int,
"SWARM_ReachLevel50": int,
"SWARM_Survive15Min": int,
"SWARM_WinWith5EvolvedWeapons": int,
"fistBumpParticipation": int,
"legendaryItemUsed": list[int],
"voidMonsterKill": int,
}, total=False)
LolMatchV5MatchInfoParticipantPerksStatPerks = TypedDict("LolMatchV5MatchInfoParticipantPerksStatPerks", {
"defense": int,
"flex": int,
"offense": int
})
LolMatchV5MatchInfoParticipantPerksStyleSelection = TypedDict("LolMatchV5MatchInfoParticipantPerksStyleSelection", {
"perk": int,
"var1": int,
"var2": int,
"var3": int
})
LolMatchV5MatchInfoParticipantPerksStyle = TypedDict("LolMatchV5MatchInfoParticipantPerksStyle", {
"description": str,
"selections": list[LolMatchV5MatchInfoParticipantPerksStyleSelection],
"style": int
})
LolMatchV5MatchInfoParticipantPerks = TypedDict("LolMatchV5MatchInfoParticipantPerks", {
"statPerks": LolMatchV5MatchInfoParticipantPerksStatPerks,
"styles": list[LolMatchV5MatchInfoParticipantPerksStyle]
})
LolMatchV5MatchInfoParticipantMissions = TypedDict("LolMatchV5MatchInfoParticipant", {
"playerScore0": float,
"playerScore1": float,
"playerScore10": float,
"playerScore11": float,
"playerScore2": float,
"playerScore3": float,
"playerScore4": float,
"playerScore5": float,
"playerScore6": float,
"playerScore7": float,
"playerScore8": float,
"playerScore9": float,
})
LolMatchV5MatchInfoParticipant = TypedDict("LolMatchV5MatchInfoParticipant", {
"allInPings": int,
"assistMePings": int,
"assists": int,
"baitPings": NotRequired[int],
"baronKills": int,
"basicPings": int,
"bountyLevel": int,
"challenges": LolMatchV5MatchInfoParticipantChallenges,
"champExperience": int,
"champLevel": int,
"championId": int,
"championName": str,
"championTransform": int,
"commandPings": int,
"consumablesPurchased": int,
"damageDealtToBuildings": int,
"damageDealtToObjectives": int,
"damageDealtToTurrets": int,
"damageSelfMitigated": int,
"dangerPings": int,
"deaths": int,
"detectorWardsPlaced": int,
"doubleKills": int,
"dragonKills": int,
"eligibleForProgression": bool,
"enemyMissingPings": int,
"enemyVisionPings": int,
"firstBloodAssist": bool,
"firstBloodKill": bool,
"firstTowerAssist": bool,
"firstTowerKill": bool,
"gameEndedInEarlySurrender": bool,
"gameEndedInSurrender": bool,
"getBackPings": int,
"goldEarned": int,
"goldSpent": int,
"holdPings": int,
"individualPosition": str,
"inhibitorKills": int,
"inhibitorTakedowns": int,
"inhibitorsLost": int,
"item0": int,
"item1": int,
"item2": int,
"item3": int,
"item4": int,
"item5": int,
"item6": int,
"itemsPurchased": int,
"killingSprees": int,
"kills": int,
"lane": str,
"largestCriticalStrike": int,
"largestKillingSpree": int,
"largestMultiKill": int,
"longestTimeSpentLiving": int,
"magicDamageDealt": int,
"magicDamageDealtToChampions": int,
"magicDamageTaken": int,
"missions": LolMatchV5MatchInfoParticipantMissions,
"needVisionPings": int,
"neutralMinionsKilled": int,
"nexusKills": int,
"nexusLost": int,
"nexusTakedowns": int,
"objectivesStolen": int,
"objectivesStolenAssists": int,
"onMyWayPings": int,
"participantId": int,
"pentaKills": int,
"perks": LolMatchV5MatchInfoParticipantPerks,
"physicalDamageDealt": int,
"physicalDamageDealtToChampions": int,
"physicalDamageTaken": int,
"placement": int,
"playerAugment1": int,
"playerAugment2": int,
"playerAugment3": int,
"playerAugment4": int,
"playerAugment5": int,
"playerAugment6": int,
"playerSubteamId": int,
"playerScore0": NotRequired[float],
"playerScore1": NotRequired[float],
"playerScore10": NotRequired[float],
"playerScore11": NotRequired[float],
"playerScore2": NotRequired[float],
"playerScore3": NotRequired[float],
"playerScore4": NotRequired[float],
"playerScore5": NotRequired[float],
"playerScore6": NotRequired[float],
"playerScore7": NotRequired[float],
"playerScore8": NotRequired[float],
"playerScore9": NotRequired[float],
"profileIcon": int,
"pushPings": int,
"puuid": str,
"quadraKills": int,
"riotIdTagline": str,
"riotIdGameName": str,
"role": str,
"sightWardsBoughtInGame": int,
"spell1Casts": int,
"spell2Casts": int,
"spell3Casts": int,
"spell4Casts": int,
"subteamPlacement": int,
"summoner1Casts": int,
"summoner1Id": int,
"summoner2Casts": int,
"summoner2Id": int,
"summonerId": str,
"summonerLevel": int,
"summonerName": NotRequired[str],
"teamEarlySurrendered": bool,
"teamId": int,
"teamPosition": str,
"timeCCingOthers": int,
"timePlayed": int,
"totalAllyJungleMinionsKilled": int,
"totalDamageDealt": int,
"totalDamageDealtToChampions": int,
"totalDamageShieldedOnTeammates": int,
"totalDamageTaken": int,
"totalEnemyJungleMinionsKilled": int,
"totalHeal": int,
"totalHealsOnTeammates": int,
"totalMinionsKilled": int,
"totalTimeCCDealt": int,
"totalTimeSpentDead": int,
"totalUnitsHealed": int,
"tripleKills": int,
"trueDamageDealt": int,
"trueDamageDealtToChampions": int,
"trueDamageTaken": int,
"turretKills": int,
"turretTakedowns": int,
"turretsLost": int,
"unrealKills": int,
"visionClearedPings": int,
"visionScore": int,
"visionWardsBoughtInGame": int,
"wardsKilled": int,
"wardsPlaced": int,
"retreatPings": NotRequired[int],
"win": bool
})
LolMatchV5MatchInfoTeamBan = TypedDict("LolMatchV5MatchInfoTeamBan", {
"championId": int,
"pickTurn": int
})
LolMatchV5MatchInfoTeamObjectives = TypedDict("LolMatchV5MatchInfoTeamObjectives", {
"baron": LolMatchV5MatchTeamObjective,
"champion": LolMatchV5MatchTeamObjective,
"dragon": LolMatchV5MatchTeamObjective,
"horde": NotRequired[LolMatchV5MatchTeamObjective],
"inhibitor": LolMatchV5MatchTeamObjective,
"riftHerald": LolMatchV5MatchTeamObjective,
"tower": LolMatchV5MatchTeamObjective
})
LolMatchV5MatchInfoTeam = TypedDict("LolMatchV5MatchInfoTeam", {
"bans": list[LolMatchV5MatchInfoTeamBan],
"objectives": LolMatchV5MatchInfoTeamObjectives,
"teamId": int,
"win": bool
})
LolMatchV5MatchInfo = TypedDict("LolMatchV5MatchInfo", {
"gameCreation": int,
"gameDuration": int,
"gameEndTimestamp": int,
"gameId": int,
"gameMode": str,
"gameName": str,
"gameStartTimestamp": int,
"gameType": str,
"gameVersion": str,
"mapId": int,
"participants": list[LolMatchV5MatchInfoParticipant],
"platformId": str,
"queueId": int,
"teams": list[LolMatchV5MatchInfoTeam],
"tournamentCode": str,
"endOfGameResult": str
})
LolMatchV5Match = TypedDict("LolMatchV5Match", {
"metadata": LolMatchV5MatchMetadata,
"info": LolMatchV5MatchInfo
})
LolMatchV5MatchTimelineParticipantFrameChampionStats = TypedDict("LolMatchV5MatchTimelineParticipantFrameChampionStats", {
"abilityHaste": int,
"abilityPower": int,
"armor": int,
"armorPen": int,
"armorPenPercent": int,
"attackDamage": int,
"attackSpeed": int,
"bonusArmorPenPercent": int,
"bonusMagicPenPercent": int,
"ccReduction": int,
"cooldownReduction": int,
"health": int,
"healthMax": int,
"healthRegen": int,
"lifesteal": int,
"magicPen": int,
"magicPenPercent": int,
"magicResist": int,
"movementSpeed": int,
"omnivamp": int,
"physicalVamp": int,
"power": int,
"powerMax": int,
"powerRegen": int,
"spellVamp": int
})
LolMatchV5MatchTimelineParticipantFrameDamageStats = TypedDict("LolMatchV5MatchTimelineParticipantFrameDamageStats", {
"magicDamageDone": int,
"magicDamageDoneToChampions": int,
"magicDamageTaken": int,
"physicalDamageDone": int,
"physicalDamageDoneToChampions": int,
"physicalDamageTaken": int,
"totalDamageDone": int,
"totalDamageDoneToChampions": int,
"totalDamageTaken": int,
"trueDamageDone": int,
"trueDamageDoneToChampions": int,
"trueDamageTaken": int
})
LolMatchV5MatchTimelinePosition = TypedDict("LolMatchV5MatchTimelinePosition", {
"x": int,
"y": int
})
LolMatchV5MatchTimelineParticipantFrame = TypedDict("LolMatchV5MatchTimelineParticipantFrame", {
"championStats": LolMatchV5MatchTimelineParticipantFrameChampionStats,
"currentGold": int,
"damageStats": LolMatchV5MatchTimelineParticipantFrameDamageStats,
"goldPerSecond": int,
"jungleMinionsKilled": int,
"level": int,
"minionsKilled": int,
"participantId": int,
"position": LolMatchV5MatchTimelinePosition,
"timeEnemySpentControlled": int,
"totalGold": int,
"xp": int
})
LolMatchV5MatchTimelineEventDamage = TypedDict("LolMatchV5MatchTimelineEventDamage", {
"basic": bool,
"magicDamage": int,
"name": str,
"participantId": int,
"physicalDamage": int,
"spellName": str,
"spellSlot": int,
"trueDamage": int,
"type": str
})
LolMatchV5MatchTimelineMetadata = TypedDict("LolMatchV5MatchTimelineMetadata", {
"dataVersion": str,
"matchId": str,
"participants": list[str]
})
LolMatchV5MatchTimelineInfoFrameEvent = TypedDict("LolMatchV5MatchTimelineInfoFrameEvent", {
"afterId": NotRequired[int],
"beforeId": NotRequired[int],
"goldGain": NotRequired[int],
"participantId": NotRequired[int],
"timestamp": int,
"type": str,
"creatorId": NotRequired[int],
"wardType": NotRequired[str],
"level": NotRequired[int],
"itemId": NotRequired[int],
"assistingParticipantIds": NotRequired[list[int]],
"bounty": NotRequired[int],
"killStreakLength": NotRequired[int],
"killerId": NotRequired[int],
"position": NotRequired[LolMatchV5MatchTimelinePosition],
"shutdownBounty": NotRequired[int],
"victimDamageDealt": NotRequired[list[LolMatchV5MatchTimelineEventDamage]],
"victimDamageReceived": NotRequired[list[LolMatchV5MatchTimelineEventDamage]],
"victimId": NotRequired[int],
"levelUpType": NotRequired[str],
"skillSlot": NotRequired[int],
"realTimestamp": NotRequired[int],
})
LolMatchV5MatchTimelineInfoFrame = TypedDict("LolMatchV5MatchTimelineInfoFrame", {
"events": list[LolMatchV5MatchTimelineInfoFrameEvent],
"participantFrames": dict[str, LolMatchV5MatchTimelineParticipantFrame],
"timestamp": int
})
LolMatchV5MatchTimelineInfoParticipants = TypedDict("LolMatchV5MatchTimelineInfoParticipants", {
"participantId": int,
"puuid": str,
})
LolMatchV5MatchTimelineInfo = TypedDict("LolMatchV5MatchTimelineInfo", {
"frameInterval": int,
"frames": list[LolMatchV5MatchTimelineInfoFrame],
"gameId": int,
"participants": list[LolMatchV5MatchTimelineInfoParticipants],
"endOfGameResult": str
})
LolMatchV5MatchTimeline = TypedDict("LolMatchV5MatchTimeline", {
"metadata": LolMatchV5MatchTimelineMetadata,
"info": LolMatchV5MatchTimelineInfo
})
LolSpectatorV4GameParticipantPerks = TypedDict("LolSpectatorV4GameParticipantPerks", {
"perkIds": list[int],
"perkStyle": int,
"perkSubStyle": int
})
LolSpectatorV4GameParticipant = TypedDict("LolSpectatorV4GameParticipant", {
"gameCustomizationObjects": NotRequired[list[str]],
"perks": NotRequired[LolSpectatorV4GameParticipantPerks],
"puuid": str,
"summonerId": str,
"teamId": int,
"spell1Id": int,
"spell2Id": int,
"championId": int,
"profileIconId": int,
"summonerName": NotRequired[str],
"bot": bool
})
LolSpectatorV4GameObservers = TypedDict("LolSpectatorV4GameObservers", {
"encryptionKey": str
})
LolSpectatorV4Game = TypedDict("LolSpectatorV4Game", {
"gameId": int,
"mapId": int,
"gameMode": str,
"gameType": str,
"gameQueueConfigId": int,
"participants": list[LolSpectatorV4GameParticipant],
"observers": LolSpectatorV4GameObservers,
"platformId": str,
"bannedChampions": list[int],
"gameStartTime": int,
"gameLength": int
})
LolSpectatorV4GameList = TypedDict("LolSpectatorV4GameList", {
"gameList": list[LolSpectatorV4Game],
"clientRefreshInterval": int
})
LolSpectatorV5GameParticipant = TypedDict("LolSpectatorV5GameParticipant", {
"gameCustomizationObjects": NotRequired[list[str]],
"perks": NotRequired[LolSpectatorV4GameParticipantPerks],
"puuid": str,
"summonerId": str,
"teamId": int,
"spell1Id": int,
"spell2Id": int,
"championId": int,
"profileIconId": int,
"riotId": str,
"bot": bool,
})
LolSpectatorV5GameBannedChampion = TypedDict("LolSpectatorV4Game", {
"championId": int,
"pickTurn": int,
"teamId": int,
})
LolSpectatorV5Game = TypedDict("LolSpectatorV5Game", {
"gameId": int,
"mapId": int,
"gameMode": str,
"gameType": str,
"gameQueueConfigId": int,
"participants": list[LolSpectatorV5GameParticipant],
"observers": LolSpectatorV4GameObservers,
"platformId": str,
"bannedChampions": list[LolSpectatorV5GameBannedChampion],
"gameStartTime": NotRequired[int],
"gameLength": int
})
LolSpectatorV5GameList = TypedDict("LolSpectatorV5GameList", {
"gameList": list[LolSpectatorV5Game],
})
LolSummonerV4Summoner = TypedDict("SummonerV4Summoner", {
"id": str,
"accountId": str,
"puuid": str,
"name": NotRequired[str],
"profileIconId": int,
"revisionDate": int,
"summonerLevel": int
})
# Teamfight Tactics Types
TftLeagueV1LeagueEntry = TypedDict("TftLeagueV1LeagueEntry", {
"summonerId": str,
"summonerName": NotRequired[str],
"rank": str,
"leaguePoints": int,
"wins": int,
"losses": int,
"hotStreak": bool,
"veteran": bool,
"freshBlood": bool,
"inactive": bool,
})
TftLeagueV1LeagueFullEntry = TypedDict("TftLeagueV1LeagueFullEntry", {
"leagueId": str,
"puuid": str,
"summonerId": str,
"summonerName": NotRequired[str],
"queueType": str,
"tier": str,
"rank": str,
"leaguePoints": int,
"wins": int,
"losses": int,
"hotStreak": bool,
"veteran": bool,
"freshBlood": bool,
"inactive": bool,
"miniSeries": NotRequired[LolLeagueV4LeagueEntryMiniSeries],
})
TftLeagueV1League = TypedDict("TftLeagueV1League", {
"tier": str,
"leagueId": str,
"queue": str,
"name": str,
"entries": list[TftLeagueV1LeagueEntry]
})
TftMatchV1MatchMetadata = TypedDict("TftMatchV1MatchMetadata", {
"data_version": str,
"match_id": str,
"participants": list[str]
})
TftMatchV1MatchInfoParticipantCompanion = TypedDict("TftMatchV1MatchInfoParticipantCompanion", {
"content_ID": str,
"item_ID": int,
"skin_ID": int,
"species": str
})
TftMatchV1MatchInfoParticipantTrait = TypedDict("TftMatchV1MatchInfoParticipantTrait", {
"name": str,
"num_units": int,
"style": int,
"tier_current": int,
"tier_total": int
})
TftMatchV1MatchInfoParticipantUnit = TypedDict("TftMatchV1MatchInfoParticipantUnit", {
"character_id": str,
"itemNames": list[str],
"name": str,
"rarity": int,
"tier": int
})
TftMatchV1MatchInfoParticipantMission = TypedDict("TftMatchV1MatchInfoParticipantMission", {
"Assists": NotRequired[int],
"DamageDealt": NotRequired[int],
"DamageDealtToObjectives": NotRequired[int],
"DamageDealtToTurrets": NotRequired[int],
"DamageTaken": NotRequired[int],
"Deaths": NotRequired[int],
"DoubleKills": NotRequired[int],
"GoldEarned": NotRequired[int],
"GoldSpent": NotRequired[int],
"InhibitorsDestroyed": NotRequired[int],
"KillingSprees": NotRequired[int],
"Kills": NotRequired[int],
"LargestKillingSpree": NotRequired[int],
"LargestMultiKill": NotRequired[int],
"MagicDamageDealt": NotRequired[int],
"MagicDamageDealtToChampions": NotRequired[int],
"MagicDamageTaken": NotRequired[int],
"NeutralMinionsKilledTeamJungle": NotRequired[int],
"PentaKills": NotRequired[int],
"PhysicalDamageDealt": NotRequired[int],
"PhysicalDamageDealtToChampions": NotRequired[int],
"PhysicalDamageTaken": NotRequired[int],
"PlayerScore0": NotRequired[int],
"PlayerScore1": NotRequired[int],
"PlayerScore10": NotRequired[int],
"PlayerScore11": NotRequired[int],
"PlayerScore2": NotRequired[int],
"PlayerScore3": NotRequired[int],
"PlayerScore4": NotRequired[int],
"PlayerScore5": NotRequired[int],
"PlayerScore6": NotRequired[int],
"PlayerScore9": NotRequired[int],
"QuadraKills": NotRequired[int],
"Spell1Casts": NotRequired[int],
"Spell2Casts": NotRequired[int],
"Spell3Casts": NotRequired[int],
"Spell4Casts": NotRequired[int],
"SummonerSpell1Casts": NotRequired[int],
"TimeCCOthers": NotRequired[int],
"TotalDamageDealtToChampions": NotRequired[int],
"TotalMinionsKilled": NotRequired[int],
"TripleKills": NotRequired[int],
"TrueDamageDealt": NotRequired[int],
"TrueDamageDealtToChampions": NotRequired[int],
"TrueDamageTaken": NotRequired[int],
"UnrealKills": NotRequired[int],
"VisionScore": NotRequired[int],
"WardsKilled": NotRequired[int],
})
TftMatchV1MatchInfoParticipantSkillTree = TypedDict("TftMatchV1MatchInfoParticipantSkillTree", {
"EventSkill_DemotionProtection": int,
"EventSkill_PlacementDelta": int,
})
TftMatchV1MatchInfoParticipant = TypedDict("TftMatchV1MatchInfoParticipant", {
"augments": list[str],
"companion": TftMatchV1MatchInfoParticipantCompanion,
"gold_left": int,
"last_round": int,
"level": int,
"placement": int,
"players_eliminated": int,
"puuid": str,
"time_eliminated": float,
"total_damage_to_players": int,
"traits": list[TftMatchV1MatchInfoParticipantTrait],
"units": list[TftMatchV1MatchInfoParticipantUnit],
"missions": TftMatchV1MatchInfoParticipantMission,
"riotIdGameName": str,
"riotIdTagline": str,
"skill_tree": NotRequired[TftMatchV1MatchInfoParticipantSkillTree],
"partner_group_id": int,
"win": bool,
})
TftMatchV1MatchInfo = TypedDict("TftMatchV1MatchInfo", {
"game_datetime": int,
"game_length": float,
"game_version": str,
"participants": list[TftMatchV1MatchInfoParticipant],
"queue_id": int,
"tft_game_type": str,
"tft_set_core_name": str,
"tft_set_number": int,
"endOfGameResult": str,
"gameCreation": int,
"gameId": int,
"mapId": int,
"queueId": int,
})
TftMatchV1Match = TypedDict("TftMatchV1Match", {
"metadata": TftMatchV1MatchMetadata,
"info": TftMatchV1MatchInfo
})
TftSummonerV1Summoner = LolSummonerV4Summoner
# Legends of Runeterra Types
LorRankedV1LeaderboardPlayer = TypedDict("LorRankedV1LeaderboardPlayer", {
"name": str,
"rank": int,
"lp": float
})
LorRankedV1Leaderboard = TypedDict("LorRankedV1Leaderboard", {
"players": list[LorRankedV1LeaderboardPlayer]
})
LorMatchV1MatchMetadata = TypedDict("LorMatchV1MatchMetadata", {
"data_version": str,
"match_id": str,
"participants": list[str]
})
LorMatchV1MatchInfoPlayer = TypedDict("LorMatchV1MatchInfoPlayer", {
"puuid": str,
"deck_id": str,
"deck_code": str,
"factions": list[str],
"game_outcome": str,
"order_of_play": int
})
LorMatchV1MatchInfo = TypedDict("LorMatchV1MatchInfo", {
"game_format": str,
"game_mode": str,
"game_type": str,
"game_start_time_utc": str,
"game_version": str,
"players": list[LorMatchV1MatchInfoPlayer],
"total_turn_count": int
})
LorMatchV1Match = TypedDict("LorMatchV1Match", {
"metadata": LorMatchV1MatchMetadata,
"info": LorMatchV1MatchInfo
})
# Valorant Types
ValContentV1ContentsAssetLocalizedNames = TypedDict("ValContentV1ContentsAssetLocalizedNames", {
"ar-AE": str,
"de-DE": str,
"en-US": str,
"es-ES": str,
"es-MX": str,
"fr-FR": str,
"id-ID": str,
"it-IT": str,
"ja-JP": str,
"ko-KR": str,
"pl-PL": str,
"pt-BR": str,
"ru-RU": str,
"th-TH": str,
"tr-TR": str,
"vi-VN": str,
"zh-CN": str,
"zh-TW": str,
})
ValContentV1ContentsAsset = TypedDict("ValContentV1ContentsAsset", {
"name": str,
"id": str,
"localizedNames": NotRequired[ValContentV1ContentsAssetLocalizedNames],
"assetName": str,
"assetPath": NotRequired[str]
})
ValContentV1ContentsAct = TypedDict("ValContentV1ContentsAct", {
"id": str,
"localizedNames": NotRequired[ValContentV1ContentsAssetLocalizedNames],
"parentId": str,
"type": str,
"name": str,
"isActive": bool
})
ValContentV1Contents = TypedDict("ValContentV1Contents", {
"version": str,
"characters": list[ValContentV1ContentsAsset],
"maps": list[ValContentV1ContentsAsset],
"chromas": list[ValContentV1ContentsAsset],
"skins": list[ValContentV1ContentsAsset],
"skinLevels": list[ValContentV1ContentsAsset],
"equips": list[ValContentV1ContentsAsset],
"gameModes": list[ValContentV1ContentsAsset],
"totems": list[ValContentV1ContentsAsset],
"sprays": list[ValContentV1ContentsAsset],
"sprayLevels": list[ValContentV1ContentsAsset],
"charms": list[ValContentV1ContentsAsset],
"charmLevels": list[ValContentV1ContentsAsset],
"playerCards": list[ValContentV1ContentsAsset],
"playerTitles": list[ValContentV1ContentsAsset],
"acts": list[ValContentV1ContentsAct],
"ceremonies": list[ValContentV1ContentsAsset]
})
ValRankedV1LeaderboardTierDetail = TypedDict("ValRankedV1LeaderboardTierDetail", {
"rankedRatingThreshold": int,
"startingPage": int,
"startingIndex": int
})
ValRankedV1LeaderboardPlayer = TypedDict("ValRankedV1LeaderboardPlayer", {
"puuid": str,
"gameName": str,
"tagLine": str,
"leaderboardRank": int,
"rankedRating": int,
"numberOfWins": int,
"competitiveTier": int
})
ValRankedV1LeaderboardTierDetails = TypedDict("ValRankedV1LeaderboardTierDetails", {
"24": ValRankedV1LeaderboardTierDetail,
"25": ValRankedV1LeaderboardTierDetail,
"26": ValRankedV1LeaderboardTierDetail,
"27": ValRankedV1LeaderboardTierDetail
})
ValRankedV1Leaderboard = TypedDict("ValRankedV1Leaderboard", {
"actId": str,
"players": list[ValRankedV1LeaderboardPlayer],
"totalPlayers": int,
"immortalStartingPage": int,
"immortalStartingIndex": int,
"topTierRRThreshold": int,
"tierDetails": ValRankedV1LeaderboardTierDetails,
"startIndex": int,
"query": str,
"shard": str
})
ValMatchV1MatchLocation = TypedDict("ValMatchV1MatchLocation", {
"x": float,
"y": float
})
ValMatchV1MatchPlayerLocation = TypedDict("ValMatchV1MatchPlayerLocation", {
"puuid": str,
"viewRadians": float,
"location": ValMatchV1MatchLocation
})
ValMatchV1MatchInfo = TypedDict("ValMatchV1MatchInfo", {
"matchId": str,
"mapId": str,
"gameVersion": str,
"gameLengthMillis": int,
"region": str,
"gameStartMillis": int,
"provisioningFlowId": str,
"isCompleted": bool,
"customGameName": str,
"queueId": str,
"gameMode": str,
"isRanked": bool,
"premierMatchInfo": dict,
"seasonId": str
})
ValMatchV1MatchPlayerStatsAbilityCasts = TypedDict("ValMatchV1MatchPlayerStatsAbilityCasts", {
"grenadeCasts": int,
"ability1Casts": int,
"ability2Casts": int,
"ultimateCasts": int
})
ValMatchV1MatchPlayerStats = TypedDict("ValMatchV1MatchPlayerStats", {
"score": int,
"roundsPlayed": int,
"kills": int,
"deaths": int,
"assists": int,
"playtimeMillis": int,
"abilityCasts": ValMatchV1MatchPlayerStatsAbilityCasts | None
})
ValMatchV1MatchPlayer = TypedDict("ValMatchV1MatchPlayer", {
"puuid": str,
"gameName": str,
"tagLine": str,
"teamId": str,
"partyId": str,
"characterId": str,
"stats": ValMatchV1MatchPlayerStats,
"competitiveTier": int,
"isObserver": bool,
"playerCard": str,
"playerTitle": str,
"accountLevel": int
})
ValMatchV1MatchTeam = TypedDict("ValMatchV1MatchTeam", {
"teamId": str,
"won": bool,
"roundsPlayed": int,
"roundsWon": int,
"numPoints": int
})
ValMatchV1MatchRoundResultPlayerStatFinishingDamage = TypedDict("ValMatchV1MatchRoundResultPlayerStatFinishingDamage", {
"damageType": str,
"damageItem": str,
"isSecondaryFireMode": bool
})
ValMatchV1MatchRoundResultPlayerStatKill = TypedDict("ValMatchV1MatchRoundResultPlayerStatKill", {
"timeSinceGameStartMillis": int,
"timeSinceRoundStartMillis": int,
"killer": str,
"victim": str,
"victimLocation": ValMatchV1MatchLocation,
"assistants": list[str],
"playerLocations": list[ValMatchV1MatchPlayerLocation],
"finishingDamage": ValMatchV1MatchRoundResultPlayerStatFinishingDamage
})
ValMatchV1MatchRoundResultPlayerStatDamage = TypedDict("ValMatchV1MatchRoundResultPlayerStatDamage", {
"receiver": str,
"damage": int,
"legshots": int,
"bodyshots": int,
"headshots": int
})
ValMatchV1MatchRoundResultPlayerStatEconomy = TypedDict("ValMatchV1MatchRoundResultPlayerStatEconomy", {
"loadoutValue": int,
"weapon": str,
"armor": str,
"remaining": int,
"spent": int
})
ValMatchV1MatchRoundResultPlayerStatAbility = TypedDict("ValMatchV1MatchRoundResultPlayerStatAbility", {
"grenadeEffects": str | None,
"ability1Effects": str | None,
"ability2Effects": str | None,
"ultimateEffects": str | None
})
ValMatchV1MatchRoundResultPlayerStat = TypedDict("ValMatchV1MatchRoundResultPlayerStat", {
"puuid": str,
"kills": list[ValMatchV1MatchRoundResultPlayerStatKill],
"damage": list[ValMatchV1MatchRoundResultPlayerStatDamage],
"score": int,
"economy": ValMatchV1MatchRoundResultPlayerStatEconomy,
"ability": ValMatchV1MatchRoundResultPlayerStatAbility
})
ValMatchV1MatchRoundResult = TypedDict("ValMatchV1MatchRoundResult", {
"roundNum": int,
"roundResult": str,
"roundCeremony": str,
"winningTeam": str,
"winningTeamRole": str,
"bombPlanter": str | None,
"bombDefuser": str | None,
"plantRoundTime": int,
"plantPlayerLocations": list[ValMatchV1MatchPlayerLocation] | None,
"plantLocation": ValMatchV1MatchLocation,
"plantSite": str,
"defuseRoundTime": int,
"defusePlayerLocations": list[ValMatchV1MatchPlayerLocation] | None,
"defuseLocation": ValMatchV1MatchLocation,
"playerStats": list[ValMatchV1MatchRoundResultPlayerStat],
"roundResultCode": str
})
ValMatchV1Match = TypedDict("ValMatchV1Match", {
"matchInfo": ValMatchV1MatchInfo,
"players": list[ValMatchV1MatchPlayer],
"coaches": list[str],
"teams": list[ValMatchV1MatchTeam],
"roundResults": list[ValMatchV1MatchRoundResult]
})
ValMatchV1MatchlistHistory = TypedDict("ValMatchV1MatchlistHistory", {
"matchId": str,
"gameStartTimeMillis": int,
"queueId": str
})
ValMatchV1Matchlist = TypedDict("ValMatchV1Matchlist", {
"puuid": str,
"history": list[ValMatchV1MatchlistHistory]
})
ValMatchV1RecentMatches = TypedDict("ValMatchV1RecentMatches", {
"currentTime": int,
"matchIds": list[str]
})
# Status Types
StatusV1PlatformDataLocaleContent = TypedDict("StatusV1PlatformDataLocaleContent", {
"locale": str,
"content": str
})
StatusV1PlatformDataEntryUpdate = TypedDict("StatusV1PlatformDataEntryUpdate", {
"id": int,
"created_at": str,
"updated_at": str,
"publish": bool,
"author": str,
"translations": list[StatusV1PlatformDataLocaleContent],
"publish_locations": list[str]
})
StatusV1PlatformDataEntry = TypedDict("StatusV1PlatformDataEntry", {
"id": int,
"created_at": str,
"updated_at": str | None,
"archive_at": str | None,
"titles": list[StatusV1PlatformDataLocaleContent],
"updates": list[StatusV1PlatformDataEntryUpdate],
"platforms": list[str],
"maintenance_status": str | None,
"incident_severity": str | None
})
StatusV1PlatformData = TypedDict("StatusV4PlatformData", {
"id": str,
"name": str,
"locales": list[str],
"maintenances": list[StatusV1PlatformDataEntry],
"incidents": list[StatusV1PlatformDataEntry]
})