{
  "components": {
    "schemas": {
      "LiveClientData.AllGameData": {
        "type": "object",
        "properties": {
          "activePlayer": {
            "$ref": "#/components/schemas/LiveClientData.ActivePlayer"
          },
          "allPlayers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LiveClientData.Player"
            }
          },
          "events": {
            "$ref": "#/components/schemas/LiveClientData.EventData"
          },
          "gameData": {
            "$ref": "#/components/schemas/LiveClientData.GameStats"
          }
        },
        "required": [
          "activePlayer",
          "allPlayers",
          "events",
          "gameData"
        ]
      },
      "LiveClientData.Ability": {
        "type": "object",
        "properties": {
          "abilityLevel": {
            "type": "integer"
          },
          "displayName": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "rawDescription": {
            "type": "string"
          },
          "rawDisplayName": {
            "type": "string"
          }
        },
        "required": [
          "abilityLevel",
          "displayName",
          "id",
          "rawDescription",
          "rawDisplayName"
        ]
      },
      "LiveClientData.Passive": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "rawDescription": {
            "type": "string"
          },
          "rawDisplayName": {
            "type": "string"
          }
        },
        "required": [
          "displayName",
          "id",
          "rawDescription",
          "rawDisplayName"
        ]
      },
      "LiveClientData.ActivePlayerAbilities": {
        "type": "object",
        "properties": {
          "E": {
            "$ref": "#/components/schemas/LiveClientData.Ability"
          },
          "Passive": {
            "$ref": "#/components/schemas/LiveClientData.Passive"
          },
          "Q": {
            "$ref": "#/components/schemas/LiveClientData.Ability"
          },
          "R": {
            "$ref": "#/components/schemas/LiveClientData.Ability"
          },
          "W": {
            "$ref": "#/components/schemas/LiveClientData.Ability"
          }
        },
        "required": [
          "E",
          "Passive",
          "Q",
          "R",
          "W"
        ]
      },
      "LiveClientData.PlayerChampionStats": {
        "type": "object",
        "properties": {
          "abilityHaste": {
            "type": "number"
          },
          "abilityPower": {
            "type": "number"
          },
          "armor": {
            "type": "number"
          },
          "armorPenetrationFlat": {
            "type": "number"
          },
          "armorPenetrationPercent": {
            "type": "number"
          },
          "attackDamage": {
            "type": "number"
          },
          "attackRange": {
            "type": "number"
          },
          "attackSpeed": {
            "type": "number"
          },
          "bonusArmorPenetrationPercent": {
            "type": "number"
          },
          "bonusMagicPenetrationPercent": {
            "type": "number"
          },
          "critChance": {
            "type": "number"
          },
          "critDamage": {
            "type": "number"
          },
          "currentHealth": {
            "type": "number"
          },
          "healShieldPower": {
            "type": "number"
          },
          "healthRegenRate": {
            "type": "number"
          },
          "lifeSteal": {
            "type": "number"
          },
          "magicLethality": {
            "type": "number"
          },
          "magicPenetrationFlat": {
            "type": "number"
          },
          "magicPenetrationPercent": {
            "type": "number"
          },
          "magicResist": {
            "type": "number"
          },
          "maxHealth": {
            "type": "number"
          },
          "moveSpeed": {
            "type": "number"
          },
          "omnivamp": {
            "type": "number"
          },
          "physicalLethality": {
            "type": "number"
          },
          "physicalVamp": {
            "type": "number"
          },
          "resourceMax": {
            "type": "number"
          },
          "resourceRegenRate": {
            "type": "number"
          },
          "resourceType": {
            "type": "string"
          },
          "resourceValue": {
            "type": "number"
          },
          "spellVamp": {
            "type": "number"
          },
          "tenacity": {
            "type": "number"
          }
        },
        "required": [
          "abilityHaste",
          "abilityPower",
          "armor",
          "armorPenetrationFlat",
          "armorPenetrationPercent",
          "attackDamage",
          "attackRange",
          "attackSpeed",
          "bonusArmorPenetrationPercent",
          "bonusMagicPenetrationPercent",
          "critChance",
          "critDamage",
          "currentHealth",
          "healShieldPower",
          "healthRegenRate",
          "lifeSteal",
          "magicLethality",
          "magicPenetrationFlat",
          "magicPenetrationPercent",
          "magicResist",
          "maxHealth",
          "moveSpeed",
          "omnivamp",
          "physicalLethality",
          "physicalVamp",
          "resourceMax",
          "resourceRegenRate",
          "resourceType",
          "resourceValue",
          "spellVamp",
          "tenacity"
        ]
      },
      "LiveClientData.GeneralRune": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string"
          },
          "id": {
            "type": "integer"
          },
          "rawDescription": {
            "type": "string"
          },
          "rawDisplayName": {
            "type": "string"
          }
        },
        "required": [
          "displayName",
          "id",
          "rawDescription",
          "rawDisplayName"
        ]
      },
      "LiveClientData.StatRune": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "rawDescription": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "rawDescription"
        ]
      },
      "LiveClientData.ActivePlayerRunes": {
        "type": "object",
        "properties": {
          "generalRunes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LiveClientData.GeneralRune"
            }
          },
          "keystone": {
            "$ref": "#/components/schemas/LiveClientData.GeneralRune"
          },
          "primaryRuneTree": {
            "$ref": "#/components/schemas/LiveClientData.GeneralRune"
          },
          "secondaryRuneTree": {
            "$ref": "#/components/schemas/LiveClientData.GeneralRune"
          },
          "statRunes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LiveClientData.StatRune"
            }
          }
        },
        "required": [
          "generalRunes",
          "keystone",
          "primaryRuneTree",
          "secondaryRuneTree",
          "statRunes"
        ]
      },
      "LiveClientData.ActivePlayer": {
        "type": "object",
        "properties": {
          "abilities": {
            "$ref": "#/components/schemas/LiveClientData.ActivePlayerAbilities"
          },
          "championStats": {
            "$ref": "#/components/schemas/LiveClientData.PlayerChampionStats"
          },
          "currentGold": {
            "type": "number"
          },
          "fullRunes": {
            "$ref": "#/components/schemas/LiveClientData.ActivePlayerRunes"
          },
          "level": {
            "type": "integer"
          },
          "summonerName": {
            "type": "string"
          },
          "error": {
            "type": "string"
          }
        }
      },
      "LiveClientData.PlayerItem": {
        "type": "object",
        "properties": {
          "canUse": {
            "type": "boolean"
          },
          "consumable": {
            "type": "boolean"
          },
          "count": {
            "type": "integer"
          },
          "displayName": {
            "type": "string"
          },
          "itemID": {
            "type": "integer"
          },
          "price": {
            "type": "integer"
          },
          "rawDescription": {
            "type": "string"
          },
          "rawDisplayName": {
            "type": "string"
          },
          "slot": {
            "type": "integer"
          }
        },
        "required": [
          "canUse",
          "consumable",
          "count",
          "displayName",
          "itemID",
          "price",
          "rawDescription",
          "rawDisplayName",
          "slot"
        ]
      },
      "LiveClientData.PlayerRunes": {
        "type": "object",
        "properties": {
          "keystone": {
            "$ref": "#/components/schemas/LiveClientData.GeneralRune"
          },
          "primaryRuneTree": {
            "$ref": "#/components/schemas/LiveClientData.GeneralRune"
          },
          "secondaryRuneTree": {
            "$ref": "#/components/schemas/LiveClientData.GeneralRune"
          }
        },
        "required": [
          "keystone",
          "primaryRuneTree",
          "secondaryRuneTree"
        ]
      },
      "LiveClientData.PlayerScores": {
        "type": "object",
        "properties": {
          "assists": {
            "type": "integer"
          },
          "creepScore": {
            "type": "integer"
          },
          "deaths": {
            "type": "integer"
          },
          "kills": {
            "type": "integer"
          },
          "wardScore": {
            "type": "number"
          }
        },
        "required": [
          "assists",
          "creepScore",
          "deaths",
          "kills",
          "wardScore"
        ]
      },
      "LiveClientData.PlayerSummonerSpell": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string"
          },
          "rawDescription": {
            "type": "string"
          },
          "rawDisplayName": {
            "type": "string"
          }
        },
        "required": [
          "displayName",
          "rawDescription",
          "rawDisplayName"
        ]
      },
      "LiveClientData.PlayerSummonerSpells": {
        "type": "object",
        "properties": {
          "summonerSpellOne": {
            "$ref": "#/components/schemas/LiveClientData.PlayerSummonerSpell"
          },
          "summonerSpellTwo": {
            "$ref": "#/components/schemas/LiveClientData.PlayerSummonerSpell"
          }
        },
        "required": [
          "summonerSpellOne",
          "summonerSpellTwo"
        ]
      },
      "LiveClientData.Player": {
        "type": "object",
        "properties": {
          "championName": {
            "type": "string"
          },
          "isBot": {
            "type": "boolean"
          },
          "isDead": {
            "type": "boolean"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LiveClientData.PlayerItem"
            }
          },
          "level": {
            "type": "integer"
          },
          "position": {
            "type": "string"
          },
          "rawChampionName": {
            "type": "string"
          },
          "rawSkinName": {
            "type": "string"
          },
          "respawnTimer": {
            "type": "number"
          },
          "runes": {
            "$ref": "#/components/schemas/LiveClientData.PlayerRunes"
          },
          "scores": {
            "$ref": "#/components/schemas/LiveClientData.PlayerScores"
          },
          "skinID": {
            "type": "integer"
          },
          "skinName": {
            "type": "string"
          },
          "summonerName": {
            "type": "string"
          },
          "summonerSpells": {
            "$ref": "#/components/schemas/LiveClientData.PlayerSummonerSpells"
          },
          "team": {
            "type": "string"
          }
        },
        "required": [
          "championName",
          "isBot",
          "isDead",
          "items",
          "level",
          "position",
          "rawChampionName",
          "respawnTimer",
          "runes",
          "scores",
          "skinID",
          "summonerName",
          "summonerSpells",
          "team"
        ]
      },
      "LiveClientData.Event": {
        "type": "object",
        "properties": {
          "EventID": {
            "type": "integer"
          },
          "EventName": {
            "type": "string"
          },
          "EventTime": {
            "type": "number"
          },
          "Assisters": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "KillerName": {
            "type": "string"
          },
          "VictimName": {
            "type": "string"
          },
          "Recipient": {
            "type": "string"
          },
          "Acer": {
            "type": "string"
          },
          "AcingTeam": {
            "type": "string"
          },
          "DragonType": {
            "type": "string"
          },
          "Stolen": {
            "type": "string"
          },
          "TurretKilled": {
            "type": "string"
          },
          "InhibKilled": {
            "type": "string"
          },
          "InhibRespawningSoon": {
            "type": "string"
          },
          "InhibRespawned": {
            "type": "string"
          },
          "Result": {
            "type": "string"
          },
          "KillStreak": {
            "type": "integer"
          }
        },
        "required": [
          "EventID",
          "EventName",
          "EventTime"
        ]
      },
      "LiveClientData.EventData": {
        "type": "object",
        "properties": {
          "Events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LiveClientData.Event"
            }
          }
        },
        "required": [
          "Events"
        ]
      },
      "LiveClientData.GameStats": {
        "type": "object",
        "properties": {
          "gameMode": {
            "type": "string"
          },
          "gameTime": {
            "type": "number"
          },
          "mapName": {
            "type": "string"
          },
          "mapNumber": {
            "type": "integer"
          },
          "mapTerrain": {
            "type": "string"
          }
        },
        "required": [
          "gameMode",
          "gameTime",
          "mapName",
          "mapNumber",
          "mapTerrain"
        ]
      }
    }
  },
  "info": {
    "description": "League of Legends game client Live Client Data API",
    "title": "LoL Live Client Data",
    "version": "1.0.0"
  },
  "openapi": "3.0.0",
  "paths": {
    "/liveclientdata/activeplayer": {
      "get": {
        "operationId": "LiveClientData.getActivePlayer",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiveClientData.ActivePlayer"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Get all data about the active player",
        "tags": [
          "champions",
          "activePlayer"
        ]
      },
      "x-endpoint": "LiveClientData"
    },
    "/liveclientdata/activeplayerabilities": {
      "get": {
        "operationId": "LiveClientData.getActivePlayerAbilities",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiveClientData.ActivePlayerAbilities"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Get Abilities for the active player",
        "tags": [
          "champions",
          "abilities",
          "activePlayer"
        ]
      },
      "x-endpoint": "LiveClientData"
    },
    "/liveclientdata/activeplayername": {
      "get": {
        "operationId": "LiveClientData.getActivePlayerName",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Returns the player name",
        "tags": [
          "activePlayer"
        ]
      },
      "x-endpoint": "LiveClientData"
    },
    "/liveclientdata/activeplayerrunes": {
      "get": {
        "operationId": "LiveClientData.getActivePlayerRunes",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiveClientData.ActivePlayerRunes"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Retrieve the full list of runes for the active player",
        "tags": [
          "runes",
          "activePlayer"
        ]
      },
      "x-endpoint": "LiveClientData"
    },
    "/liveclientdata/allgamedata": {
      "get": {
        "operationId": "LiveClientData.getAllGameData",
        "parameters": [
          {
            "description": "ID of the next event you expect to see",
            "in": "query",
            "name": "eventID",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiveClientData.AllGameData"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Get all available data",
        "tags": [
          "all"
        ]
      },
      "x-endpoint": "LiveClientData"
    },
    "/liveclientdata/eventdata": {
      "get": {
        "operationId": "LiveClientData.getEventData",
        "parameters": [
          {
            "description": "ID of the next event you expect to see",
            "in": "query",
            "name": "eventID",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiveClientData.EventData"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Get a list of events that have occurred in the game",
        "tags": [
          "champions",
          "events"
        ]
      },
      "x-endpoint": "LiveClientData"
    },
    "/liveclientdata/gamestats": {
      "get": {
        "operationId": "LiveClientData.getGameStats",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiveClientData.GameStats"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Basic data about the game",
        "tags": [
          "game"
        ]
      },
      "x-endpoint": "LiveClientData"
    },
    "/liveclientdata/playeritems": {
      "get": {
        "operationId": "LiveClientData.getPlayerItems",
        "parameters": [
          {
            "description": "Summoner name of player",
            "in": "query",
            "name": "summonerName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LiveClientData.PlayerItem"
                  }
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Retrieve the list of items for the player",
        "tags": [
          "items",
          "allPlayers"
        ]
      },
      "x-endpoint": "LiveClientData"
    },
    "/liveclientdata/playerlist": {
      "get": {
        "operationId": "LiveClientData.getPlayerList",
        "parameters": [
          {
            "description": "Heroes team ID. Optional, returns all players on all teams if null. ",
            "in": "query",
            "name": "teamID",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ALL",
                "UNKNOWN",
                "ORDER",
                "CHAOS",
                "NEUTRAL"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LiveClientData.Player"
                  }
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Retrieve the list of heroes in the game and their stats",
        "tags": [
          "champions",
          "units",
          "allPlayers"
        ]
      },
      "x-endpoint": "LiveClientData"
    },
    "/liveclientdata/playermainrunes": {
      "get": {
        "operationId": "LiveClientData.getPlayerMainRunes",
        "parameters": [
          {
            "description": "Summoner name of player",
            "in": "query",
            "name": "summonerName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiveClientData.PlayerRunes"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Retrieve the basic runes of any player",
        "tags": [
          "allPlayers",
          "runes"
        ]
      },
      "x-endpoint": "LiveClientData"
    },
    "/liveclientdata/playerscores": {
      "get": {
        "operationId": "LiveClientData.getPlayerScores",
        "parameters": [
          {
            "description": "Summoner name of player",
            "in": "query",
            "name": "summonerName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiveClientData.PlayerScores"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Retrieve the list of the current scores for the player",
        "tags": [
          "allPlayers",
          "scores"
        ]
      },
      "x-endpoint": "LiveClientData"
    },
    "/liveclientdata/playersummonerspells": {
      "get": {
        "operationId": "LiveClientData.getPlayerSummonerSpells",
        "parameters": [
          {
            "description": "Summoner name of player",
            "in": "query",
            "name": "summonerName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LiveClientData.PlayerSummonerSpells"
                }
              }
            },
            "description": "Successful response"
          }
        },
        "summary": "Retrieve the list of the summoner spells for the player",
        "tags": [
          "allPlayers"
        ]
      },
      "x-endpoint": "LiveClientData"
    }
  }
}