From a16627fa5813d44ed051fbe345b56a4dda56ddb7 Mon Sep 17 00:00:00 2001 From: Chau Date: Mon, 4 Feb 2019 09:58:40 -0800 Subject: [PATCH] fix (Typings): Remove optional member fields #42 TADA --- _scripts/generate_ts_from_swagger.js | 15 + _scripts/swaggerspec-2.0.yml | 4768 ++++++++++++++++++++++++++ package.json | 1 + typings/dtos.ts | 905 +++-- yarn.lock | 8 + 5 files changed, 5210 insertions(+), 487 deletions(-) create mode 100644 _scripts/swaggerspec-2.0.yml diff --git a/_scripts/generate_ts_from_swagger.js b/_scripts/generate_ts_from_swagger.js index 071e1d18..133dc064 100644 --- a/_scripts/generate_ts_from_swagger.js +++ b/_scripts/generate_ts_from_swagger.js @@ -2,11 +2,25 @@ import request from 'request' const sw2dts = require('sw2dts') import fs from 'fs' import path from 'path' +import yaml from 'js-yaml' import SWAGGER_URL from './swagger_url' const TS_FILE_PATH = path.join(__dirname, '..', 'typings', 'dtos.ts') +// Remove this later +try { + const config = yaml.safeLoad(fs.readFileSync('./_scripts/swaggerspec-2.0.yml', 'utf8')); + const indentedJson = JSON.stringify(config, null, 4); + sw2dts.convert(JSON.parse(indentedJson)).then(data => { + fs.writeFileSync(TS_FILE_PATH, data) + console.log('done') + }) +} catch (e) { + console.log(e); +} + +/* request(SWAGGER_URL, (err, res) => { if (res) { sw2dts.convert(JSON.parse(res.body)).then(data => { @@ -15,3 +29,4 @@ request(SWAGGER_URL, (err, res) => { }) } }) +*/ diff --git a/_scripts/swaggerspec-2.0.yml b/_scripts/swaggerspec-2.0.yml new file mode 100644 index 00000000..5ba44800 --- /dev/null +++ b/_scripts/swaggerspec-2.0.yml @@ -0,0 +1,4768 @@ +swagger: '2.0' +info: + title: 'Riot API' + description: "\nOpenAPI/Swagger version of the [Riot API](https://developer.riotgames.com/). Automatically generated daily.\n## Download OpenAPI Spec File\nThe following versions of the Riot API spec file are available:\n- `openapi-3.0.0.json` ([download file](../openapi-3.0.0.json), [view ui](?openapi-3.0.0.json))\n- `openapi-3.0.0.min.json` ([download file](../openapi-3.0.0.min.json), [view ui](?openapi-3.0.0.min.json))\n- `openapi-3.0.0.yml` ([download file](../openapi-3.0.0.yml), [view ui](?openapi-3.0.0.yml))\n- `openapi-3.0.0.min.yml` ([download file](../openapi-3.0.0.min.yml), [view ui](?openapi-3.0.0.min.yml))\n- `swaggerspec-2.0.json` ([download file](../swaggerspec-2.0.json), [view ui](?swaggerspec-2.0.json))\n- `swaggerspec-2.0.min.json` ([download file](../swaggerspec-2.0.min.json), [view ui](?swaggerspec-2.0.min.json))\n- `swaggerspec-2.0.yml` ([download file](../swaggerspec-2.0.yml), [view ui](?swaggerspec-2.0.yml))\n- `swaggerspec-2.0.min.yml` ([download file](../swaggerspec-2.0.min.yml), [view ui](?swaggerspec-2.0.min.yml))\n## Source Code\nSource code on [GitHub](https://github.com/MingweiSamuel/riotapi-schema). Pull requests welcome!\n## Automatically Generated\nRebuilt on [Travis CI](https://travis-ci.org/MingweiSamuel/riotapi-schema/builds) daily.\n***\n" + termsOfService: 'https://developer.riotgames.com/terms-and-conditions.html' + version: a6116ff21a5e231ce4badf0838d5420875d54876 +host: na1.api.riotgames.com +x-host-platform: + - br1 + - eun1 + - euw1 + - jp1 + - kr + - la1 + - la2 + - na1 + - oc1 + - tr1 + - ru + - pbe1 + - americas + - europe + - asia +schemes: + - https +paths: + '/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}': + x-endpoint: champion-mastery-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - champion-mastery-v4 + summary: 'Get all champion mastery entries sorted by number of champion points descending,' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#champion-mastery-v4/GET_getAllChampionMasteries' + responses: + '200': + description: Success + schema: + type: array + items: + $ref: '#/definitions/champion-mastery-v4.ChampionMasteryDTO' + x-type: ChampionMasteryDTO + x-type: 'List[ChampionMasteryDTO]' + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: champion-mastery-v4.getAllChampionMasteries + description: 'Get all champion mastery entries sorted by number of champion points descending,' + parameters: + - + name: encryptedSummonerId + in: path + required: true + description: 'Summoner ID associated with the player' + type: string + x-type: string + produces: + - application/json + '/lol/champion-mastery/v4/champion-masteries/by-summoner/{encryptedSummonerId}/by-champion/{championId}': + x-endpoint: champion-mastery-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - champion-mastery-v4 + summary: 'Get a champion mastery by player ID and champion ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#champion-mastery-v4/GET_getChampionMastery' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/champion-mastery-v4.ChampionMasteryDTO' + x-type: ChampionMasteryDTO + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: champion-mastery-v4.getChampionMastery + description: 'Get a champion mastery by player ID and champion ID.' + parameters: + - + name: championId + in: path + required: true + description: 'Champion ID to retrieve Champion Mastery for' + type: integer + format: int64 + x-type: long + - + name: encryptedSummonerId + in: path + required: true + description: 'Summoner ID associated with the player' + type: string + x-type: string + produces: + - application/json + '/lol/champion-mastery/v4/scores/by-summoner/{encryptedSummonerId}': + x-endpoint: champion-mastery-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - champion-mastery-v4 + summary: 'Get a player''s total champion mastery score, which is the sum of individual champion mastery levels.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#champion-mastery-v4/GET_getChampionMasteryScore' + responses: + '200': + description: Success + schema: + type: integer + format: int32 + x-type: int + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: champion-mastery-v4.getChampionMasteryScore + description: 'Get a player''s total champion mastery score, which is the sum of individual champion mastery levels.' + parameters: + - + name: encryptedSummonerId + in: path + required: true + description: 'Summoner ID associated with the player' + type: string + x-type: string + produces: + - application/json + /lol/platform/v3/champion-rotations: + x-endpoint: champion-v3 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - champion-v3 + summary: 'Returns champion rotations, including free-to-play and low-level free-to-play rotations (REST)' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#champion-v3/GET_getChampionInfo' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/champion-v3.ChampionInfo' + x-type: ChampionInfo + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: champion-v3.getChampionInfo + description: 'Returns champion rotations, including free-to-play and low-level free-to-play rotations (REST)' + produces: + - application/json + '/lol/league/v4/challengerleagues/by-queue/{queue}': + x-endpoint: league-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - league-v4 + summary: 'Get the challenger league for given queue.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#league-v4/GET_getChallengerLeague' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/league-v4.LeagueListDTO' + x-type: LeagueListDTO + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: league-v4.getChallengerLeague + description: 'Get the challenger league for given queue.' + parameters: + - + name: queue + in: path + required: true + type: string + x-type: string + enum: + - RANKED_SOLO_5x5 + - RANKED_FLEX_SR + - RANKED_FLEX_TT + description: "" + produces: + - application/json + '/lol/league/v4/grandmasterleagues/by-queue/{queue}': + x-endpoint: league-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - league-v4 + summary: 'Get the grandmaster league of a specific queue.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#league-v4/GET_getGrandmasterLeague' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/league-v4.LeagueListDTO' + x-type: LeagueListDTO + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: league-v4.getGrandmasterLeague + description: 'Get the grandmaster league of a specific queue.' + parameters: + - + name: queue + in: path + required: true + type: string + x-type: string + enum: + - RANKED_SOLO_5x5 + - RANKED_FLEX_SR + - RANKED_FLEX_TT + description: "" + produces: + - application/json + '/lol/league/v4/leagues/{leagueId}': + x-endpoint: league-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - league-v4 + summary: 'Get league with given ID, including inactive entries.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#league-v4/GET_getLeagueById' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/league-v4.LeagueListDTO' + x-type: LeagueListDTO + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: league-v4.getLeagueById + description: 'Get league with given ID, including inactive entries.' + parameters: + - + name: leagueId + in: path + required: true + description: 'The UUID of the league.' + type: string + x-type: string + produces: + - application/json + '/lol/league/v4/masterleagues/by-queue/{queue}': + x-endpoint: league-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - league-v4 + summary: 'Get the master league for given queue.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#league-v4/GET_getMasterLeague' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/league-v4.LeagueListDTO' + x-type: LeagueListDTO + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: league-v4.getMasterLeague + description: 'Get the master league for given queue.' + parameters: + - + name: queue + in: path + required: true + type: string + x-type: string + enum: + - RANKED_SOLO_5x5 + - RANKED_FLEX_SR + - RANKED_FLEX_TT + description: "" + produces: + - application/json + /lol/league/v4/positional-rank-queues: + x-endpoint: league-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - league-v4 + summary: 'Get the queues that have positional ranks enabled.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#league-v4/GET_getQueuesWithPositionRanks' + responses: + '200': + description: Success + schema: + type: array + items: + type: string + x-type: String + x-type: 'List[String]' + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: league-v4.getQueuesWithPositionRanks + description: 'Get the queues that have positional ranks enabled.' + produces: + - application/json + '/lol/league/v4/positions/by-summoner/{encryptedSummonerId}': + x-endpoint: league-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - league-v4 + summary: 'Get league positions in all queues for a given summoner ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#league-v4/GET_getAllLeaguePositionsForSummoner' + responses: + '200': + description: Success + schema: + type: array + items: + $ref: '#/definitions/league-v4.LeaguePositionDTO' + x-type: LeaguePositionDTO + x-type: 'Set[LeaguePositionDTO]' + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: league-v4.getAllLeaguePositionsForSummoner + description: 'Get league positions in all queues for a given summoner ID.' + parameters: + - + name: encryptedSummonerId + in: path + required: true + type: string + x-type: string + description: "" + produces: + - application/json + '/lol/league/v4/positions/{positionalQueue}/{tier}/{division}/{position}/{page}': + x-endpoint: league-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - league-v4 + summary: 'Get all the positional league entries.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#league-v4/GET_getPositionalLeagueEntries' + responses: + '200': + description: Success + schema: + type: array + items: + $ref: '#/definitions/league-v4.LeaguePositionDTO' + x-type: LeaguePositionDTO + x-type: 'Set[LeaguePositionDTO]' + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: league-v4.getPositionalLeagueEntries + description: 'Get all the positional league entries.' + parameters: + - + name: positionalQueue + in: path + required: true + description: 'Note that the queue value must be a valid positional queue.' + type: string + x-type: string + enum: + - RANKED_SOLO_5x5 + - RANKED_FLEX_SR + - RANKED_FLEX_TT + - + name: tier + in: path + required: true + type: string + x-type: string + enum: + - DIAMOND + - PLATINUM + - GOLD + - SILVER + - BRONZE + - IRON + description: "" + - + name: division + in: path + required: true + type: string + x-type: string + enum: + - I + - II + - III + - IV + description: "" + - + name: position + in: path + required: true + type: string + x-type: string + enum: + - TOP + - MIDDLE + - BOTTOM + - JUNGLE + - UTILITY + description: "" + - + name: page + in: path + required: true + description: 'Starts with page 0.' + type: integer + format: int32 + x-type: int + produces: + - application/json + /lol/status/v3/shard-data: + x-endpoint: lol-status-v3 + x-platforms-available: + - ru + - kr + - pbe1 + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - lol-status-v3 + summary: 'Get League of Legends status for the given shard.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#lol-status-v3/GET_getShardData' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/lol-status-v3.ShardStatus' + x-type: ShardStatus + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: lol-status-v3.getShardData + x-app-rate-limit-excluded: true + description: "Get League of Legends status for the given shard.\n## Rate Limit Notes\nRequests to this API are not counted against the application Rate Limits." + produces: + - application/json + '/lol/match/v4/matches/by-tournament-code/{tournamentCode}/ids': + x-endpoint: match-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - match-v4 + summary: 'Get match IDs by tournament code.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#match-v4/GET_getMatchIdsByTournamentCode' + responses: + '200': + description: Success + schema: + type: array + items: + type: integer + format: int64 + x-type: long + x-type: 'List[long]' + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: match-v4.getMatchIdsByTournamentCode + description: 'Get match IDs by tournament code.' + parameters: + - + name: tournamentCode + in: path + required: true + description: 'The tournament code.' + type: string + x-type: string + produces: + - application/json + '/lol/match/v4/matches/{matchId}': + x-endpoint: match-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - match-v4 + summary: 'Get match by match ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#match-v4/GET_getMatch' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/match-v4.MatchDto' + x-type: MatchDto + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: match-v4.getMatch + description: 'Get match by match ID.' + parameters: + - + name: matchId + in: path + required: true + description: 'The match ID.' + type: integer + format: int64 + x-type: long + produces: + - application/json + '/lol/match/v4/matches/{matchId}/by-tournament-code/{tournamentCode}': + x-endpoint: match-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - match-v4 + summary: 'Get match by match ID and tournament code.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#match-v4/GET_getMatchByTournamentCode' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/match-v4.MatchDto' + x-type: MatchDto + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: match-v4.getMatchByTournamentCode + description: 'Get match by match ID and tournament code.' + parameters: + - + name: tournamentCode + in: path + required: true + description: 'The tournament code.' + type: string + x-type: string + - + name: matchId + in: path + required: true + description: 'The match ID.' + type: integer + format: int64 + x-type: long + produces: + - application/json + '/lol/match/v4/matchlists/by-account/{encryptedAccountId}': + x-endpoint: match-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - match-v4 + summary: 'Get matchlist for games played on given account ID and platform ID and filtered using given filter parameters, if any.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#match-v4/GET_getMatchlist' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/match-v4.MatchlistDto' + x-type: MatchlistDto + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: match-v4.getMatchlist + description: "Get matchlist for games played on given account ID and platform ID and filtered using given filter parameters, if any.\n## Implementation Notes\nA number of optional parameters are provided for filtering. It is up to the caller to ensure that the combination of filter parameters provided is valid for the requested account, otherwise, no matches may be returned.\n\nIf beginIndex is specified, but not endIndex, then endIndex defaults to beginIndex+100. If endIndex is specified, but not beginIndex, then beginIndex defaults to 0. If both are specified, then endIndex must be greater than beginIndex. The maximum range allowed is 100, otherwise a 400 error code is returned.\n\nIf beginTime is specified, but not endTime, then endTime defaults to the the current unix timestamp in milliseconds. If endTime is specified, but not beginTime, then beginTime defaults to the start of the account's match history. If both are specified, then endTime should be greater than beginTime." + parameters: + - + name: encryptedAccountId + in: path + required: true + description: 'The account ID.' + type: string + x-type: string + - + name: champion + in: query + required: false + description: 'Set of champion IDs for filtering the matchlist.' + type: array + items: + type: integer + format: int32 + x-type: int + x-type: 'Set[int]' + - + name: queue + in: query + required: false + description: 'Set of queue IDs for filtering the matchlist.' + type: array + items: + type: integer + format: int32 + x-type: int + x-type: 'Set[int]' + - + name: season + in: query + required: false + description: 'Set of season IDs for filtering the matchlist.' + type: array + items: + type: integer + format: int32 + x-type: int + x-type: 'Set[int]' + - + name: endTime + in: query + required: false + description: 'The end time to use for filtering matchlist specified as epoch milliseconds. If beginTime is specified, but not endTime, then endTime defaults to the the current unix timestamp in milliseconds. If endTime is specified, but not beginTime, then beginTime defaults to the start of the account''s match history. If both are specified, then endTime should be greater than beginTime.' + type: integer + format: int64 + x-type: long + - + name: beginTime + in: query + required: false + description: 'The begin time to use for filtering matchlist specified as epoch milliseconds. If beginTime is specified, but not endTime, then endTime defaults to the the current unix timestamp in milliseconds. If endTime is specified, but not beginTime, then beginTime defaults to the start of the account''s match history. If both are specified, then endTime should be greater than beginTime.' + type: integer + format: int64 + x-type: long + - + name: endIndex + in: query + required: false + description: 'The end index to use for filtering matchlist. If beginIndex is specified, but not endIndex, then endIndex defaults to beginIndex+100. If endIndex is specified, but not beginIndex, then beginIndex defaults to 0. If both are specified, then endIndex must be greater than beginIndex. The maximum range allowed is 100, otherwise a 400 error code is returned.' + type: integer + format: int32 + x-type: int + - + name: beginIndex + in: query + required: false + description: 'The begin index to use for filtering matchlist. If beginIndex is specified, but not endIndex, then endIndex defaults to beginIndex+100. If endIndex is specified, but not beginIndex, then beginIndex defaults to 0. If both are specified, then endIndex must be greater than beginIndex. The maximum range allowed is 100, otherwise a 400 error code is returned.' + type: integer + format: int32 + x-type: int + produces: + - application/json + '/lol/match/v4/timelines/by-match/{matchId}': + x-endpoint: match-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - match-v4 + summary: 'Get match timeline by match ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#match-v4/GET_getMatchTimeline' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/match-v4.MatchTimelineDto' + x-type: MatchTimelineDto + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: match-v4.getMatchTimeline + description: "Get match timeline by match ID.\n## Implementation Notes\nNot all matches have timeline data." + parameters: + - + name: matchId + in: path + required: true + description: 'The match ID.' + type: integer + format: int64 + x-type: long + produces: + - application/json + '/lol/spectator/v4/active-games/by-summoner/{encryptedSummonerId}': + x-endpoint: spectator-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - spectator-v4 + summary: 'Get current game information for the given summoner ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#spectator-v4/GET_getCurrentGameInfoBySummoner' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/spectator-v4.CurrentGameInfo' + x-type: CurrentGameInfo + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: spectator-v4.getCurrentGameInfoBySummoner + description: 'Get current game information for the given summoner ID.' + parameters: + - + name: encryptedSummonerId + in: path + required: true + description: 'The ID of the summoner.' + type: string + x-type: string + produces: + - application/json + /lol/spectator/v4/featured-games: + x-endpoint: spectator-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - spectator-v4 + summary: 'Get list of featured games.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#spectator-v4/GET_getFeaturedGames' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/spectator-v4.FeaturedGames' + x-type: FeaturedGames + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: spectator-v4.getFeaturedGames + description: 'Get list of featured games.' + produces: + - application/json + '/lol/summoner/v4/summoners/by-account/{encryptedAccountId}': + x-endpoint: summoner-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - summoner-v4 + summary: 'Get a summoner by account ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#summoner-v4/GET_getByAccountId' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/summoner-v4.SummonerDTO' + x-type: SummonerDTO + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: summoner-v4.getByAccountId + description: 'Get a summoner by account ID.' + parameters: + - + name: encryptedAccountId + in: path + required: true + type: string + x-type: string + description: "" + produces: + - application/json + '/lol/summoner/v4/summoners/by-name/{summonerName}': + x-endpoint: summoner-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - summoner-v4 + summary: 'Get a summoner by summoner name.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#summoner-v4/GET_getBySummonerName' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/summoner-v4.SummonerDTO' + x-type: SummonerDTO + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: summoner-v4.getBySummonerName + description: 'Get a summoner by summoner name.' + parameters: + - + name: summonerName + in: path + required: true + description: 'Summoner Name' + type: string + x-type: string + produces: + - application/json + '/lol/summoner/v4/summoners/by-puuid/{encryptedPUUID}': + x-endpoint: summoner-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - summoner-v4 + summary: 'Get a summoner by PUUID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#summoner-v4/GET_getByPUUID' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/summoner-v4.SummonerDTO' + x-type: SummonerDTO + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: summoner-v4.getByPUUID + description: 'Get a summoner by PUUID.' + parameters: + - + name: encryptedPUUID + in: path + required: true + description: 'Summoner ID' + type: string + x-type: string + produces: + - application/json + '/lol/summoner/v4/summoners/{encryptedSummonerId}': + x-endpoint: summoner-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - summoner-v4 + summary: 'Get a summoner by summoner ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#summoner-v4/GET_getBySummonerId' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/summoner-v4.SummonerDTO' + x-type: SummonerDTO + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: summoner-v4.getBySummonerId + description: 'Get a summoner by summoner ID.' + parameters: + - + name: encryptedSummonerId + in: path + required: true + description: 'Summoner ID' + type: string + x-type: string + produces: + - application/json + '/lol/platform/v4/third-party-code/by-summoner/{encryptedSummonerId}': + x-endpoint: third-party-code-v4 + x-platforms-available: + - ru + - kr + - br1 + - oc1 + - jp1 + - na1 + - eun1 + - euw1 + - tr1 + - la1 + - la2 + get: + tags: + - third-party-code-v4 + summary: 'Get third party code for a given summoner ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#third-party-code-v4/GET_getThirdPartyCodeBySummonerId' + responses: + '200': + description: Success + schema: + type: string + x-type: String + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: third-party-code-v4.getThirdPartyCodeBySummonerId + description: 'Get third party code for a given summoner ID.' + parameters: + - + name: encryptedSummonerId + in: path + required: true + type: string + x-type: string + description: "" + produces: + - application/json + /lol/tournament-stub/v4/codes: + x-endpoint: tournament-stub-v4 + x-platforms-available: + - americas + post: + tags: + - tournament-stub-v4 + summary: 'Create a mock tournament code for the given tournament.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#tournament-stub-v4/POST_createTournamentCode' + responses: + '200': + description: Success + schema: + type: array + items: + type: string + x-type: string + x-type: 'List[string]' + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: tournament-stub-v4.createTournamentCode + description: 'Create a mock tournament code for the given tournament.' + parameters: + - + name: count + in: query + required: false + description: 'The number of codes to create (max 1000)' + type: integer + format: int32 + x-type: int + - + name: tournamentId + in: query + required: true + description: 'The tournament ID' + type: integer + format: int64 + x-type: long + - + required: true + description: 'Metadata for the generated code' + schema: + $ref: '#/definitions/tournament-stub-v4.TournamentCodeParameters' + x-type: TournamentCodeParameters + in: body + name: TournamentCodeParameters + produces: + - application/json + consumes: + - application/json + '/lol/tournament-stub/v4/lobby-events/by-code/{tournamentCode}': + x-endpoint: tournament-stub-v4 + x-platforms-available: + - americas + get: + tags: + - tournament-stub-v4 + summary: 'Gets a mock list of lobby events by tournament code.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#tournament-stub-v4/GET_getLobbyEventsByCode' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/tournament-stub-v4.LobbyEventDTOWrapper' + x-type: LobbyEventDTOWrapper + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: tournament-stub-v4.getLobbyEventsByCode + description: 'Gets a mock list of lobby events by tournament code.' + parameters: + - + name: tournamentCode + in: path + required: true + description: 'The short code to look up lobby events for' + type: string + x-type: string + produces: + - application/json + /lol/tournament-stub/v4/providers: + x-endpoint: tournament-stub-v4 + x-platforms-available: + - americas + post: + tags: + - tournament-stub-v4 + summary: 'Creates a mock tournament provider and returns its ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#tournament-stub-v4/POST_registerProviderData' + responses: + '200': + description: Success + schema: + type: integer + format: int32 + x-type: int + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: tournament-stub-v4.registerProviderData + description: "Creates a mock tournament provider and returns its ID.\n## Implementation Notes\nProviders will need to call this endpoint first to register their callback URL and their API key with the tournament system before any other tournament provider endpoints will work." + produces: + - application/json + consumes: + - application/json + parameters: + - + required: true + description: 'The provider definition.' + schema: + $ref: '#/definitions/tournament-stub-v4.ProviderRegistrationParameters' + x-type: ProviderRegistrationParameters + in: body + name: ProviderRegistrationParameters + /lol/tournament-stub/v4/tournaments: + x-endpoint: tournament-stub-v4 + x-platforms-available: + - americas + post: + tags: + - tournament-stub-v4 + summary: 'Creates a mock tournament and returns its ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#tournament-stub-v4/POST_registerTournament' + responses: + '200': + description: Success + schema: + type: integer + format: int32 + x-type: int + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: tournament-stub-v4.registerTournament + description: 'Creates a mock tournament and returns its ID.' + produces: + - application/json + consumes: + - application/json + parameters: + - + required: true + description: 'The tournament definition.' + schema: + $ref: '#/definitions/tournament-stub-v4.TournamentRegistrationParameters' + x-type: TournamentRegistrationParameters + in: body + name: TournamentRegistrationParameters + /lol/tournament/v4/codes: + x-endpoint: tournament-v4 + x-platforms-available: + - americas + post: + tags: + - tournament-v4 + summary: 'Create a tournament code for the given tournament.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#tournament-v4/POST_createTournamentCode' + responses: + '200': + description: Success + schema: + type: array + items: + type: string + x-type: string + x-type: 'List[string]' + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: tournament-v4.createTournamentCode + description: 'Create a tournament code for the given tournament.' + parameters: + - + name: count + in: query + required: false + description: 'The number of codes to create (max 1000)' + type: integer + format: int32 + x-type: int + - + name: tournamentId + in: query + required: true + description: 'The tournament ID' + type: integer + format: int64 + x-type: long + - + required: true + description: 'Metadata for the generated code' + schema: + $ref: '#/definitions/tournament-v4.TournamentCodeParameters' + x-type: TournamentCodeParameters + in: body + name: TournamentCodeParameters + produces: + - application/json + consumes: + - application/json + '/lol/tournament/v4/codes/{tournamentCode}': + x-endpoint: tournament-v4 + x-platforms-available: + - americas + get: + tags: + - tournament-v4 + summary: 'Returns the tournament code DTO associated with a tournament code string.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#tournament-v4/GET_getTournamentCode' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/tournament-v4.TournamentCodeDTO' + x-type: TournamentCodeDTO + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: tournament-v4.getTournamentCode + description: 'Returns the tournament code DTO associated with a tournament code string.' + parameters: + - + name: tournamentCode + in: path + required: true + description: 'The tournament code string.' + type: string + x-type: string + produces: + - application/json + put: + tags: + - tournament-v4 + summary: 'Update the pick type, map, spectator type, or allowed summoners for a code.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#tournament-v4/PUT_updateCode' + responses: + '200': + description: Success + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: tournament-v4.updateCode + description: 'Update the pick type, map, spectator type, or allowed summoners for a code.' + parameters: + - + name: tournamentCode + in: path + required: true + description: 'The tournament code to update' + type: string + x-type: string + - + required: false + description: 'The fields to update' + schema: + $ref: '#/definitions/tournament-v4.TournamentCodeUpdateParameters' + x-type: TournamentCodeUpdateParameters + in: body + name: TournamentCodeUpdateParameters + produces: + - application/json + consumes: + - application/json + '/lol/tournament/v4/lobby-events/by-code/{tournamentCode}': + x-endpoint: tournament-v4 + x-platforms-available: + - americas + get: + tags: + - tournament-v4 + summary: 'Gets a list of lobby events by tournament code.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#tournament-v4/GET_getLobbyEventsByCode' + responses: + '200': + description: Success + schema: + $ref: '#/definitions/tournament-v4.LobbyEventDTOWrapper' + x-type: LobbyEventDTOWrapper + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: tournament-v4.getLobbyEventsByCode + description: 'Gets a list of lobby events by tournament code.' + parameters: + - + name: tournamentCode + in: path + required: true + description: 'The short code to look up lobby events for' + type: string + x-type: string + produces: + - application/json + /lol/tournament/v4/providers: + x-endpoint: tournament-v4 + x-platforms-available: + - americas + post: + tags: + - tournament-v4 + summary: 'Creates a tournament provider and returns its ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#tournament-v4/POST_registerProviderData' + responses: + '200': + description: Success + schema: + type: integer + format: int32 + x-type: int + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: tournament-v4.registerProviderData + description: "Creates a tournament provider and returns its ID.\n## Implementation Notes\nProviders will need to call this endpoint first to register their callback URL and their API key with the tournament system before any other tournament provider endpoints will work." + produces: + - application/json + consumes: + - application/json + parameters: + - + required: true + description: 'The provider definition.' + schema: + $ref: '#/definitions/tournament-v4.ProviderRegistrationParameters' + x-type: ProviderRegistrationParameters + in: body + name: ProviderRegistrationParameters + /lol/tournament/v4/tournaments: + x-endpoint: tournament-v4 + x-platforms-available: + - americas + post: + tags: + - tournament-v4 + summary: 'Creates a tournament and returns its ID.' + externalDocs: + description: 'Official API Reference' + url: 'https://developer.riotgames.com/api-methods/#tournament-v4/POST_registerTournament' + responses: + '200': + description: Success + schema: + type: integer + format: int32 + x-type: int + '400': + description: 'Bad request' + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: 'Data not found' + '405': + description: 'Method not allowed' + '415': + description: 'Unsupported media type' + '429': + description: 'Rate limit exceeded' + '500': + description: 'Internal server error' + '502': + description: 'Bad gateway' + '503': + description: 'Service unavailable' + '504': + description: 'Gateway timeout' + operationId: tournament-v4.registerTournament + description: 'Creates a tournament and returns its ID.' + produces: + - application/json + consumes: + - application/json + parameters: + - + required: true + description: 'The tournament definition.' + schema: + $ref: '#/definitions/tournament-v4.TournamentRegistrationParameters' + x-type: TournamentRegistrationParameters + in: body + name: TournamentRegistrationParameters +definitions: + Error: + type: object + properties: + status: + type: object + properties: + status_code: + type: integer + message: + type: string + champion-mastery-v4.ChampionMasteryDTO: + type: object + title: ChampionMasteryDTO + properties: + chestGranted: + type: boolean + x-type: boolean + description: 'Is chest granted for this champion or not in current season.' + championLevel: + type: integer + format: int32 + x-type: int + description: 'Champion level for specified player and champion combination.' + championPoints: + type: integer + format: int32 + x-type: int + description: 'Total number of champion points for this player and champion combination - they are used to determine championLevel.' + championId: + type: integer + format: int64 + x-type: long + description: 'Champion ID for this entry.' + championPointsUntilNextLevel: + type: integer + format: int64 + x-type: long + description: 'Number of points needed to achieve next level. Zero if player reached maximum champion level for this champion.' + lastPlayTime: + type: integer + format: int64 + x-type: long + description: 'Last time this champion was played by this player - in Unix milliseconds time format.' + tokensEarned: + type: integer + format: int32 + x-type: int + description: 'The token earned for this champion to levelup.' + championPointsSinceLastLevel: + type: integer + format: int64 + x-type: long + description: 'Number of points earned since current level has been achieved.' + summonerId: + type: string + x-type: string + description: 'Summoner ID for this entry. (Encrypted)' + description: 'This object contains single Champion Mastery information for player and champion combination.' + required: + - chestGranted + - championLevel + - championPoints + - championId + - championPointsUntilNextLevel + - lastPlayTime + - tokensEarned + - championPointsSinceLastLevel + - summonerId + champion-v3.ChampionInfo: + type: object + title: ChampionInfo + properties: + freeChampionIdsForNewPlayers: + type: array + items: + type: integer + format: int32 + x-type: int + x-type: 'List[int]' + freeChampionIds: + type: array + items: + type: integer + format: int32 + x-type: int + x-type: 'List[int]' + maxNewPlayerLevel: + type: integer + format: int32 + x-type: int + required: + - freeChampionIdsForNewPlayers + - freeChampionIds + - maxNewPlayerLevel + league-v4.LeagueListDTO: + type: object + title: LeagueListDTO + properties: + leagueId: + type: string + x-type: string + tier: + type: string + x-type: string + entries: + type: array + items: + $ref: '#/definitions/league-v4.LeagueItemDTO' + x-type: LeagueItemDTO + x-type: 'List[LeagueItemDTO]' + queue: + type: string + x-type: string + name: + type: string + x-type: string + required: + - leagueId + - tier + - entries + - queue + - name + league-v4.LeagueItemDTO: + type: object + title: LeagueItemDTO + properties: + summonerName: + type: string + x-type: string + hotStreak: + type: boolean + x-type: boolean + miniSeries: + $ref: '#/definitions/league-v4.MiniSeriesDTO' + x-type: MiniSeriesDTO + wins: + type: integer + format: int32 + x-type: int + veteran: + type: boolean + x-type: boolean + losses: + type: integer + format: int32 + x-type: int + freshBlood: + type: boolean + x-type: boolean + inactive: + type: boolean + x-type: boolean + rank: + type: string + x-type: string + summonerId: + type: string + x-type: string + description: 'Player''s summonerId (Encrypted)' + leaguePoints: + type: integer + format: int32 + x-type: int + required: + - summonerName + - hotStreak + - miniSeries + - wins + - veteran + - losses + - freshBlood + - inactive + - rank + - summonerId + - leaguePoints + league-v4.MiniSeriesDTO: + type: object + title: MiniSeriesDTO + properties: + progress: + type: string + x-type: string + losses: + type: integer + format: int32 + x-type: int + target: + type: integer + format: int32 + x-type: int + wins: + type: integer + format: int32 + x-type: int + required: + - progress + - losses + - target + - wins + league-v4.LeaguePositionDTO: + type: object + title: LeaguePositionDTO + properties: + queueType: + type: string + x-type: string + summonerName: + type: string + x-type: string + hotStreak: + type: boolean + x-type: boolean + miniSeries: + $ref: '#/definitions/league-v4.MiniSeriesDTO' + x-type: MiniSeriesDTO + wins: + type: integer + format: int32 + x-type: int + veteran: + type: boolean + x-type: boolean + losses: + type: integer + format: int32 + x-type: int + rank: + type: string + x-type: string + leagueId: + type: string + x-type: string + inactive: + type: boolean + x-type: boolean + freshBlood: + type: boolean + x-type: boolean + leagueName: + type: string + x-type: string + position: + type: string + x-type: string + enum: + - APEX + - TOP + - JUNGLE + - MIDDLE + - BOTTOM + - UTILITY + - NONE + description: '(Legal values: APEX, TOP, JUNGLE, MIDDLE, BOTTOM, UTILITY, NONE)' + tier: + type: string + x-type: string + summonerId: + type: string + x-type: string + description: 'Player''s summonerId (Encrypted)' + leaguePoints: + type: integer + format: int32 + x-type: int + required: + - queueType + - summonerName + - hotStreak + - miniSeries + - wins + - veteran + - losses + - rank + - leagueId + - inactive + - freshBlood + - leagueName + - position + - tier + - summonerId + - leaguePoints + lol-status-v3.ShardStatus: + type: object + title: ShardStatus + properties: + name: + type: string + x-type: string + region_tag: + type: string + x-type: string + hostname: + type: string + x-type: string + services: + type: array + items: + $ref: '#/definitions/lol-status-v3.Service' + x-type: Service + x-type: 'List[Service]' + slug: + type: string + x-type: string + locales: + type: array + items: + type: string + x-type: string + x-type: 'List[string]' + required: + - name + - region_tag + - hostname + - services + - slug + - locales + lol-status-v3.Service: + type: object + title: Service + properties: + status: + type: string + x-type: string + incidents: + type: array + items: + $ref: '#/definitions/lol-status-v3.Incident' + x-type: Incident + x-type: 'List[Incident]' + name: + type: string + x-type: string + slug: + type: string + x-type: string + required: + - status + - incidents + - name + - slug + lol-status-v3.Incident: + type: object + title: Incident + properties: + active: + type: boolean + x-type: boolean + created_at: + type: string + x-type: string + id: + type: integer + format: int64 + x-type: long + updates: + type: array + items: + $ref: '#/definitions/lol-status-v3.Message' + x-type: Message + x-type: 'List[Message]' + required: + - active + - created_at + - id + - updates + lol-status-v3.Message: + type: object + title: Message + properties: + severity: + type: string + x-type: string + author: + type: string + x-type: string + created_at: + type: string + x-type: string + translations: + type: array + items: + $ref: '#/definitions/lol-status-v3.Translation' + x-type: Translation + x-type: 'List[Translation]' + updated_at: + type: string + x-type: string + content: + type: string + x-type: string + id: + type: string + x-type: string + required: + - severity + - author + - created_at + - translations + - updated_at + - content + - id + lol-status-v3.Translation: + type: object + title: Translation + properties: + locale: + type: string + x-type: string + content: + type: string + x-type: string + heading: + type: string + x-type: string + required: + - locale + - content + - heading + match-v4.MatchDto: + type: object + title: MatchDto + properties: + seasonId: + type: integer + format: int32 + x-type: int + description: 'Please refer to the Game Constants documentation.' + queueId: + type: integer + format: int32 + x-type: int + description: 'Please refer to the Game Constants documentation.' + gameId: + type: integer + format: int64 + x-type: long + participantIdentities: + type: array + items: + $ref: '#/definitions/match-v4.ParticipantIdentityDto' + x-type: ParticipantIdentityDto + x-type: 'List[ParticipantIdentityDto]' + description: 'Participant identity information.' + gameVersion: + type: string + x-type: string + description: 'The major.minor version typically indicates the patch the match was played on.' + platformId: + type: string + x-type: string + description: 'Platform where the match was played.' + gameMode: + type: string + x-type: string + description: 'Please refer to the Game Constants documentation.' + mapId: + type: integer + format: int32 + x-type: int + description: 'Please refer to the Game Constants documentation.' + gameType: + type: string + x-type: string + description: 'Please refer to the Game Constants documentation.' + teams: + type: array + items: + $ref: '#/definitions/match-v4.TeamStatsDto' + x-type: TeamStatsDto + x-type: 'List[TeamStatsDto]' + description: 'Team information.' + participants: + type: array + items: + $ref: '#/definitions/match-v4.ParticipantDto' + x-type: ParticipantDto + x-type: 'List[ParticipantDto]' + description: 'Participant information.' + gameDuration: + type: integer + format: int64 + x-type: long + description: 'Match duration in seconds.' + gameCreation: + type: integer + format: int64 + x-type: long + description: 'Designates the timestamp when champion select ended and the loading screen appeared, NOT when the game timer was at 0:00.' + required: + - seasonId + - queueId + - gameId + - participantIdentities + - gameVersion + - platformId + - gameMode + - mapId + - gameType + - teams + - participants + - gameDuration + - gameCreation + match-v4.ParticipantIdentityDto: + type: object + title: ParticipantIdentityDto + properties: + player: + $ref: '#/definitions/match-v4.PlayerDto' + x-type: PlayerDto + description: 'Player information.' + participantId: + type: integer + format: int32 + x-type: int + required: + - player + - participantId + match-v4.PlayerDto: + type: object + title: PlayerDto + properties: + currentPlatformId: + type: string + x-type: string + summonerName: + type: string + x-type: string + matchHistoryUri: + type: string + x-type: string + platformId: + type: string + x-type: string + description: 'Original platformId.' + currentAccountId: + type: string + x-type: string + description: 'Player''s current accountId (Encrypted)' + profileIcon: + type: integer + format: int32 + x-type: int + summonerId: + type: string + x-type: string + description: 'Player''s summonerId (Encrypted)' + accountId: + type: string + x-type: string + description: 'Player''s original accountId (Encrypted)' + required: + - currentPlatformId + - summonerName + - matchHistoryUri + - platformId + - currentAccountId + - profileIcon + - summonerId + - accountId + match-v4.TeamStatsDto: + type: object + title: TeamStatsDto + properties: + firstDragon: + type: boolean + x-type: boolean + description: 'Flag indicating whether or not the team scored the first Dragon kill.' + firstInhibitor: + type: boolean + x-type: boolean + description: 'Flag indicating whether or not the team destroyed the first inhibitor.' + bans: + type: array + items: + $ref: '#/definitions/match-v4.TeamBansDto' + x-type: TeamBansDto + x-type: 'List[TeamBansDto]' + description: 'If match queueId has a draft, contains banned champion data, otherwise empty.' + baronKills: + type: integer + format: int32 + x-type: int + description: 'Number of times the team killed Baron.' + firstRiftHerald: + type: boolean + x-type: boolean + description: 'Flag indicating whether or not the team scored the first Rift Herald kill.' + firstBaron: + type: boolean + x-type: boolean + description: 'Flag indicating whether or not the team scored the first Baron kill.' + riftHeraldKills: + type: integer + format: int32 + x-type: int + description: 'Number of times the team killed Rift Herald.' + firstBlood: + type: boolean + x-type: boolean + description: 'Flag indicating whether or not the team scored the first blood.' + teamId: + type: integer + format: int32 + x-type: int + description: '100 for blue side. 200 for red side.' + firstTower: + type: boolean + x-type: boolean + description: 'Flag indicating whether or not the team destroyed the first tower.' + vilemawKills: + type: integer + format: int32 + x-type: int + description: 'Number of times the team killed Vilemaw.' + inhibitorKills: + type: integer + format: int32 + x-type: int + description: 'Number of inhibitors the team destroyed.' + towerKills: + type: integer + format: int32 + x-type: int + description: 'Number of towers the team destroyed.' + dominionVictoryScore: + type: integer + format: int32 + x-type: int + description: 'For Dominion matches, specifies the points the team had at game end.' + win: + type: string + x-type: string + enum: + - Fail + - Win + description: "String indicating whether or not the team won. There are only two values visibile in public match history.\n (Legal values: Fail, Win)" + dragonKills: + type: integer + format: int32 + x-type: int + description: 'Number of times the team killed Dragon.' + required: + - firstDragon + - firstInhibitor + - bans + - baronKills + - firstRiftHerald + - firstBaron + - riftHeraldKills + - firstBlood + - teamId + - firstTower + - vilemawKills + - inhibitorKills + - towerKills + - dominionVictoryScore + - win + - dragonKills + match-v4.TeamBansDto: + type: object + title: TeamBansDto + properties: + pickTurn: + type: integer + format: int32 + x-type: int + description: 'Turn during which the champion was banned.' + championId: + type: integer + format: int32 + x-type: int + description: 'Banned championId.' + required: + - pickTurn + - championId + match-v4.ParticipantDto: + type: object + title: ParticipantDto + properties: + stats: + $ref: '#/definitions/match-v4.ParticipantStatsDto' + x-type: ParticipantStatsDto + description: 'Participant statistics.' + participantId: + type: integer + format: int32 + x-type: int + runes: + type: array + items: + $ref: '#/definitions/match-v4.RuneDto' + x-type: RuneDto + x-type: 'List[RuneDto]' + description: 'List of legacy Rune information. Not included for matches played with Runes Reforged.' + timeline: + $ref: '#/definitions/match-v4.ParticipantTimelineDto' + x-type: ParticipantTimelineDto + description: 'Participant timeline data.' + teamId: + type: integer + format: int32 + x-type: int + description: '100 for blue side. 200 for red side.' + spell2Id: + type: integer + format: int32 + x-type: int + description: 'Second Summoner Spell id.' + masteries: + type: array + items: + $ref: '#/definitions/match-v4.MasteryDto' + x-type: MasteryDto + x-type: 'List[MasteryDto]' + description: 'List of legacy Mastery information. Not included for matches played with Runes Reforged.' + highestAchievedSeasonTier: + type: string + x-type: string + enum: + - CHALLENGER + - MASTER + - DIAMOND + - PLATINUM + - GOLD + - SILVER + - BRONZE + - UNRANKED + description: "Highest ranked tier achieved for the previous season in a specific subset of queueIds, if any, otherwise null. Used to display border in game loading screen. Please refer to the Ranked Info documentation.\n (Legal values: CHALLENGER, MASTER, DIAMOND, PLATINUM, GOLD, SILVER, BRONZE, UNRANKED)" + spell1Id: + type: integer + format: int32 + x-type: int + description: 'First Summoner Spell id.' + championId: + type: integer + format: int32 + x-type: int + required: + - stats + - participantId + - runes + - timeline + - teamId + - spell2Id + - masteries + - highestAchievedSeasonTier + - spell1Id + - championId + match-v4.ParticipantStatsDto: + type: object + title: ParticipantStatsDto + properties: + firstBloodAssist: + type: boolean + x-type: boolean + visionScore: + type: integer + format: int64 + x-type: long + magicDamageDealtToChampions: + type: integer + format: int64 + x-type: long + damageDealtToObjectives: + type: integer + format: int64 + x-type: long + totalTimeCrowdControlDealt: + type: integer + format: int32 + x-type: int + longestTimeSpentLiving: + type: integer + format: int32 + x-type: int + perk1Var1: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + perk1Var3: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + perk1Var2: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + tripleKills: + type: integer + format: int32 + x-type: int + perk3Var3: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + nodeNeutralizeAssist: + type: integer + format: int32 + x-type: int + perk3Var2: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + playerScore9: + type: integer + format: int32 + x-type: int + playerScore8: + type: integer + format: int32 + x-type: int + kills: + type: integer + format: int32 + x-type: int + playerScore1: + type: integer + format: int32 + x-type: int + playerScore0: + type: integer + format: int32 + x-type: int + playerScore3: + type: integer + format: int32 + x-type: int + playerScore2: + type: integer + format: int32 + x-type: int + playerScore5: + type: integer + format: int32 + x-type: int + playerScore4: + type: integer + format: int32 + x-type: int + playerScore7: + type: integer + format: int32 + x-type: int + playerScore6: + type: integer + format: int32 + x-type: int + perk5Var1: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + perk5Var3: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + perk5Var2: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + totalScoreRank: + type: integer + format: int32 + x-type: int + neutralMinionsKilled: + type: integer + format: int32 + x-type: int + damageDealtToTurrets: + type: integer + format: int64 + x-type: long + physicalDamageDealtToChampions: + type: integer + format: int64 + x-type: long + nodeCapture: + type: integer + format: int32 + x-type: int + largestMultiKill: + type: integer + format: int32 + x-type: int + perk2Var2: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + perk2Var3: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + totalUnitsHealed: + type: integer + format: int32 + x-type: int + perk2Var1: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + perk4Var1: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + perk4Var2: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + perk4Var3: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + wardsKilled: + type: integer + format: int32 + x-type: int + largestCriticalStrike: + type: integer + format: int32 + x-type: int + largestKillingSpree: + type: integer + format: int32 + x-type: int + quadraKills: + type: integer + format: int32 + x-type: int + teamObjective: + type: integer + format: int32 + x-type: int + magicDamageDealt: + type: integer + format: int64 + x-type: long + item2: + type: integer + format: int32 + x-type: int + item3: + type: integer + format: int32 + x-type: int + item0: + type: integer + format: int32 + x-type: int + neutralMinionsKilledTeamJungle: + type: integer + format: int32 + x-type: int + item6: + type: integer + format: int32 + x-type: int + item4: + type: integer + format: int32 + x-type: int + item5: + type: integer + format: int32 + x-type: int + perk1: + type: integer + format: int32 + x-type: int + description: 'Primary path rune.' + perk0: + type: integer + format: int32 + x-type: int + description: 'Primary path keystone rune.' + perk3: + type: integer + format: int32 + x-type: int + description: 'Primary path rune.' + perk2: + type: integer + format: int32 + x-type: int + description: 'Primary path rune.' + perk5: + type: integer + format: int32 + x-type: int + description: 'Secondary path rune.' + perk4: + type: integer + format: int32 + x-type: int + description: 'Secondary path rune.' + perk3Var1: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + damageSelfMitigated: + type: integer + format: int64 + x-type: long + magicalDamageTaken: + type: integer + format: int64 + x-type: long + firstInhibitorKill: + type: boolean + x-type: boolean + trueDamageTaken: + type: integer + format: int64 + x-type: long + nodeNeutralize: + type: integer + format: int32 + x-type: int + assists: + type: integer + format: int32 + x-type: int + combatPlayerScore: + type: integer + format: int32 + x-type: int + perkPrimaryStyle: + type: integer + format: int32 + x-type: int + description: 'Primary rune path' + goldSpent: + type: integer + format: int32 + x-type: int + trueDamageDealt: + type: integer + format: int64 + x-type: long + participantId: + type: integer + format: int32 + x-type: int + totalDamageTaken: + type: integer + format: int64 + x-type: long + physicalDamageDealt: + type: integer + format: int64 + x-type: long + sightWardsBoughtInGame: + type: integer + format: int32 + x-type: int + totalDamageDealtToChampions: + type: integer + format: int64 + x-type: long + physicalDamageTaken: + type: integer + format: int64 + x-type: long + totalPlayerScore: + type: integer + format: int32 + x-type: int + win: + type: boolean + x-type: boolean + objectivePlayerScore: + type: integer + format: int32 + x-type: int + totalDamageDealt: + type: integer + format: int64 + x-type: long + item1: + type: integer + format: int32 + x-type: int + neutralMinionsKilledEnemyJungle: + type: integer + format: int32 + x-type: int + deaths: + type: integer + format: int32 + x-type: int + wardsPlaced: + type: integer + format: int32 + x-type: int + perkSubStyle: + type: integer + format: int32 + x-type: int + description: 'Secondary rune path' + turretKills: + type: integer + format: int32 + x-type: int + firstBloodKill: + type: boolean + x-type: boolean + trueDamageDealtToChampions: + type: integer + format: int64 + x-type: long + goldEarned: + type: integer + format: int32 + x-type: int + killingSprees: + type: integer + format: int32 + x-type: int + unrealKills: + type: integer + format: int32 + x-type: int + altarsCaptured: + type: integer + format: int32 + x-type: int + firstTowerAssist: + type: boolean + x-type: boolean + firstTowerKill: + type: boolean + x-type: boolean + champLevel: + type: integer + format: int32 + x-type: int + doubleKills: + type: integer + format: int32 + x-type: int + nodeCaptureAssist: + type: integer + format: int32 + x-type: int + inhibitorKills: + type: integer + format: int32 + x-type: int + firstInhibitorAssist: + type: boolean + x-type: boolean + perk0Var1: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + perk0Var2: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + perk0Var3: + type: integer + format: int32 + x-type: int + description: 'Post game rune stats.' + visionWardsBoughtInGame: + type: integer + format: int32 + x-type: int + altarsNeutralized: + type: integer + format: int32 + x-type: int + pentaKills: + type: integer + format: int32 + x-type: int + totalHeal: + type: integer + format: int64 + x-type: long + totalMinionsKilled: + type: integer + format: int32 + x-type: int + timeCCingOthers: + type: integer + format: int64 + x-type: long + required: + - firstBloodAssist + - visionScore + - magicDamageDealtToChampions + - damageDealtToObjectives + - totalTimeCrowdControlDealt + - longestTimeSpentLiving + - perk1Var1 + - perk1Var3 + - perk1Var2 + - tripleKills + - perk3Var3 + - nodeNeutralizeAssist + - perk3Var2 + - playerScore9 + - playerScore8 + - kills + - playerScore1 + - playerScore0 + - playerScore3 + - playerScore2 + - playerScore5 + - playerScore4 + - playerScore7 + - playerScore6 + - perk5Var1 + - perk5Var3 + - perk5Var2 + - totalScoreRank + - neutralMinionsKilled + - damageDealtToTurrets + - physicalDamageDealtToChampions + - nodeCapture + - largestMultiKill + - perk2Var2 + - perk2Var3 + - totalUnitsHealed + - perk2Var1 + - perk4Var1 + - perk4Var2 + - perk4Var3 + - wardsKilled + - largestCriticalStrike + - largestKillingSpree + - quadraKills + - teamObjective + - magicDamageDealt + - item2 + - item3 + - item0 + - neutralMinionsKilledTeamJungle + - item6 + - item4 + - item5 + - perk1 + - perk0 + - perk3 + - perk2 + - perk5 + - perk4 + - perk3Var1 + - damageSelfMitigated + - magicalDamageTaken + - firstInhibitorKill + - trueDamageTaken + - nodeNeutralize + - assists + - combatPlayerScore + - perkPrimaryStyle + - goldSpent + - trueDamageDealt + - participantId + - totalDamageTaken + - physicalDamageDealt + - sightWardsBoughtInGame + - totalDamageDealtToChampions + - physicalDamageTaken + - totalPlayerScore + - win + - objectivePlayerScore + - totalDamageDealt + - item1 + - neutralMinionsKilledEnemyJungle + - deaths + - wardsPlaced + - perkSubStyle + - turretKills + - firstBloodKill + - trueDamageDealtToChampions + - goldEarned + - killingSprees + - unrealKills + - altarsCaptured + - firstTowerAssist + - firstTowerKill + - champLevel + - doubleKills + - nodeCaptureAssist + - inhibitorKills + - firstInhibitorAssist + - perk0Var1 + - perk0Var2 + - perk0Var3 + - visionWardsBoughtInGame + - altarsNeutralized + - pentaKills + - totalHeal + - totalMinionsKilled + - timeCCingOthers + match-v4.RuneDto: + type: object + title: RuneDto + properties: + runeId: + type: integer + format: int32 + x-type: int + rank: + type: integer + format: int32 + x-type: int + required: + - runeId + - rank + match-v4.ParticipantTimelineDto: + type: object + title: ParticipantTimelineDto + properties: + lane: + type: string + x-type: string + enum: + - MID + - MIDDLE + - TOP + - JUNGLE + - BOT + - BOTTOM + description: "Participant's calculated lane. MID and BOT are legacy values.\n (Legal values: MID, MIDDLE, TOP, JUNGLE, BOT, BOTTOM)" + participantId: + type: integer + format: int32 + x-type: int + csDiffPerMinDeltas: + type: object + x-key: + type: string + x-type: String + additionalProperties: + type: number + format: double + x-type: double + x-type: 'Map[String, double]' + description: 'Creep score difference versus the calculated lane opponent(s) for a specified period.' + goldPerMinDeltas: + type: object + x-key: + type: string + x-type: String + additionalProperties: + type: number + format: double + x-type: double + x-type: 'Map[String, double]' + description: 'Gold for a specified period.' + xpDiffPerMinDeltas: + type: object + x-key: + type: string + x-type: String + additionalProperties: + type: number + format: double + x-type: double + x-type: 'Map[String, double]' + description: 'Experience difference versus the calculated lane opponent(s) for a specified period.' + creepsPerMinDeltas: + type: object + x-key: + type: string + x-type: String + additionalProperties: + type: number + format: double + x-type: double + x-type: 'Map[String, double]' + description: 'Creeps for a specified period.' + xpPerMinDeltas: + type: object + x-key: + type: string + x-type: String + additionalProperties: + type: number + format: double + x-type: double + x-type: 'Map[String, double]' + description: 'Experience change for a specified period.' + role: + type: string + x-type: string + enum: + - DUO + - NONE + - SOLO + - DUO_CARRY + - DUO_SUPPORT + description: "Participant's calculated role.\n (Legal values: DUO, NONE, SOLO, DUO_CARRY, DUO_SUPPORT)" + damageTakenDiffPerMinDeltas: + type: object + x-key: + type: string + x-type: String + additionalProperties: + type: number + format: double + x-type: double + x-type: 'Map[String, double]' + description: 'Damage taken difference versus the calculated lane opponent(s) for a specified period.' + damageTakenPerMinDeltas: + type: object + x-key: + type: string + x-type: String + additionalProperties: + type: number + format: double + x-type: double + x-type: 'Map[String, double]' + description: 'Damage taken for a specified period.' + required: + - lane + - participantId + - csDiffPerMinDeltas + - goldPerMinDeltas + - xpDiffPerMinDeltas + - creepsPerMinDeltas + - xpPerMinDeltas + - role + - damageTakenDiffPerMinDeltas + - damageTakenPerMinDeltas + match-v4.MasteryDto: + type: object + title: MasteryDto + properties: + masteryId: + type: integer + format: int32 + x-type: int + rank: + type: integer + format: int32 + x-type: int + required: + - masteryId + - rank + match-v4.MatchlistDto: + type: object + title: MatchlistDto + properties: + matches: + type: array + items: + $ref: '#/definitions/match-v4.MatchReferenceDto' + x-type: MatchReferenceDto + x-type: 'List[MatchReferenceDto]' + totalGames: + type: integer + format: int32 + x-type: int + startIndex: + type: integer + format: int32 + x-type: int + endIndex: + type: integer + format: int32 + x-type: int + required: + - matches + - totalGames + - startIndex + - endIndex + match-v4.MatchReferenceDto: + type: object + title: MatchReferenceDto + properties: + lane: + type: string + x-type: string + gameId: + type: integer + format: int64 + x-type: long + champion: + type: integer + format: int32 + x-type: int + platformId: + type: string + x-type: string + season: + type: integer + format: int32 + x-type: int + queue: + type: integer + format: int32 + x-type: int + role: + type: string + x-type: string + timestamp: + type: integer + format: int64 + x-type: long + required: + - lane + - gameId + - champion + - platformId + - season + - queue + - role + - timestamp + match-v4.MatchTimelineDto: + type: object + title: MatchTimelineDto + properties: + frames: + type: array + items: + $ref: '#/definitions/match-v4.MatchFrameDto' + x-type: MatchFrameDto + x-type: 'List[MatchFrameDto]' + frameInterval: + type: integer + format: int64 + x-type: long + required: + - frames + - frameInterval + match-v4.MatchFrameDto: + type: object + title: MatchFrameDto + properties: + timestamp: + type: integer + format: int64 + x-type: long + participantFrames: + type: object + x-key: + type: string + x-type: String + additionalProperties: + $ref: '#/definitions/match-v4.MatchParticipantFrameDto' + x-type: MatchParticipantFrameDto + x-type: 'Map[String, MatchParticipantFrameDto]' + events: + type: array + items: + $ref: '#/definitions/match-v4.MatchEventDto' + x-type: MatchEventDto + x-type: 'List[MatchEventDto]' + required: + - timestamp + - participantFrames + - events + match-v4.MatchParticipantFrameDto: + type: object + title: MatchParticipantFrameDto + properties: + totalGold: + type: integer + format: int32 + x-type: int + teamScore: + type: integer + format: int32 + x-type: int + participantId: + type: integer + format: int32 + x-type: int + level: + type: integer + format: int32 + x-type: int + currentGold: + type: integer + format: int32 + x-type: int + minionsKilled: + type: integer + format: int32 + x-type: int + dominionScore: + type: integer + format: int32 + x-type: int + position: + $ref: '#/definitions/match-v4.MatchPositionDto' + x-type: MatchPositionDto + xp: + type: integer + format: int32 + x-type: int + jungleMinionsKilled: + type: integer + format: int32 + x-type: int + required: + - totalGold + - teamScore + - participantId + - level + - currentGold + - minionsKilled + - dominionScore + - position + - xp + - jungleMinionsKilled + match-v4.MatchPositionDto: + type: object + title: MatchPositionDto + properties: + y: + type: integer + format: int32 + x-type: int + x: + type: integer + format: int32 + x-type: int + required: + - y + - x + match-v4.MatchEventDto: + type: object + title: MatchEventDto + properties: + eventType: + type: string + x-type: string + towerType: + type: string + x-type: string + teamId: + type: integer + format: int32 + x-type: int + ascendedType: + type: string + x-type: string + killerId: + type: integer + format: int32 + x-type: int + levelUpType: + type: string + x-type: string + pointCaptured: + type: string + x-type: string + assistingParticipantIds: + type: array + items: + type: integer + format: int32 + x-type: int + x-type: 'List[int]' + wardType: + type: string + x-type: string + monsterType: + type: string + x-type: string + type: + type: string + x-type: string + enum: + - CHAMPION_KILL + - WARD_PLACED + - WARD_KILL + - BUILDING_KILL + - ELITE_MONSTER_KILL + - ITEM_PURCHASED + - ITEM_SOLD + - ITEM_DESTROYED + - ITEM_UNDO + - SKILL_LEVEL_UP + - ASCENDED_EVENT + - CAPTURE_POINT + - PORO_KING_SUMMON + description: '(Legal values: CHAMPION_KILL, WARD_PLACED, WARD_KILL, BUILDING_KILL, ELITE_MONSTER_KILL, ITEM_PURCHASED, ITEM_SOLD, ITEM_DESTROYED, ITEM_UNDO, SKILL_LEVEL_UP, ASCENDED_EVENT, CAPTURE_POINT, PORO_KING_SUMMON)' + skillSlot: + type: integer + format: int32 + x-type: int + victimId: + type: integer + format: int32 + x-type: int + timestamp: + type: integer + format: int64 + x-type: long + afterId: + type: integer + format: int32 + x-type: int + monsterSubType: + type: string + x-type: string + laneType: + type: string + x-type: string + itemId: + type: integer + format: int32 + x-type: int + participantId: + type: integer + format: int32 + x-type: int + buildingType: + type: string + x-type: string + creatorId: + type: integer + format: int32 + x-type: int + position: + $ref: '#/definitions/match-v4.MatchPositionDto' + x-type: MatchPositionDto + beforeId: + type: integer + format: int32 + x-type: int + required: + - eventType + - towerType + - teamId + - ascendedType + - killerId + - levelUpType + - pointCaptured + - assistingParticipantIds + - wardType + - monsterType + - type + - skillSlot + - victimId + - timestamp + - afterId + - monsterSubType + - laneType + - itemId + - participantId + - buildingType + - creatorId + - position + - beforeId + spectator-v4.CurrentGameInfo: + type: object + title: CurrentGameInfo + properties: + gameId: + type: integer + format: int64 + x-type: long + description: 'The ID of the game' + gameStartTime: + type: integer + format: int64 + x-type: long + description: 'The game start time represented in epoch milliseconds' + platformId: + type: string + x-type: string + description: 'The ID of the platform on which the game is being played' + gameMode: + type: string + x-type: string + description: 'The game mode' + mapId: + type: integer + format: int64 + x-type: long + description: 'The ID of the map' + gameType: + type: string + x-type: string + description: 'The game type' + bannedChampions: + type: array + items: + $ref: '#/definitions/spectator-v4.BannedChampion' + x-type: BannedChampion + x-type: 'List[BannedChampion]' + description: 'Banned champion information' + observers: + $ref: '#/definitions/spectator-v4.Observer' + x-type: Observer + description: 'The observer information' + participants: + type: array + items: + $ref: '#/definitions/spectator-v4.CurrentGameParticipant' + x-type: CurrentGameParticipant + x-type: 'List[CurrentGameParticipant]' + description: 'The participant information' + gameLength: + type: integer + format: int64 + x-type: long + description: 'The amount of time in seconds that has passed since the game started' + gameQueueConfigId: + type: integer + format: int64 + x-type: long + description: 'The queue type (queue types are documented on the Game Constants page)' + required: + - gameId + - gameStartTime + - platformId + - gameMode + - mapId + - gameType + - bannedChampions + - observers + - participants + - gameLength + - gameQueueConfigId + spectator-v4.BannedChampion: + type: object + title: BannedChampion + properties: + pickTurn: + type: integer + format: int32 + x-type: int + description: 'The turn during which the champion was banned' + championId: + type: integer + format: int64 + x-type: long + description: 'The ID of the banned champion' + teamId: + type: integer + format: int64 + x-type: long + description: 'The ID of the team that banned the champion' + required: + - pickTurn + - championId + - teamId + spectator-v4.Observer: + type: object + title: Observer + properties: + encryptionKey: + type: string + x-type: string + description: 'Key used to decrypt the spectator grid game data for playback' + required: + - encryptionKey + spectator-v4.CurrentGameParticipant: + type: object + title: CurrentGameParticipant + properties: + profileIconId: + type: integer + format: int64 + x-type: long + description: 'The ID of the profile icon used by this participant' + championId: + type: integer + format: int64 + x-type: long + description: 'The ID of the champion played by this participant' + summonerName: + type: string + x-type: string + description: 'The summoner name of this participant' + gameCustomizationObjects: + type: array + items: + $ref: '#/definitions/spectator-v4.GameCustomizationObject' + x-type: GameCustomizationObject + x-type: 'List[GameCustomizationObject]' + description: 'List of Game Customizations' + bot: + type: boolean + x-type: boolean + description: 'Flag indicating whether or not this participant is a bot' + perks: + $ref: '#/definitions/spectator-v4.Perks' + x-type: Perks + description: 'Perks/Runes Reforged Information' + spell2Id: + type: integer + format: int64 + x-type: long + description: 'The ID of the second summoner spell used by this participant' + teamId: + type: integer + format: int64 + x-type: long + description: 'The team ID of this participant, indicating the participant''s team' + spell1Id: + type: integer + format: int64 + x-type: long + description: 'The ID of the first summoner spell used by this participant' + summonerId: + type: string + x-type: string + description: 'The encrypted summoner ID of this participant' + required: + - profileIconId + - championId + - summonerName + - gameCustomizationObjects + - bot + - perks + - spell2Id + - teamId + - spell1Id + - summonerId + spectator-v4.GameCustomizationObject: + type: object + title: GameCustomizationObject + properties: + category: + type: string + x-type: string + description: 'Category identifier for Game Customization' + content: + type: string + x-type: string + description: 'Game Customization content' + required: + - category + - content + spectator-v4.Perks: + type: object + title: Perks + properties: + perkStyle: + type: integer + format: int64 + x-type: long + description: 'Primary runes path' + perkIds: + type: array + items: + type: integer + format: int64 + x-type: long + x-type: 'List[long]' + description: 'IDs of the perks/runes assigned.' + perkSubStyle: + type: integer + format: int64 + x-type: long + description: 'Secondary runes path' + required: + - perkStyle + - perkIds + - perkSubStyle + spectator-v4.FeaturedGames: + type: object + title: FeaturedGames + properties: + clientRefreshInterval: + type: integer + format: int64 + x-type: long + description: 'The suggested interval to wait before requesting FeaturedGames again' + gameList: + type: array + items: + $ref: '#/definitions/spectator-v4.FeaturedGameInfo' + x-type: FeaturedGameInfo + x-type: 'List[FeaturedGameInfo]' + description: 'The list of featured games' + required: + - clientRefreshInterval + - gameList + spectator-v4.FeaturedGameInfo: + type: object + title: FeaturedGameInfo + properties: + gameId: + type: integer + format: int64 + x-type: long + description: 'The ID of the game' + gameStartTime: + type: integer + format: int64 + x-type: long + description: 'The game start time represented in epoch milliseconds' + platformId: + type: string + x-type: string + description: 'The ID of the platform on which the game is being played' + gameMode: + type: string + x-type: string + enum: + - CLASSIC + - ODIN + - ARAM + - TUTORIAL + - ONEFORALL + - ASCENSION + - FIRSTBLOOD + - KINGPORO + description: "The game mode\n (Legal values: CLASSIC, ODIN, ARAM, TUTORIAL, ONEFORALL, ASCENSION, FIRSTBLOOD, KINGPORO)" + mapId: + type: integer + format: int64 + x-type: long + description: 'The ID of the map' + gameType: + type: string + x-type: string + enum: + - CUSTOM_GAME + - MATCHED_GAME + - TUTORIAL_GAME + description: "The game type\n (Legal values: CUSTOM_GAME, MATCHED_GAME, TUTORIAL_GAME)" + bannedChampions: + type: array + items: + $ref: '#/definitions/spectator-v4.BannedChampion' + x-type: BannedChampion + x-type: 'List[BannedChampion]' + description: 'Banned champion information' + observers: + $ref: '#/definitions/spectator-v4.Observer' + x-type: Observer + description: 'The observer information' + participants: + type: array + items: + $ref: '#/definitions/spectator-v4.Participant' + x-type: Participant + x-type: 'List[Participant]' + description: 'The participant information' + gameLength: + type: integer + format: int64 + x-type: long + description: 'The amount of time in seconds that has passed since the game started' + gameQueueConfigId: + type: integer + format: int64 + x-type: long + description: 'The queue type (queue types are documented on the Game Constants page)' + required: + - gameId + - gameStartTime + - platformId + - gameMode + - mapId + - gameType + - bannedChampions + - observers + - participants + - gameLength + - gameQueueConfigId + spectator-v4.Participant: + type: object + title: Participant + properties: + profileIconId: + type: integer + format: int64 + x-type: long + description: 'The ID of the profile icon used by this participant' + championId: + type: integer + format: int64 + x-type: long + description: 'The ID of the champion played by this participant' + summonerName: + type: string + x-type: string + description: 'The summoner name of this participant' + bot: + type: boolean + x-type: boolean + description: 'Flag indicating whether or not this participant is a bot' + spell2Id: + type: integer + format: int64 + x-type: long + description: 'The ID of the second summoner spell used by this participant' + teamId: + type: integer + format: int64 + x-type: long + description: 'The team ID of this participant, indicating the participant''s team' + spell1Id: + type: integer + format: int64 + x-type: long + description: 'The ID of the first summoner spell used by this participant' + required: + - profileIconId + - championId + - summonerName + - bot + - spell2Id + - teamId + - spell1Id + summoner-v4.SummonerDTO: + type: object + title: SummonerDTO + properties: + profileIconId: + type: integer + format: int32 + x-type: int + description: 'ID of the summoner icon associated with the summoner.' + name: + type: string + x-type: string + description: 'Summoner name.' + puuid: + type: string + x-type: string + description: 'Encrypted PUUID. Exact length of 78 characters.' + summonerLevel: + type: integer + format: int64 + x-type: long + description: 'Summoner level associated with the summoner.' + revisionDate: + type: integer + format: int64 + x-type: long + description: 'Date summoner was last modified specified as epoch milliseconds. The following events will update this timestamp: profile icon change, playing the tutorial or advanced tutorial, finishing a game, summoner name change' + id: + type: string + x-type: string + description: 'Encrypted summoner ID. Max length 63 characters.' + accountId: + type: string + x-type: string + description: 'Encrypted account ID. Max length 56 characters.' + description: 'represents a summoner' + required: + - profileIconId + - name + - puuid + - summonerLevel + - revisionDate + - id + - accountId + tournament-stub-v4.TournamentCodeParameters: + type: object + title: TournamentCodeParameters + properties: + spectatorType: + type: string + x-type: string + enum: + - NONE + - LOBBYONLY + - ALL + description: "The spectator type of the game.\n (Legal values: NONE, LOBBYONLY, ALL)" + teamSize: + type: integer + format: int32 + x-type: int + minimum: 1 + maximum: 5 + description: 'The team size of the game. Valid values are 1-5.' + pickType: + type: string + x-type: string + enum: + - BLIND_PICK + - DRAFT_MODE + - ALL_RANDOM + - TOURNAMENT_DRAFT + description: "The pick type of the game.\n (Legal values: BLIND_PICK, DRAFT_MODE, ALL_RANDOM, TOURNAMENT_DRAFT)" + allowedSummonerIds: + type: array + items: + type: string + x-type: string + x-type: 'Set[string]' + description: 'Optional list of encrypted summonerIds in order to validate the players eligible to join the lobby. NOTE: We currently do not enforce participants at the team level, but rather the aggregate of teamOne and teamTwo. We may add the ability to enforce at the team level in the future.' + mapType: + type: string + x-type: string + enum: + - SUMMONERS_RIFT + - TWISTED_TREELINE + - HOWLING_ABYSS + description: "The map type of the game.\n (Legal values: SUMMONERS_RIFT, TWISTED_TREELINE, HOWLING_ABYSS)" + metadata: + type: string + x-type: string + description: 'Optional string that may contain any data in any format, if specified at all. Used to denote any custom information about the game.' + required: + - spectatorType + - teamSize + - pickType + - allowedSummonerIds + - mapType + - metadata + tournament-stub-v4.LobbyEventDTOWrapper: + type: object + title: LobbyEventDTOWrapper + properties: + eventList: + type: array + items: + $ref: '#/definitions/tournament-stub-v4.LobbyEventDTO' + x-type: LobbyEventDTO + x-type: 'List[LobbyEventDTO]' + required: + - eventList + tournament-stub-v4.LobbyEventDTO: + type: object + title: LobbyEventDTO + properties: + eventType: + type: string + x-type: string + description: 'The type of event that was triggered' + summonerId: + type: string + x-type: string + description: 'The summonerId that triggered the event (Encrypted)' + timestamp: + type: string + x-type: string + description: 'Timestamp from the event' + required: + - eventType + - summonerId + - timestamp + tournament-stub-v4.ProviderRegistrationParameters: + type: object + title: ProviderRegistrationParameters + properties: + url: + type: string + x-type: string + description: 'The provider''s callback URL to which tournament game results in this region should be posted. The URL must be well-formed, use the http or https protocol, and use the default port for the protocol (http URLs must use port 80, https URLs must use port 443).' + region: + type: string + x-type: string + enum: + - BR + - EUNE + - EUW + - JP + - LAN + - LAS + - NA + - OCE + - PBE + - RU + - TR + description: "The region in which the provider will be running tournaments.\n (Legal values: BR, EUNE, EUW, JP, LAN, LAS, NA, OCE, PBE, RU, TR)" + required: + - url + - region + tournament-stub-v4.TournamentRegistrationParameters: + type: object + title: TournamentRegistrationParameters + properties: + providerId: + type: integer + format: int32 + x-type: int + description: 'The provider ID to specify the regional registered provider data to associate this tournament.' + name: + type: string + x-type: string + description: 'The optional name of the tournament.' + required: + - providerId + - name + tournament-v4.TournamentCodeParameters: + type: object + title: TournamentCodeParameters + properties: + spectatorType: + type: string + x-type: string + enum: + - NONE + - LOBBYONLY + - ALL + description: "The spectator type of the game.\n (Legal values: NONE, LOBBYONLY, ALL)" + teamSize: + type: integer + format: int32 + x-type: int + minimum: 1 + maximum: 5 + description: 'The team size of the game. Valid values are 1-5.' + pickType: + type: string + x-type: string + enum: + - BLIND_PICK + - DRAFT_MODE + - ALL_RANDOM + - TOURNAMENT_DRAFT + description: "The pick type of the game.\n (Legal values: BLIND_PICK, DRAFT_MODE, ALL_RANDOM, TOURNAMENT_DRAFT)" + allowedSummonerIds: + type: array + items: + type: string + x-type: string + x-type: 'Set[string]' + description: 'Optional list of encrypted summonerIds in order to validate the players eligible to join the lobby. NOTE: We currently do not enforce participants at the team level, but rather the aggregate of teamOne and teamTwo. We may add the ability to enforce at the team level in the future.' + mapType: + type: string + x-type: string + enum: + - SUMMONERS_RIFT + - TWISTED_TREELINE + - HOWLING_ABYSS + description: "The map type of the game.\n (Legal values: SUMMONERS_RIFT, TWISTED_TREELINE, HOWLING_ABYSS)" + metadata: + type: string + x-type: string + description: 'Optional string that may contain any data in any format, if specified at all. Used to denote any custom information about the game.' + required: + - spectatorType + - teamSize + - pickType + - allowedSummonerIds + - mapType + - metadata + tournament-v4.TournamentCodeDTO: + type: object + title: TournamentCodeDTO + properties: + map: + type: string + x-type: string + description: 'The game map for the tournament code game' + code: + type: string + x-type: string + description: 'The tournament code.' + spectators: + type: string + x-type: string + description: 'The spectator mode for the tournament code game.' + region: + type: string + x-type: string + enum: + - BR + - EUNE + - EUW + - JP + - LAN + - LAS + - NA + - OCE + - PBE + - RU + - TR + description: "The tournament code's region.\n (Legal values: BR, EUNE, EUW, JP, LAN, LAS, NA, OCE, PBE, RU, TR)" + providerId: + type: integer + format: int32 + x-type: int + description: 'The provider''s ID.' + teamSize: + type: integer + format: int32 + x-type: int + description: 'The team size for the tournament code game.' + participants: + type: array + items: + type: string + x-type: string + x-type: 'Set[string]' + description: 'The summonerIds of the participants (Encrypted)' + pickType: + type: string + x-type: string + description: 'The pick mode for tournament code game.' + tournamentId: + type: integer + format: int32 + x-type: int + description: 'The tournament''s ID.' + lobbyName: + type: string + x-type: string + description: 'The lobby name for the tournament code game.' + password: + type: string + x-type: string + description: 'The password for the tournament code game.' + id: + type: integer + format: int32 + x-type: int + description: 'The tournament code''s ID.' + metaData: + type: string + x-type: string + description: 'The metadata for tournament code.' + required: + - map + - code + - spectators + - region + - providerId + - teamSize + - participants + - pickType + - tournamentId + - lobbyName + - password + - id + - metaData + tournament-v4.TournamentCodeUpdateParameters: + type: object + title: TournamentCodeUpdateParameters + properties: + spectatorType: + type: string + x-type: string + enum: + - NONE + - LOBBYONLY + - ALL + description: "The spectator type\n (Legal values: NONE, LOBBYONLY, ALL)" + pickType: + type: string + x-type: string + enum: + - BLIND_PICK + - DRAFT_MODE + - ALL_RANDOM + - TOURNAMENT_DRAFT + description: "The pick type\n (Legal values: BLIND_PICK, DRAFT_MODE, ALL_RANDOM, TOURNAMENT_DRAFT)" + allowedSummonerIds: + type: array + items: + type: string + x-type: string + x-type: 'Set[string]' + description: 'Optional list of encrypted summonerIds in order to validate the players eligible to join the lobby. NOTE: We currently do not enforce participants at the team level, but rather the aggregate of teamOne and teamTwo. We may add the ability to enforce at the team level in the future.' + mapType: + type: string + x-type: string + enum: + - SUMMONERS_RIFT + - TWISTED_TREELINE + - HOWLING_ABYSS + description: "The map type\n (Legal values: SUMMONERS_RIFT, TWISTED_TREELINE, HOWLING_ABYSS)" + required: + - spectatorType + - pickType + - allowedSummonerIds + - mapType + tournament-v4.LobbyEventDTOWrapper: + type: object + title: LobbyEventDTOWrapper + properties: + eventList: + type: array + items: + $ref: '#/definitions/tournament-v4.LobbyEventDTO' + x-type: LobbyEventDTO + x-type: 'List[LobbyEventDTO]' + required: + - eventList + tournament-v4.LobbyEventDTO: + type: object + title: LobbyEventDTO + properties: + timestamp: + type: string + x-type: string + description: 'Timestamp from the event' + summonerId: + type: string + x-type: string + description: 'The summonerId that triggered the event (Encrypted)' + eventType: + type: string + x-type: string + description: 'The type of event that was triggered' + required: + - timestamp + - summonerId + - eventType + tournament-v4.ProviderRegistrationParameters: + type: object + title: ProviderRegistrationParameters + properties: + url: + type: string + x-type: string + description: 'The provider''s callback URL to which tournament game results in this region should be posted. The URL must be well-formed, use the http or https protocol, and use the default port for the protocol (http URLs must use port 80, https URLs must use port 443).' + region: + type: string + x-type: string + enum: + - BR + - EUNE + - EUW + - JP + - LAN + - LAS + - NA + - OCE + - PBE + - RU + - TR + description: "The region in which the provider will be running tournaments.\n (Legal values: BR, EUNE, EUW, JP, LAN, LAS, NA, OCE, PBE, RU, TR)" + required: + - url + - region + tournament-v4.TournamentRegistrationParameters: + type: object + title: TournamentRegistrationParameters + properties: + providerId: + type: integer + format: int32 + x-type: int + description: 'The provider ID to specify the regional registered provider data to associate this tournament.' + name: + type: string + x-type: string + description: 'The optional name of the tournament.' + required: + - providerId + - name +securityDefinitions: + api_key: + type: apiKey + description: 'API key in query param.' + name: api_key + in: query + X-Riot-Token: + type: apiKey + description: 'API key in header.' + name: X-Riot-Token + in: header +security: + - + api_key: [] + - + X-Riot-Token: [] diff --git a/package.json b/package.json index 04811896..072ff9f9 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "esdoc-standard-plugin": "^1.0.0", "find-in-files": "^0.4.0", "istanbul": "^0.4.5", + "js-yaml": "^3.12.1", "mocha": "^4.0.1", "prettier": "^1.10.2", "rimraf": "^2.6.2", diff --git a/typings/dtos.ts b/typings/dtos.ts index ca40792c..d940fc15 100644 --- a/typings/dtos.ts +++ b/typings/dtos.ts @@ -5,909 +5,873 @@ export interface ChampionMasteryV4ChampionMasteryDTO { /** * Is chest granted for this champion or not in current season. */ - chestGranted?: boolean + chestGranted: boolean; /** * Champion level for specified player and champion combination. */ - championLevel?: number // int32 + championLevel: number; // int32 /** * Total number of champion points for this player and champion combination - they are used to determine championLevel. */ - championPoints?: number // int32 + championPoints: number; // int32 /** * Champion ID for this entry. */ - championId?: number // int64 + championId: number; // int64 /** * Number of points needed to achieve next level. Zero if player reached maximum champion level for this champion. */ - championPointsUntilNextLevel?: number // int64 + championPointsUntilNextLevel: number; // int64 /** * Last time this champion was played by this player - in Unix milliseconds time format. */ - lastPlayTime?: number // int64 + lastPlayTime: number; // int64 /** * The token earned for this champion to levelup. */ - tokensEarned?: number // int32 + tokensEarned: number; // int32 /** * Number of points earned since current level has been achieved. */ - championPointsSinceLastLevel?: number // int64 + championPointsSinceLastLevel: number; // int64 /** * Summoner ID for this entry. (Encrypted) */ - summonerId?: string + summonerId: string; } export interface ChampionV3ChampionInfo { - freeChampionIdsForNewPlayers?: number /* int32 */[] - freeChampionIds?: number /* int32 */[] - maxNewPlayerLevel?: number // int32 + freeChampionIdsForNewPlayers: number /* int32 */ []; + freeChampionIds: number /* int32 */ []; + maxNewPlayerLevel: number; // int32 } export interface Error { status?: { - status_code?: number - message?: string - } + status_code?: number; + message?: string; + }; } export interface LeagueV4LeagueItemDTO { - summonerName?: string - hotStreak?: boolean - miniSeries?: LeagueV4MiniSeriesDTO - wins?: number // int32 - veteran?: boolean - losses?: number // int32 - freshBlood?: boolean - inactive?: boolean - rank?: string + summonerName: string; + hotStreak: boolean; + miniSeries: LeagueV4MiniSeriesDTO; + wins: number; // int32 + veteran: boolean; + losses: number; // int32 + freshBlood: boolean; + inactive: boolean; + rank: string; /** * Player's summonerId (Encrypted) */ - summonerId?: string - leaguePoints?: number // int32 + summonerId: string; + leaguePoints: number; // int32 } export interface LeagueV4LeagueListDTO { - leagueId?: string - tier?: string - entries?: LeagueV4LeagueItemDTO[] - queue?: string - name?: string + leagueId: string; + tier: string; + entries: LeagueV4LeagueItemDTO[]; + queue: string; + name: string; } export interface LeagueV4LeaguePositionDTO { - queueType?: string - summonerName?: string - hotStreak?: boolean - miniSeries?: LeagueV4MiniSeriesDTO - wins?: number // int32 - veteran?: boolean - losses?: number // int32 - rank?: string - leagueId?: string - inactive?: boolean - freshBlood?: boolean - leagueName?: string + queueType: string; + summonerName: string; + hotStreak: boolean; + miniSeries: LeagueV4MiniSeriesDTO; + wins: number; // int32 + veteran: boolean; + losses: number; // int32 + rank: string; + leagueId: string; + inactive: boolean; + freshBlood: boolean; + leagueName: string; /** * (Legal values: APEX, TOP, JUNGLE, MIDDLE, BOTTOM, UTILITY, NONE) */ - position?: - | 'APEX' - | 'TOP' - | 'JUNGLE' - | 'MIDDLE' - | 'BOTTOM' - | 'UTILITY' - | 'NONE' - tier?: string + position: "APEX" | "TOP" | "JUNGLE" | "MIDDLE" | "BOTTOM" | "UTILITY" | "NONE"; + tier: string; /** * Player's summonerId (Encrypted) */ - summonerId?: string - leaguePoints?: number // int32 + summonerId: string; + leaguePoints: number; // int32 } export interface LeagueV4MiniSeriesDTO { - progress?: string - losses?: number // int32 - target?: number // int32 - wins?: number // int32 + progress: string; + losses: number; // int32 + target: number; // int32 + wins: number; // int32 } export interface LolStatusV3Incident { - active?: boolean - created_at?: string - id?: number // int64 - updates?: LolStatusV3Message[] + active: boolean; + created_at: string; + id: number; // int64 + updates: LolStatusV3Message[]; } export interface LolStatusV3Message { - severity?: string - author?: string - created_at?: string - translations?: LolStatusV3Translation[] - updated_at?: string - content?: string - id?: string + severity: string; + author: string; + created_at: string; + translations: LolStatusV3Translation[]; + updated_at: string; + content: string; + id: string; } export interface LolStatusV3Service { - status?: string - incidents?: LolStatusV3Incident[] - name?: string - slug?: string + status: string; + incidents: LolStatusV3Incident[]; + name: string; + slug: string; } export interface LolStatusV3ShardStatus { - name?: string - region_tag?: string - hostname?: string - services?: LolStatusV3Service[] - slug?: string - locales?: string[] + name: string; + region_tag: string; + hostname: string; + services: LolStatusV3Service[]; + slug: string; + locales: string[]; } export interface LolStatusV3Translation { - locale?: string - content?: string - heading?: string + locale: string; + content: string; + heading: string; } export interface MatchV4MasteryDto { - masteryId?: number // int32 - rank?: number // int32 + masteryId: number; // int32 + rank: number; // int32 } export interface MatchV4MatchDto { /** * Please refer to the Game Constants documentation. */ - seasonId?: number // int32 + seasonId: number; // int32 /** * Please refer to the Game Constants documentation. */ - queueId?: number // int32 - gameId?: number // int64 + queueId: number; // int32 + gameId: number; // int64 /** * Participant identity information. */ - participantIdentities?: MatchV4ParticipantIdentityDto[] + participantIdentities: MatchV4ParticipantIdentityDto[]; /** * The major.minor version typically indicates the patch the match was played on. */ - gameVersion?: string + gameVersion: string; /** * Platform where the match was played. */ - platformId?: string + platformId: string; /** * Please refer to the Game Constants documentation. */ - gameMode?: string + gameMode: string; /** * Please refer to the Game Constants documentation. */ - mapId?: number // int32 + mapId: number; // int32 /** * Please refer to the Game Constants documentation. */ - gameType?: string + gameType: string; /** * Team information. */ - teams?: MatchV4TeamStatsDto[] + teams: MatchV4TeamStatsDto[]; /** * Participant information. */ - participants?: MatchV4ParticipantDto[] + participants: MatchV4ParticipantDto[]; /** * Match duration in seconds. */ - gameDuration?: number // int64 + gameDuration: number; // int64 /** * Designates the timestamp when champion select ended and the loading screen appeared, NOT when the game timer was at 0:00. */ - gameCreation?: number // int64 + gameCreation: number; // int64 } export interface MatchV4MatchEventDto { - eventType?: string - towerType?: string - teamId?: number // int32 - ascendedType?: string - killerId?: number // int32 - levelUpType?: string - pointCaptured?: string - assistingParticipantIds?: number /* int32 */[] - wardType?: string - monsterType?: string + eventType: string; + towerType: string; + teamId: number; // int32 + ascendedType: string; + killerId: number; // int32 + levelUpType: string; + pointCaptured: string; + assistingParticipantIds: number /* int32 */ []; + wardType: string; + monsterType: string; /** * (Legal values: CHAMPION_KILL, WARD_PLACED, WARD_KILL, BUILDING_KILL, ELITE_MONSTER_KILL, ITEM_PURCHASED, ITEM_SOLD, ITEM_DESTROYED, ITEM_UNDO, SKILL_LEVEL_UP, ASCENDED_EVENT, CAPTURE_POINT, PORO_KING_SUMMON) */ - type?: - | 'CHAMPION_KILL' - | 'WARD_PLACED' - | 'WARD_KILL' - | 'BUILDING_KILL' - | 'ELITE_MONSTER_KILL' - | 'ITEM_PURCHASED' - | 'ITEM_SOLD' - | 'ITEM_DESTROYED' - | 'ITEM_UNDO' - | 'SKILL_LEVEL_UP' - | 'ASCENDED_EVENT' - | 'CAPTURE_POINT' - | 'PORO_KING_SUMMON' - skillSlot?: number // int32 - victimId?: number // int32 - timestamp?: number // int64 - afterId?: number // int32 - monsterSubType?: string - laneType?: string - itemId?: number // int32 - participantId?: number // int32 - buildingType?: string - creatorId?: number // int32 - position?: MatchV4MatchPositionDto - beforeId?: number // int32 + type: "CHAMPION_KILL" | "WARD_PLACED" | "WARD_KILL" | "BUILDING_KILL" | "ELITE_MONSTER_KILL" | "ITEM_PURCHASED" | "ITEM_SOLD" | "ITEM_DESTROYED" | "ITEM_UNDO" | "SKILL_LEVEL_UP" | "ASCENDED_EVENT" | "CAPTURE_POINT" | "PORO_KING_SUMMON"; + skillSlot: number; // int32 + victimId: number; // int32 + timestamp: number; // int64 + afterId: number; // int32 + monsterSubType: string; + laneType: string; + itemId: number; // int32 + participantId: number; // int32 + buildingType: string; + creatorId: number; // int32 + position: MatchV4MatchPositionDto; + beforeId: number; // int32 } export interface MatchV4MatchFrameDto { - timestamp?: number // int64 - participantFrames?: { - [name: string]: MatchV4MatchParticipantFrameDto - } - events?: MatchV4MatchEventDto[] + timestamp: number; // int64 + participantFrames: { + [name: string]: MatchV4MatchParticipantFrameDto; + }; + events: MatchV4MatchEventDto[]; } export interface MatchV4MatchParticipantFrameDto { - totalGold?: number // int32 - teamScore?: number // int32 - participantId?: number // int32 - level?: number // int32 - currentGold?: number // int32 - minionsKilled?: number // int32 - dominionScore?: number // int32 - position?: MatchV4MatchPositionDto - xp?: number // int32 - jungleMinionsKilled?: number // int32 + totalGold: number; // int32 + teamScore: number; // int32 + participantId: number; // int32 + level: number; // int32 + currentGold: number; // int32 + minionsKilled: number; // int32 + dominionScore: number; // int32 + position: MatchV4MatchPositionDto; + xp: number; // int32 + jungleMinionsKilled: number; // int32 } export interface MatchV4MatchPositionDto { - y?: number // int32 - x?: number // int32 + y: number; // int32 + x: number; // int32 } export interface MatchV4MatchReferenceDto { - lane?: string - gameId?: number // int64 - champion?: number // int32 - platformId?: string - season?: number // int32 - queue?: number // int32 - role?: string - timestamp?: number // int64 + lane: string; + gameId: number; // int64 + champion: number; // int32 + platformId: string; + season: number; // int32 + queue: number; // int32 + role: string; + timestamp: number; // int64 } export interface MatchV4MatchTimelineDto { - frames?: MatchV4MatchFrameDto[] - frameInterval?: number // int64 + frames: MatchV4MatchFrameDto[]; + frameInterval: number; // int64 } export interface MatchV4MatchlistDto { - matches?: MatchV4MatchReferenceDto[] - totalGames?: number // int32 - startIndex?: number // int32 - endIndex?: number // int32 + matches: MatchV4MatchReferenceDto[]; + totalGames: number; // int32 + startIndex: number; // int32 + endIndex: number; // int32 } export interface MatchV4ParticipantDto { /** * Participant statistics. */ - stats?: MatchV4ParticipantStatsDto - participantId?: number // int32 + stats: MatchV4ParticipantStatsDto; + participantId: number; // int32 /** * List of legacy Rune information. Not included for matches played with Runes Reforged. */ - runes?: MatchV4RuneDto[] + runes: MatchV4RuneDto[]; /** * Participant timeline data. */ - timeline?: MatchV4ParticipantTimelineDto + timeline: MatchV4ParticipantTimelineDto; /** * 100 for blue side. 200 for red side. */ - teamId?: number // int32 + teamId: number; // int32 /** * Second Summoner Spell id. */ - spell2Id?: number // int32 + spell2Id: number; // int32 /** * List of legacy Mastery information. Not included for matches played with Runes Reforged. */ - masteries?: MatchV4MasteryDto[] + masteries: MatchV4MasteryDto[]; /** * Highest ranked tier achieved for the previous season in a specific subset of queueIds, if any, otherwise null. Used to display border in game loading screen. Please refer to the Ranked Info documentation. * (Legal values: CHALLENGER, MASTER, DIAMOND, PLATINUM, GOLD, SILVER, BRONZE, UNRANKED) */ - highestAchievedSeasonTier?: - | 'CHALLENGER' - | 'MASTER' - | 'DIAMOND' - | 'PLATINUM' - | 'GOLD' - | 'SILVER' - | 'BRONZE' - | 'UNRANKED' + highestAchievedSeasonTier: "CHALLENGER" | "MASTER" | "DIAMOND" | "PLATINUM" | "GOLD" | "SILVER" | "BRONZE" | "UNRANKED"; /** * First Summoner Spell id. */ - spell1Id?: number // int32 - championId?: number // int32 + spell1Id: number; // int32 + championId: number; // int32 } export interface MatchV4ParticipantIdentityDto { /** * Player information. */ - player?: MatchV4PlayerDto - participantId?: number // int32 + player: MatchV4PlayerDto; + participantId: number; // int32 } export interface MatchV4ParticipantStatsDto { - firstBloodAssist?: boolean - visionScore?: number // int64 - magicDamageDealtToChampions?: number // int64 - damageDealtToObjectives?: number // int64 - totalTimeCrowdControlDealt?: number // int32 - longestTimeSpentLiving?: number // int32 + firstBloodAssist: boolean; + visionScore: number; // int64 + magicDamageDealtToChampions: number; // int64 + damageDealtToObjectives: number; // int64 + totalTimeCrowdControlDealt: number; // int32 + longestTimeSpentLiving: number; // int32 /** * Post game rune stats. */ - perk1Var1?: number // int32 + perk1Var1: number; // int32 /** * Post game rune stats. */ - perk1Var3?: number // int32 + perk1Var3: number; // int32 /** * Post game rune stats. */ - perk1Var2?: number // int32 - tripleKills?: number // int32 + perk1Var2: number; // int32 + tripleKills: number; // int32 /** * Post game rune stats. */ - perk3Var3?: number // int32 - nodeNeutralizeAssist?: number // int32 + perk3Var3: number; // int32 + nodeNeutralizeAssist: number; // int32 /** * Post game rune stats. */ - perk3Var2?: number // int32 - playerScore9?: number // int32 - playerScore8?: number // int32 - kills?: number // int32 - playerScore1?: number // int32 - playerScore0?: number // int32 - playerScore3?: number // int32 - playerScore2?: number // int32 - playerScore5?: number // int32 - playerScore4?: number // int32 - playerScore7?: number // int32 - playerScore6?: number // int32 + perk3Var2: number; // int32 + playerScore9: number; // int32 + playerScore8: number; // int32 + kills: number; // int32 + playerScore1: number; // int32 + playerScore0: number; // int32 + playerScore3: number; // int32 + playerScore2: number; // int32 + playerScore5: number; // int32 + playerScore4: number; // int32 + playerScore7: number; // int32 + playerScore6: number; // int32 /** * Post game rune stats. */ - perk5Var1?: number // int32 + perk5Var1: number; // int32 /** * Post game rune stats. */ - perk5Var3?: number // int32 + perk5Var3: number; // int32 /** * Post game rune stats. */ - perk5Var2?: number // int32 - totalScoreRank?: number // int32 - neutralMinionsKilled?: number // int32 - damageDealtToTurrets?: number // int64 - physicalDamageDealtToChampions?: number // int64 - nodeCapture?: number // int32 - largestMultiKill?: number // int32 + perk5Var2: number; // int32 + totalScoreRank: number; // int32 + neutralMinionsKilled: number; // int32 + damageDealtToTurrets: number; // int64 + physicalDamageDealtToChampions: number; // int64 + nodeCapture: number; // int32 + largestMultiKill: number; // int32 /** * Post game rune stats. */ - perk2Var2?: number // int32 + perk2Var2: number; // int32 /** * Post game rune stats. */ - perk2Var3?: number // int32 - totalUnitsHealed?: number // int32 + perk2Var3: number; // int32 + totalUnitsHealed: number; // int32 /** * Post game rune stats. */ - perk2Var1?: number // int32 + perk2Var1: number; // int32 /** * Post game rune stats. */ - perk4Var1?: number // int32 + perk4Var1: number; // int32 /** * Post game rune stats. */ - perk4Var2?: number // int32 + perk4Var2: number; // int32 /** * Post game rune stats. */ - perk4Var3?: number // int32 - wardsKilled?: number // int32 - largestCriticalStrike?: number // int32 - largestKillingSpree?: number // int32 - quadraKills?: number // int32 - teamObjective?: number // int32 - magicDamageDealt?: number // int64 - item2?: number // int32 - item3?: number // int32 - item0?: number // int32 - neutralMinionsKilledTeamJungle?: number // int32 - item6?: number // int32 - item4?: number // int32 - item5?: number // int32 + perk4Var3: number; // int32 + wardsKilled: number; // int32 + largestCriticalStrike: number; // int32 + largestKillingSpree: number; // int32 + quadraKills: number; // int32 + teamObjective: number; // int32 + magicDamageDealt: number; // int64 + item2: number; // int32 + item3: number; // int32 + item0: number; // int32 + neutralMinionsKilledTeamJungle: number; // int32 + item6: number; // int32 + item4: number; // int32 + item5: number; // int32 /** * Primary path rune. */ - perk1?: number // int32 + perk1: number; // int32 /** * Primary path keystone rune. */ - perk0?: number // int32 + perk0: number; // int32 /** * Primary path rune. */ - perk3?: number // int32 + perk3: number; // int32 /** * Primary path rune. */ - perk2?: number // int32 + perk2: number; // int32 /** * Secondary path rune. */ - perk5?: number // int32 + perk5: number; // int32 /** * Secondary path rune. */ - perk4?: number // int32 + perk4: number; // int32 /** * Post game rune stats. */ - perk3Var1?: number // int32 - damageSelfMitigated?: number // int64 - magicalDamageTaken?: number // int64 - firstInhibitorKill?: boolean - trueDamageTaken?: number // int64 - nodeNeutralize?: number // int32 - assists?: number // int32 - combatPlayerScore?: number // int32 + perk3Var1: number; // int32 + damageSelfMitigated: number; // int64 + magicalDamageTaken: number; // int64 + firstInhibitorKill: boolean; + trueDamageTaken: number; // int64 + nodeNeutralize: number; // int32 + assists: number; // int32 + combatPlayerScore: number; // int32 /** * Primary rune path */ - perkPrimaryStyle?: number // int32 - goldSpent?: number // int32 - trueDamageDealt?: number // int64 - participantId?: number // int32 - totalDamageTaken?: number // int64 - physicalDamageDealt?: number // int64 - sightWardsBoughtInGame?: number // int32 - totalDamageDealtToChampions?: number // int64 - physicalDamageTaken?: number // int64 - totalPlayerScore?: number // int32 - win?: boolean - objectivePlayerScore?: number // int32 - totalDamageDealt?: number // int64 - item1?: number // int32 - neutralMinionsKilledEnemyJungle?: number // int32 - deaths?: number // int32 - wardsPlaced?: number // int32 + perkPrimaryStyle: number; // int32 + goldSpent: number; // int32 + trueDamageDealt: number; // int64 + participantId: number; // int32 + totalDamageTaken: number; // int64 + physicalDamageDealt: number; // int64 + sightWardsBoughtInGame: number; // int32 + totalDamageDealtToChampions: number; // int64 + physicalDamageTaken: number; // int64 + totalPlayerScore: number; // int32 + win: boolean; + objectivePlayerScore: number; // int32 + totalDamageDealt: number; // int64 + item1: number; // int32 + neutralMinionsKilledEnemyJungle: number; // int32 + deaths: number; // int32 + wardsPlaced: number; // int32 /** * Secondary rune path */ - perkSubStyle?: number // int32 - turretKills?: number // int32 - firstBloodKill?: boolean - trueDamageDealtToChampions?: number // int64 - goldEarned?: number // int32 - killingSprees?: number // int32 - unrealKills?: number // int32 - altarsCaptured?: number // int32 - firstTowerAssist?: boolean - firstTowerKill?: boolean - champLevel?: number // int32 - doubleKills?: number // int32 - nodeCaptureAssist?: number // int32 - inhibitorKills?: number // int32 - firstInhibitorAssist?: boolean + perkSubStyle: number; // int32 + turretKills: number; // int32 + firstBloodKill: boolean; + trueDamageDealtToChampions: number; // int64 + goldEarned: number; // int32 + killingSprees: number; // int32 + unrealKills: number; // int32 + altarsCaptured: number; // int32 + firstTowerAssist: boolean; + firstTowerKill: boolean; + champLevel: number; // int32 + doubleKills: number; // int32 + nodeCaptureAssist: number; // int32 + inhibitorKills: number; // int32 + firstInhibitorAssist: boolean; /** * Post game rune stats. */ - perk0Var1?: number // int32 + perk0Var1: number; // int32 /** * Post game rune stats. */ - perk0Var2?: number // int32 + perk0Var2: number; // int32 /** * Post game rune stats. */ - perk0Var3?: number // int32 - visionWardsBoughtInGame?: number // int32 - altarsNeutralized?: number // int32 - pentaKills?: number // int32 - totalHeal?: number // int64 - totalMinionsKilled?: number // int32 - timeCCingOthers?: number // int64 + perk0Var3: number; // int32 + visionWardsBoughtInGame: number; // int32 + altarsNeutralized: number; // int32 + pentaKills: number; // int32 + totalHeal: number; // int64 + totalMinionsKilled: number; // int32 + timeCCingOthers: number; // int64 } export interface MatchV4ParticipantTimelineDto { /** * Participant's calculated lane. MID and BOT are legacy values. * (Legal values: MID, MIDDLE, TOP, JUNGLE, BOT, BOTTOM) */ - lane?: 'MID' | 'MIDDLE' | 'TOP' | 'JUNGLE' | 'BOT' | 'BOTTOM' - participantId?: number // int32 + lane: "MID" | "MIDDLE" | "TOP" | "JUNGLE" | "BOT" | "BOTTOM"; + participantId: number; // int32 /** * Creep score difference versus the calculated lane opponent(s) for a specified period. */ - csDiffPerMinDeltas?: { - [name: string]: number // double - } + csDiffPerMinDeltas: { + [name: string]: number; // double + }; /** * Gold for a specified period. */ - goldPerMinDeltas?: { - [name: string]: number // double - } + goldPerMinDeltas: { + [name: string]: number; // double + }; /** * Experience difference versus the calculated lane opponent(s) for a specified period. */ - xpDiffPerMinDeltas?: { - [name: string]: number // double - } + xpDiffPerMinDeltas: { + [name: string]: number; // double + }; /** * Creeps for a specified period. */ - creepsPerMinDeltas?: { - [name: string]: number // double - } + creepsPerMinDeltas: { + [name: string]: number; // double + }; /** * Experience change for a specified period. */ - xpPerMinDeltas?: { - [name: string]: number // double - } + xpPerMinDeltas: { + [name: string]: number; // double + }; /** * Participant's calculated role. * (Legal values: DUO, NONE, SOLO, DUO_CARRY, DUO_SUPPORT) */ - role?: 'DUO' | 'NONE' | 'SOLO' | 'DUO_CARRY' | 'DUO_SUPPORT' + role: "DUO" | "NONE" | "SOLO" | "DUO_CARRY" | "DUO_SUPPORT"; /** * Damage taken difference versus the calculated lane opponent(s) for a specified period. */ - damageTakenDiffPerMinDeltas?: { - [name: string]: number // double - } + damageTakenDiffPerMinDeltas: { + [name: string]: number; // double + }; /** * Damage taken for a specified period. */ - damageTakenPerMinDeltas?: { - [name: string]: number // double - } + damageTakenPerMinDeltas: { + [name: string]: number; // double + }; } export interface MatchV4PlayerDto { - currentPlatformId?: string - summonerName?: string - matchHistoryUri?: string + currentPlatformId: string; + summonerName: string; + matchHistoryUri: string; /** * Original platformId. */ - platformId?: string + platformId: string; /** * Player's current accountId (Encrypted) */ - currentAccountId?: string - profileIcon?: number // int32 + currentAccountId: string; + profileIcon: number; // int32 /** * Player's summonerId (Encrypted) */ - summonerId?: string + summonerId: string; /** * Player's original accountId (Encrypted) */ - accountId?: string + accountId: string; } export interface MatchV4RuneDto { - runeId?: number // int32 - rank?: number // int32 + runeId: number; // int32 + rank: number; // int32 } export interface MatchV4TeamBansDto { /** * Turn during which the champion was banned. */ - pickTurn?: number // int32 + pickTurn: number; // int32 /** * Banned championId. */ - championId?: number // int32 + championId: number; // int32 } export interface MatchV4TeamStatsDto { /** * Flag indicating whether or not the team scored the first Dragon kill. */ - firstDragon?: boolean + firstDragon: boolean; /** * Flag indicating whether or not the team destroyed the first inhibitor. */ - firstInhibitor?: boolean + firstInhibitor: boolean; /** * If match queueId has a draft, contains banned champion data, otherwise empty. */ - bans?: MatchV4TeamBansDto[] + bans: MatchV4TeamBansDto[]; /** * Number of times the team killed Baron. */ - baronKills?: number // int32 + baronKills: number; // int32 /** * Flag indicating whether or not the team scored the first Rift Herald kill. */ - firstRiftHerald?: boolean + firstRiftHerald: boolean; /** * Flag indicating whether or not the team scored the first Baron kill. */ - firstBaron?: boolean + firstBaron: boolean; /** * Number of times the team killed Rift Herald. */ - riftHeraldKills?: number // int32 + riftHeraldKills: number; // int32 /** * Flag indicating whether or not the team scored the first blood. */ - firstBlood?: boolean + firstBlood: boolean; /** * 100 for blue side. 200 for red side. */ - teamId?: number // int32 + teamId: number; // int32 /** * Flag indicating whether or not the team destroyed the first tower. */ - firstTower?: boolean + firstTower: boolean; /** * Number of times the team killed Vilemaw. */ - vilemawKills?: number // int32 + vilemawKills: number; // int32 /** * Number of inhibitors the team destroyed. */ - inhibitorKills?: number // int32 + inhibitorKills: number; // int32 /** * Number of towers the team destroyed. */ - towerKills?: number // int32 + towerKills: number; // int32 /** * For Dominion matches, specifies the points the team had at game end. */ - dominionVictoryScore?: number // int32 + dominionVictoryScore: number; // int32 /** * String indicating whether or not the team won. There are only two values visibile in public match history. * (Legal values: Fail, Win) */ - win?: 'Fail' | 'Win' + win: "Fail" | "Win"; /** * Number of times the team killed Dragon. */ - dragonKills?: number // int32 + dragonKills: number; // int32 } export interface SpectatorV4BannedChampion { /** * The turn during which the champion was banned */ - pickTurn?: number // int32 + pickTurn: number; // int32 /** * The ID of the banned champion */ - championId?: number // int64 + championId: number; // int64 /** * The ID of the team that banned the champion */ - teamId?: number // int64 + teamId: number; // int64 } export interface SpectatorV4CurrentGameInfo { /** * The ID of the game */ - gameId?: number // int64 + gameId: number; // int64 /** * The game start time represented in epoch milliseconds */ - gameStartTime?: number // int64 + gameStartTime: number; // int64 /** * The ID of the platform on which the game is being played */ - platformId?: string + platformId: string; /** * The game mode */ - gameMode?: string + gameMode: string; /** * The ID of the map */ - mapId?: number // int64 + mapId: number; // int64 /** * The game type */ - gameType?: string + gameType: string; /** * Banned champion information */ - bannedChampions?: SpectatorV4BannedChampion[] + bannedChampions: SpectatorV4BannedChampion[]; /** * The observer information */ - observers?: SpectatorV4Observer + observers: SpectatorV4Observer; /** * The participant information */ - participants?: SpectatorV4CurrentGameParticipant[] + participants: SpectatorV4CurrentGameParticipant[]; /** * The amount of time in seconds that has passed since the game started */ - gameLength?: number // int64 + gameLength: number; // int64 /** * The queue type (queue types are documented on the Game Constants page) */ - gameQueueConfigId?: number // int64 + gameQueueConfigId: number; // int64 } export interface SpectatorV4CurrentGameParticipant { /** * The ID of the profile icon used by this participant */ - profileIconId?: number // int64 + profileIconId: number; // int64 /** * The ID of the champion played by this participant */ - championId?: number // int64 + championId: number; // int64 /** * The summoner name of this participant */ - summonerName?: string + summonerName: string; /** * List of Game Customizations */ - gameCustomizationObjects?: SpectatorV4GameCustomizationObject[] + gameCustomizationObjects: SpectatorV4GameCustomizationObject[]; /** * Flag indicating whether or not this participant is a bot */ - bot?: boolean + bot: boolean; /** * Perks/Runes Reforged Information */ - perks?: SpectatorV4Perks + perks: SpectatorV4Perks; /** * The ID of the second summoner spell used by this participant */ - spell2Id?: number // int64 + spell2Id: number; // int64 /** * The team ID of this participant, indicating the participant's team */ - teamId?: number // int64 + teamId: number; // int64 /** * The ID of the first summoner spell used by this participant */ - spell1Id?: number // int64 + spell1Id: number; // int64 /** * The encrypted summoner ID of this participant */ - summonerId?: string + summonerId: string; } export interface SpectatorV4FeaturedGameInfo { /** * The ID of the game */ - gameId?: number // int64 + gameId: number; // int64 /** * The game start time represented in epoch milliseconds */ - gameStartTime?: number // int64 + gameStartTime: number; // int64 /** * The ID of the platform on which the game is being played */ - platformId?: string + platformId: string; /** * The game mode * (Legal values: CLASSIC, ODIN, ARAM, TUTORIAL, ONEFORALL, ASCENSION, FIRSTBLOOD, KINGPORO) */ - gameMode?: - | 'CLASSIC' - | 'ODIN' - | 'ARAM' - | 'TUTORIAL' - | 'ONEFORALL' - | 'ASCENSION' - | 'FIRSTBLOOD' - | 'KINGPORO' + gameMode: "CLASSIC" | "ODIN" | "ARAM" | "TUTORIAL" | "ONEFORALL" | "ASCENSION" | "FIRSTBLOOD" | "KINGPORO"; /** * The ID of the map */ - mapId?: number // int64 + mapId: number; // int64 /** * The game type * (Legal values: CUSTOM_GAME, MATCHED_GAME, TUTORIAL_GAME) */ - gameType?: 'CUSTOM_GAME' | 'MATCHED_GAME' | 'TUTORIAL_GAME' + gameType: "CUSTOM_GAME" | "MATCHED_GAME" | "TUTORIAL_GAME"; /** * Banned champion information */ - bannedChampions?: SpectatorV4BannedChampion[] + bannedChampions: SpectatorV4BannedChampion[]; /** * The observer information */ - observers?: SpectatorV4Observer + observers: SpectatorV4Observer; /** * The participant information */ - participants?: SpectatorV4Participant[] + participants: SpectatorV4Participant[]; /** * The amount of time in seconds that has passed since the game started */ - gameLength?: number // int64 + gameLength: number; // int64 /** * The queue type (queue types are documented on the Game Constants page) */ - gameQueueConfigId?: number // int64 + gameQueueConfigId: number; // int64 } export interface SpectatorV4FeaturedGames { /** * The suggested interval to wait before requesting FeaturedGames again */ - clientRefreshInterval?: number // int64 + clientRefreshInterval: number; // int64 /** * The list of featured games */ - gameList?: SpectatorV4FeaturedGameInfo[] + gameList: SpectatorV4FeaturedGameInfo[]; } export interface SpectatorV4GameCustomizationObject { /** * Category identifier for Game Customization */ - category?: string + category: string; /** * Game Customization content */ - content?: string + content: string; } export interface SpectatorV4Observer { /** * Key used to decrypt the spectator grid game data for playback */ - encryptionKey?: string + encryptionKey: string; } export interface SpectatorV4Participant { /** * The ID of the profile icon used by this participant */ - profileIconId?: number // int64 + profileIconId: number; // int64 /** * The ID of the champion played by this participant */ - championId?: number // int64 + championId: number; // int64 /** * The summoner name of this participant */ - summonerName?: string + summonerName: string; /** * Flag indicating whether or not this participant is a bot */ - bot?: boolean + bot: boolean; /** * The ID of the second summoner spell used by this participant */ - spell2Id?: number // int64 + spell2Id: number; // int64 /** * The team ID of this participant, indicating the participant's team */ - teamId?: number // int64 + teamId: number; // int64 /** * The ID of the first summoner spell used by this participant */ - spell1Id?: number // int64 + spell1Id: number; // int64 } export interface SpectatorV4Perks { /** * Primary runes path */ - perkStyle?: number // int64 + perkStyle: number; // int64 /** * IDs of the perks/runes assigned. */ - perkIds?: number /* int64 */[] + perkIds: number /* int64 */ []; /** * Secondary runes path */ - perkSubStyle?: number // int64 + perkSubStyle: number; // int64 } /** * represents a summoner @@ -916,272 +880,239 @@ export interface SummonerV4SummonerDTO { /** * ID of the summoner icon associated with the summoner. */ - profileIconId?: number // int32 + profileIconId: number; // int32 /** * Summoner name. */ - name?: string + name: string; /** * Encrypted PUUID. Exact length of 78 characters. */ - puuid?: string + puuid: string; /** * Summoner level associated with the summoner. */ - summonerLevel?: number // int64 + summonerLevel: number; // int64 /** * Date summoner was last modified specified as epoch milliseconds. The following events will update this timestamp: profile icon change, playing the tutorial or advanced tutorial, finishing a game, summoner name change */ - revisionDate?: number // int64 + revisionDate: number; // int64 /** * Encrypted summoner ID. Max length 63 characters. */ - id?: string + id: string; /** * Encrypted account ID. Max length 56 characters. */ - accountId?: string + accountId: string; } export interface TournamentStubV4LobbyEventDTO { /** * The type of event that was triggered */ - eventType?: string + eventType: string; /** * The summonerId that triggered the event (Encrypted) */ - summonerId?: string + summonerId: string; /** * Timestamp from the event */ - timestamp?: string + timestamp: string; } export interface TournamentStubV4LobbyEventDTOWrapper { - eventList?: TournamentStubV4LobbyEventDTO[] + eventList: TournamentStubV4LobbyEventDTO[]; } export interface TournamentStubV4ProviderRegistrationParameters { /** * The provider's callback URL to which tournament game results in this region should be posted. The URL must be well-formed, use the http or https protocol, and use the default port for the protocol (http URLs must use port 80, https URLs must use port 443). */ - url?: string + url: string; /** * The region in which the provider will be running tournaments. * (Legal values: BR, EUNE, EUW, JP, LAN, LAS, NA, OCE, PBE, RU, TR) */ - region?: - | 'BR' - | 'EUNE' - | 'EUW' - | 'JP' - | 'LAN' - | 'LAS' - | 'NA' - | 'OCE' - | 'PBE' - | 'RU' - | 'TR' + region: "BR" | "EUNE" | "EUW" | "JP" | "LAN" | "LAS" | "NA" | "OCE" | "PBE" | "RU" | "TR"; } export interface TournamentStubV4TournamentCodeParameters { /** * The spectator type of the game. * (Legal values: NONE, LOBBYONLY, ALL) */ - spectatorType?: 'NONE' | 'LOBBYONLY' | 'ALL' + spectatorType: "NONE" | "LOBBYONLY" | "ALL"; /** * The team size of the game. Valid values are 1-5. */ - teamSize?: number // int32 + teamSize: number; // int32 /** * The pick type of the game. * (Legal values: BLIND_PICK, DRAFT_MODE, ALL_RANDOM, TOURNAMENT_DRAFT) */ - pickType?: 'BLIND_PICK' | 'DRAFT_MODE' | 'ALL_RANDOM' | 'TOURNAMENT_DRAFT' + pickType: "BLIND_PICK" | "DRAFT_MODE" | "ALL_RANDOM" | "TOURNAMENT_DRAFT"; /** * Optional list of encrypted summonerIds in order to validate the players eligible to join the lobby. NOTE: We currently do not enforce participants at the team level, but rather the aggregate of teamOne and teamTwo. We may add the ability to enforce at the team level in the future. */ - allowedSummonerIds?: string[] + allowedSummonerIds: string[]; /** * The map type of the game. * (Legal values: SUMMONERS_RIFT, TWISTED_TREELINE, HOWLING_ABYSS) */ - mapType?: 'SUMMONERS_RIFT' | 'TWISTED_TREELINE' | 'HOWLING_ABYSS' + mapType: "SUMMONERS_RIFT" | "TWISTED_TREELINE" | "HOWLING_ABYSS"; /** * Optional string that may contain any data in any format, if specified at all. Used to denote any custom information about the game. */ - metadata?: string + metadata: string; } export interface TournamentStubV4TournamentRegistrationParameters { /** * The provider ID to specify the regional registered provider data to associate this tournament. */ - providerId?: number // int32 + providerId: number; // int32 /** * The optional name of the tournament. */ - name?: string + name: string; } export interface TournamentV4LobbyEventDTO { /** * Timestamp from the event */ - timestamp?: string + timestamp: string; /** * The summonerId that triggered the event (Encrypted) */ - summonerId?: string + summonerId: string; /** * The type of event that was triggered */ - eventType?: string + eventType: string; } export interface TournamentV4LobbyEventDTOWrapper { - eventList?: TournamentV4LobbyEventDTO[] + eventList: TournamentV4LobbyEventDTO[]; } export interface TournamentV4ProviderRegistrationParameters { /** * The provider's callback URL to which tournament game results in this region should be posted. The URL must be well-formed, use the http or https protocol, and use the default port for the protocol (http URLs must use port 80, https URLs must use port 443). */ - url?: string + url: string; /** * The region in which the provider will be running tournaments. * (Legal values: BR, EUNE, EUW, JP, LAN, LAS, NA, OCE, PBE, RU, TR) */ - region?: - | 'BR' - | 'EUNE' - | 'EUW' - | 'JP' - | 'LAN' - | 'LAS' - | 'NA' - | 'OCE' - | 'PBE' - | 'RU' - | 'TR' + region: "BR" | "EUNE" | "EUW" | "JP" | "LAN" | "LAS" | "NA" | "OCE" | "PBE" | "RU" | "TR"; } export interface TournamentV4TournamentCodeDTO { /** * The game map for the tournament code game */ - map?: string + map: string; /** * The tournament code. */ - code?: string + code: string; /** * The spectator mode for the tournament code game. */ - spectators?: string + spectators: string; /** * The tournament code's region. * (Legal values: BR, EUNE, EUW, JP, LAN, LAS, NA, OCE, PBE, RU, TR) */ - region?: - | 'BR' - | 'EUNE' - | 'EUW' - | 'JP' - | 'LAN' - | 'LAS' - | 'NA' - | 'OCE' - | 'PBE' - | 'RU' - | 'TR' + region: "BR" | "EUNE" | "EUW" | "JP" | "LAN" | "LAS" | "NA" | "OCE" | "PBE" | "RU" | "TR"; /** * The provider's ID. */ - providerId?: number // int32 + providerId: number; // int32 /** * The team size for the tournament code game. */ - teamSize?: number // int32 + teamSize: number; // int32 /** * The summonerIds of the participants (Encrypted) */ - participants?: string[] + participants: string[]; /** * The pick mode for tournament code game. */ - pickType?: string + pickType: string; /** * The tournament's ID. */ - tournamentId?: number // int32 + tournamentId: number; // int32 /** * The lobby name for the tournament code game. */ - lobbyName?: string + lobbyName: string; /** * The password for the tournament code game. */ - password?: string + password: string; /** * The tournament code's ID. */ - id?: number // int32 + id: number; // int32 /** * The metadata for tournament code. */ - metaData?: string + metaData: string; } export interface TournamentV4TournamentCodeParameters { /** * The spectator type of the game. * (Legal values: NONE, LOBBYONLY, ALL) */ - spectatorType?: 'NONE' | 'LOBBYONLY' | 'ALL' + spectatorType: "NONE" | "LOBBYONLY" | "ALL"; /** * The team size of the game. Valid values are 1-5. */ - teamSize?: number // int32 + teamSize: number; // int32 /** * The pick type of the game. * (Legal values: BLIND_PICK, DRAFT_MODE, ALL_RANDOM, TOURNAMENT_DRAFT) */ - pickType?: 'BLIND_PICK' | 'DRAFT_MODE' | 'ALL_RANDOM' | 'TOURNAMENT_DRAFT' + pickType: "BLIND_PICK" | "DRAFT_MODE" | "ALL_RANDOM" | "TOURNAMENT_DRAFT"; /** * Optional list of encrypted summonerIds in order to validate the players eligible to join the lobby. NOTE: We currently do not enforce participants at the team level, but rather the aggregate of teamOne and teamTwo. We may add the ability to enforce at the team level in the future. */ - allowedSummonerIds?: string[] + allowedSummonerIds: string[]; /** * The map type of the game. * (Legal values: SUMMONERS_RIFT, TWISTED_TREELINE, HOWLING_ABYSS) */ - mapType?: 'SUMMONERS_RIFT' | 'TWISTED_TREELINE' | 'HOWLING_ABYSS' + mapType: "SUMMONERS_RIFT" | "TWISTED_TREELINE" | "HOWLING_ABYSS"; /** * Optional string that may contain any data in any format, if specified at all. Used to denote any custom information about the game. */ - metadata?: string + metadata: string; } export interface TournamentV4TournamentCodeUpdateParameters { /** * The spectator type * (Legal values: NONE, LOBBYONLY, ALL) */ - spectatorType?: 'NONE' | 'LOBBYONLY' | 'ALL' + spectatorType: "NONE" | "LOBBYONLY" | "ALL"; /** * The pick type * (Legal values: BLIND_PICK, DRAFT_MODE, ALL_RANDOM, TOURNAMENT_DRAFT) */ - pickType?: 'BLIND_PICK' | 'DRAFT_MODE' | 'ALL_RANDOM' | 'TOURNAMENT_DRAFT' + pickType: "BLIND_PICK" | "DRAFT_MODE" | "ALL_RANDOM" | "TOURNAMENT_DRAFT"; /** * Optional list of encrypted summonerIds in order to validate the players eligible to join the lobby. NOTE: We currently do not enforce participants at the team level, but rather the aggregate of teamOne and teamTwo. We may add the ability to enforce at the team level in the future. */ - allowedSummonerIds?: string[] + allowedSummonerIds: string[]; /** * The map type * (Legal values: SUMMONERS_RIFT, TWISTED_TREELINE, HOWLING_ABYSS) */ - mapType?: 'SUMMONERS_RIFT' | 'TWISTED_TREELINE' | 'HOWLING_ABYSS' + mapType: "SUMMONERS_RIFT" | "TWISTED_TREELINE" | "HOWLING_ABYSS"; } export interface TournamentV4TournamentRegistrationParameters { /** * The provider ID to specify the regional registered provider data to associate this tournament. */ - providerId?: number // int32 + providerId: number; // int32 /** * The optional name of the tournament. */ - name?: string + name: string; } diff --git a/yarn.lock b/yarn.lock index d351bcc5..fd785025 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2627,6 +2627,14 @@ js-yaml@3.x, js-yaml@^3.10.0: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^3.12.1: + version "3.12.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600" + integrity sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + js-yaml@~3.6.0: version "3.6.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30"