From 91a9ef0d5b258c1ddcca165c8428203c792bca8f Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Fri, 7 Oct 2022 14:17:57 +0200 Subject: [PATCH 01/63] DRAFT: OpenAPI specification --- openapi.yaml | 1225 ++++++++++++++++++++++++++------------------------ 1 file changed, 643 insertions(+), 582 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index bbfabef..1ae04ea 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -4,23 +4,24 @@ info: email: info@librematch.org name: Libre:Match Team url: https://librematch.org - description: "stable, reliable and feature-rich API for match information, leaderboards,\ + description: + "stable, reliable and feature-rich API for match information, leaderboards,\ \ and tournament organisation for the Age of Empires multiplayer community" license: name: GNU AGPLv3 url: https://www.gnu.org/licenses/agpl.txt x-last-modified: 1663947772699 title: Libre:Match API - version: 1.0.0 + version: 1.0.0-DRAFT x-logo: url: "" servers: -- description: "" - url: https://api.librematch.org/v1 - x-last-modified: 1663947810574 + - description: "" + url: https://api.librematch.org/v1 + x-last-modified: 1663947810574 security: -- BasicAuth: [] -- X-Api-Key: [] + - BasicAuth: [] + - X-Api-Key: [] paths: /games: get: @@ -33,10 +34,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 - summary: Retrieve a list of all game identifiers for games using Relic Link + summary: + Retrieve a list of all game identifiers for games using Relic Link API tags: [] summary: Endpoint for game-specific data @@ -45,18 +47,19 @@ paths: get: operationId: get_definition_collection_for_game parameters: - - deprecated: false - description: The unique identifier (ULID) we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949717971 + - deprecated: false + description: + The unique identifier (ULID) we use for games that use the Relic + Link API + explode: false + in: path + name: game_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949717971 responses: "200": description: Operation succeeded @@ -65,10 +68,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 - summary: Retrieve all available definitions for a specific game using Relic + summary: + Retrieve all available definitions for a specific game using Relic Link API tags: [] summary: "game-specific definitions, e.g. map names, civilisation names, translations" @@ -77,18 +81,19 @@ paths: get: operationId: get_info_collection_for_game parameters: - - deprecated: false - description: The unique identifier (ULID) we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949717971 + - deprecated: false + description: + The unique identifier (ULID) we use for games that use the Relic + Link API + explode: false + in: path + name: game_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949717971 responses: "200": description: Operation succeeded @@ -97,31 +102,34 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 - summary: Retrieve all available information for a specific game using Relic + summary: + Retrieve all available information for a specific game using Relic Link API tags: [] - summary: "information about server maintenance times, DLC stuff, patch releases,\ + summary: + "information about server maintenance times, DLC stuff, patch releases,\ \ etc." x-last-modified: 1663948169247 /games/{game_id}/matches: get: operationId: get_match_collection_for_game parameters: - - deprecated: false - description: The unique identifier (ULID) we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949717971 + - deprecated: false + description: + The unique identifier (ULID) we use for games that use the Relic + Link API + explode: false + in: path + name: game_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949717971 responses: "200": description: Operation succeeded @@ -130,12 +138,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all matches for a specific game using Relic Link API tags: [] - summary: "match data spanning over the complete game (all leaderboards, basically\ + summary: + "match data spanning over the complete game (all leaderboards, basically\ \ a log" x-last-modified: 1663948210036 /tournaments: @@ -153,7 +162,8 @@ paths: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Retrieve all available tournaments for all games available on the Relic + summary: + Retrieve all available tournaments for all games available on the Relic Link platform tags: [] patch: @@ -193,7 +203,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all available profiles from the Relic Link API @@ -204,17 +214,18 @@ paths: get: operationId: get_details_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - type: integer - style: simple - x-last-modified: 1663949613648 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + type: integer + style: simple + x-last-modified: 1663949613648 responses: "200": description: Operation succeeded @@ -223,7 +234,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve the details for a specific profile from the Relic Link API @@ -234,17 +245,18 @@ paths: get: operationId: get_match_collection_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - type: integer - style: simple - x-last-modified: 1663949613648 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + type: integer + style: simple + x-last-modified: 1663949613648 responses: "200": description: Operation succeeded @@ -253,7 +265,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all matches for a specific profile from the Relic Link API @@ -272,7 +284,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Remove all users from our platform @@ -287,7 +299,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all users of our platform @@ -303,7 +315,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Partially update details for all user profiles @@ -321,7 +333,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Create a new user for our platform @@ -336,7 +348,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Bulk update of all users of our platform @@ -347,17 +359,17 @@ paths: description: "" operationId: remove_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665078217885 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665078217885 responses: "200": description: Operation succeeded @@ -366,24 +378,24 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Remove user from our platform if it exists get: operationId: get_details_for_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665078217885 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665078217885 responses: "200": description: Operation succeeded @@ -392,7 +404,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve details for a specific user profile on our platform @@ -401,17 +413,17 @@ paths: description: "" operationId: partial_update_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665078217885 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665078217885 responses: "200": description: Operation succeeded @@ -420,7 +432,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Update details for a specific user profile on our platform if it exists @@ -428,17 +440,17 @@ paths: description: "" operationId: bulk_update_all_user_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665078217885 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665078217885 responses: "200": description: Operation succeeded @@ -447,10 +459,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 - summary: Bulk update details for a specific user profile on our platform if + summary: + Bulk update details for a specific user profile on our platform if it exists summary: user profile for an API user x-last-modified: 1663948686307 @@ -475,7 +488,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 tags: [] @@ -492,14 +505,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 tags: [] summary: Registering as a new User to our API x-last-modified: 1663948797787 /users/validate: - description: "Validate API tokens, can give information about how long a token\ + description: + "Validate API tokens, can give information about how long a token\ \ is still valid and help automating updating a token" get: operationId: get_user_validation_details @@ -511,7 +525,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 tags: [] @@ -525,7 +539,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 tags: [] @@ -542,12 +556,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve a list of available application information tags: [] - summary: "General information and data about Libre:Match app, e.g. API updates,\ + summary: + "General information and data about Libre:Match app, e.g. API updates,\ \ possible upcoming maintenance and other news/stuff" x-last-modified: 1663948904071 /application/statistics: @@ -561,12 +576,13 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve a list of only application statistics tags: [] - summary: "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ + summary: + "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ \ amount of users, etc." x-last-modified: 1663948946628 /application/status: @@ -580,7 +596,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 "503": @@ -594,18 +610,19 @@ paths: get: operationId: get_details_for_game parameters: - - deprecated: false - description: The unique identifier (ULID) we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949717971 + - deprecated: false + description: + The unique identifier (ULID) we use for games that use the Relic + Link API + explode: false + in: path + name: game_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949717971 responses: "200": description: Operation succeeded @@ -614,10 +631,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 - summary: Retrieve details for a game with a specific identifier using Relic + summary: + Retrieve details for a game with a specific identifier using Relic Link API tags: [] summary: "game-specific definitions, e.g. map names, civilisation names, translations" @@ -626,23 +644,25 @@ paths: get: operationId: get_tournament_details_for_game parameters: - - deprecated: false - description: The unique identifier (ULID) we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949717971 + - deprecated: false + description: + The unique identifier (ULID) we use for games that use the Relic + Link API + explode: false + in: path + name: game_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949717971 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Retrieve all available tournaments for a specific game available on + summary: + Retrieve all available tournaments for a specific game available on the Relic Link platform tags: [] summary: game-specific tournaments @@ -651,18 +671,19 @@ paths: get: operationId: get_leaderboard_collection_for_game parameters: - - deprecated: false - description: The unique identifier (ULID) we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949717971 + - deprecated: false + description: + The unique identifier (ULID) we use for games that use the Relic + Link API + explode: false + in: path + name: game_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949717971 responses: "200": description: Operation succeeded @@ -671,7 +692,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all leaderboards for a specific game using Relic Link API @@ -682,18 +703,19 @@ paths: get: operationId: get_details_for_leaderboard parameters: - - deprecated: false - description: The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949692803 + - deprecated: false + description: + The unique identifier (ULID) we use for leaderboards of the Relic + Link API + explode: false + in: path + name: leaderboard_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949692803 responses: "200": description: Operation succeeded @@ -702,7 +724,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve details for a specific leaderboard @@ -713,23 +735,25 @@ paths: get: operationId: get_stat_collection_for_leaderboard parameters: - - deprecated: false - description: The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949692803 + - deprecated: false + description: + The unique identifier (ULID) we use for leaderboards of the Relic + Link API + explode: false + in: path + name: leaderboard_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949692803 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Retrieve all stats on a specific leaderboard for a certain game hosted + summary: + Retrieve all stats on a specific leaderboard for a certain game hosted on the Relic Link API tags: [] summary: Collection of stats for a specific leaderboard @@ -738,18 +762,19 @@ paths: get: operationId: get_match_collection_for_leaderboard parameters: - - deprecated: false - description: The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949692803 + - deprecated: false + description: + The unique identifier (ULID) we use for leaderboards of the Relic + Link API + explode: false + in: path + name: leaderboard_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949692803 responses: "200": description: Operation succeeded @@ -758,10 +783,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 - summary: Retrieve all matches on a specific leaderboard for a certain game hosted + summary: + Retrieve all matches on a specific leaderboard for a certain game hosted on the Relic Link API tags: [] summary: Collection of match data for a specific leaderboard @@ -777,7 +803,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all leaderboards hosted on the Relic Link API @@ -789,85 +815,89 @@ paths: description: "" operationId: remove_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Remove a tournament for a specific game available on the Relic Link + summary: + Remove a tournament for a specific game available on the Relic Link platform get: operationId: get_details_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Retrieve details for a tournament for a specific game available on + summary: + Retrieve details for a tournament for a specific game available on the Relic Link platform tags: [] patch: description: "" operationId: partial_update_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Partially update a tournament for a specific game available on the + summary: + Partially update a tournament for a specific game available on the Relic Link platform put: description: "" operationId: update_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Update details for a tournament for a specific game available on the + summary: + Update details for a tournament for a specific game available on the Relic Link platform summary: game-specific tournaments x-last-modified: 1665054574222 @@ -876,17 +906,17 @@ paths: description: "" operationId: remove_all_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665078217885 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665078217885 responses: "501": description: Not Implemented @@ -895,17 +925,17 @@ paths: get: operationId: get_stat_collection_for_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665078217885 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665078217885 responses: "501": description: Not Implemented @@ -916,17 +946,17 @@ paths: description: "" operationId: partial_update_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665078217885 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665078217885 responses: "501": description: Not Implemented @@ -936,17 +966,17 @@ paths: description: "" operationId: create_new_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665078217885 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665078217885 responses: "501": description: Not Implemented @@ -956,17 +986,17 @@ paths: description: "" operationId: bulk_update_all_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665078217885 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665078217885 responses: "501": description: Not Implemented @@ -978,22 +1008,23 @@ paths: get: operationId: get_info_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Retrieve all information for a specific tournament for a specific game + summary: + Retrieve all information for a specific tournament for a specific game available on the Relic Link platform tags: [] summary: game-specific tournaments @@ -1003,106 +1034,111 @@ paths: description: "" operationId: remove_all_brackets_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Remove all brackets for a specific tournament for a specific game available + summary: + Remove all brackets for a specific tournament for a specific game available on the Relic Link platform get: operationId: get_bracket_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Retrieve all brackets for a specific tournament for a specific game + summary: + Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform tags: [] patch: description: "" operationId: partial_update_bracket_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Partial update all brackets for a specific tournament for a specific + summary: + Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform post: description: "" operationId: create_new_bracket_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Create a new bracket for a specific tournament for a specific game + summary: + Create a new bracket for a specific tournament for a specific game available on the Relic Link platform put: description: "" operationId: bulk_update_all_brackets_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Bulk update all brackets for a specific tournament for a specific game + summary: + Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform summary: game-specific tournaments x-last-modified: 1665054981775 @@ -1111,106 +1147,111 @@ paths: description: "" operationId: remove_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Remove all admins for a specific tournament for a specific game available + summary: + Remove all admins for a specific tournament for a specific game available on the Relic Link platform get: operationId: get_admin_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Retrieve all admins for a specific tournament for a specific game available + summary: + Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform tags: [] patch: description: "" operationId: partial_update_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Update details of admins for a specific tournament for a specific game + summary: + Update details of admins for a specific tournament for a specific game available on the Relic Link platform post: description: "" operationId: create_new_admin_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Create a new admin for a specific tournament for a specific game available + summary: + Create a new admin for a specific tournament for a specific game available on the Relic Link platform put: description: "" operationId: bulk_update_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949674724 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Bulk update of admins for a specific tournament for a specific game + summary: + Bulk update of admins for a specific tournament for a specific game available on the Relic Link platform summary: Endpoint for tournament admins x-last-modified: 1665055638796 @@ -1266,17 +1307,18 @@ paths: description: "" operationId: remove_all_settings_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - type: integer - style: simple - x-last-modified: 1663949613648 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + type: integer + style: simple + x-last-modified: 1663949613648 responses: "501": description: Not Implemented @@ -1286,17 +1328,18 @@ paths: get: operationId: get_setting_collection_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - type: integer - style: simple - x-last-modified: 1663949613648 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + type: integer + style: simple + x-last-modified: 1663949613648 responses: "501": description: Not Implemented @@ -1307,39 +1350,42 @@ paths: description: "" operationId: partial_update_all_settings_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - type: integer - style: simple - x-last-modified: 1663949613648 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + type: integer + style: simple + x-last-modified: 1663949613648 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Update a specific setting for a specific profile from the Relic Link + summary: + Update a specific setting for a specific profile from the Relic Link API tags: [] post: description: "" operationId: create_new_setting_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - type: integer - style: simple - x-last-modified: 1663949613648 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + type: integer + style: simple + x-last-modified: 1663949613648 responses: "501": description: Not Implemented @@ -1350,22 +1396,24 @@ paths: description: "" operationId: bulk_update_all_settings_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - type: integer - style: simple - x-last-modified: 1663949613648 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + type: integer + style: simple + x-last-modified: 1663949613648 responses: "501": description: Not Implemented x-last-modified: 1665058119290 - summary: Bulk update of settings for a specific profile from the Relic Link + summary: + Bulk update of settings for a specific profile from the Relic Link API tags: [] summary: Collection of settings specifically for a certain Relic Link profile @@ -1374,17 +1422,18 @@ paths: get: operationId: get_stat_collection_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - type: integer - style: simple - x-last-modified: 1663949613648 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + type: integer + style: simple + x-last-modified: 1663949613648 responses: "501": description: Not Implemented @@ -1397,18 +1446,19 @@ paths: get: operationId: get_details_for_team parameters: - - deprecated: false - description: The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: game_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665069480649 + - deprecated: false + description: + The unique identifier (ULID) we use for teams that play on games + using the Relic Link API + explode: false + in: path + name: game_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665069480649 responses: "501": description: Not Implemented @@ -1421,18 +1471,19 @@ paths: get: operationId: get_match_collection_for_team parameters: - - deprecated: false - description: The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: game_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665069480649 + - deprecated: false + description: + The unique identifier (ULID) we use for teams that play on games + using the Relic Link API + explode: false + in: path + name: game_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665069480649 responses: "501": description: Not Implemented @@ -1445,18 +1496,19 @@ paths: get: operationId: get_stat_collection_for_team parameters: - - deprecated: false - description: The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: game_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1665069480649 + - deprecated: false + description: + The unique identifier (ULID) we use for teams that play on games + using the Relic Link API + explode: false + in: path + name: game_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665069480649 responses: "501": description: Not Implemented @@ -1480,7 +1532,8 @@ components: type: integer style: simple X-Transaction-ID: - description: "When set by the client code with an alphanumeric value, the transaction\ + description: + "When set by the client code with an alphanumeric value, the transaction\ \ ID is logged in the log files for debugging. \nWhen the client is not specifying\ \ this value, the server auto generates this value for the incoming request.\ \ \nThe main purpose is to filter various logs at once for a single transaction\ @@ -1497,7 +1550,8 @@ components: type: integer style: simple X-RateLimit-Reset: - description: The number of seconds left in the current period until the rate + description: + The number of seconds left in the current period until the rate limit resets explode: false schema: @@ -1505,7 +1559,8 @@ components: style: simple Pragma: deprecated: false - description: Implementation-specific fields that may have various effects anywhere + description: + Implementation-specific fields that may have various effects anywhere along the request-response chain. explode: false required: false @@ -1523,7 +1578,8 @@ components: style: simple If-None-Match: deprecated: false - description: "Allows a 304 Not Modified to be returned if content is unchanged,\ + description: + "Allows a 304 Not Modified to be returned if content is unchanged,\ \ see HTTP ETag." explode: false required: false @@ -1533,7 +1589,8 @@ components: style: simple WWW-Authenticate: deprecated: false - description: Defines the HTTP authentication methods ("challenges") that might + description: + Defines the HTTP authentication methods ("challenges") that might be used to gain access to a specific resource explode: false required: false @@ -1551,7 +1608,8 @@ components: parameters: relic_link_id: deprecated: false - description: The unique identifier used by the Relic Link API for a player on + description: + The unique identifier used by the Relic Link API for a player on their platform explode: false in: path @@ -1575,7 +1633,8 @@ components: x-last-modified: 1663949674724 leaderboard_id: deprecated: false - description: The unique identifier (ULID) we use for leaderboards of the Relic + description: + The unique identifier (ULID) we use for leaderboards of the Relic Link API explode: false in: path @@ -1588,7 +1647,8 @@ components: x-last-modified: 1663949692803 game_id: deprecated: false - description: The unique identifier (ULID) we use for games that use the Relic + description: + The unique identifier (ULID) we use for games that use the Relic Link API explode: false in: path @@ -1601,7 +1661,8 @@ components: x-last-modified: 1663949717971 team_id: deprecated: false - description: The unique identifier (ULID) we use for teams that play on games + description: + The unique identifier (ULID) we use for teams that play on games using the Relic Link API explode: false in: path @@ -1644,14 +1705,14 @@ components: content: application/json: schema: - $ref: '#/components/schemas/IllegalInputError' + $ref: "#/components/schemas/IllegalInputError" description: Bad Request x-last-modified: 1665057215110 "401": content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 "403": @@ -1670,7 +1731,7 @@ components: content: application/json: schema: - $ref: '#/components/schemas/ServerError' + $ref: "#/components/schemas/ServerError" description: Server Error x-last-modified: 1665056677455 "501": @@ -1689,8 +1750,8 @@ components: minimum: 400 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665056674054 UnauthorizedError: @@ -1704,8 +1765,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: UnauthorizedError type: object x-last-modified: 1665056676293 @@ -1718,8 +1779,8 @@ components: minimum: 500 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665056677454 Error: @@ -1736,8 +1797,8 @@ components: minimum: 100 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665057919920 securitySchemes: From 11e5471e803ef1b401c6d8aae3f5f5327d2af3cf Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Fri, 7 Oct 2022 14:25:37 +0200 Subject: [PATCH 02/63] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index a81c8ee..5bd7933 100644 --- a/.gitignore +++ b/.gitignore @@ -136,3 +136,4 @@ dmypy.json # Cython debug symbols cython_debug/ +.vscode/settings.json From d3168bae952ab2f7dca1ce95e8b20e9bbfe960f5 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 8 Oct 2022 09:33:34 +0200 Subject: [PATCH 03/63] Some small fixes --- openapi.yaml | 66 ++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 1ae04ea..5e725b3 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -37,10 +37,16 @@ paths: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 + "403": + description: Forbidden + "404": + description: Not found + "429": + description: Too many requests summary: Retrieve a list of all game identifiers for games using Relic Link API - tags: [] + tags: ["Game"] summary: Endpoint for game-specific data x-last-modified: 1663947918891 /games/{game_id}/definitions: @@ -74,7 +80,7 @@ paths: summary: Retrieve all available definitions for a specific game using Relic Link API - tags: [] + tags: ["Game"] summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1663948104836 /games/{game_id}/info: @@ -640,33 +646,6 @@ paths: tags: [] summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1663950376911 - /tournaments/{game_id}: - get: - operationId: get_tournament_details_for_game - parameters: - - deprecated: false - description: - The unique identifier (ULID) we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - format: ulid - type: string - style: simple - x-last-modified: 1663949717971 - responses: - "501": - description: Not Implemented - x-last-modified: 1665058119290 - summary: - Retrieve all available tournaments for a specific game available on - the Relic Link platform - tags: [] - summary: game-specific tournaments - x-last-modified: 1663952888032 /games/{game_id}/leaderboards: get: operationId: get_leaderboard_collection_for_game @@ -1432,6 +1411,9 @@ paths: required: true schema: type: integer + minimum: 0 + format: int64 + maximum: 999999999 style: simple x-last-modified: 1663949613648 responses: @@ -1452,7 +1434,7 @@ paths: using the Relic Link API explode: false in: path - name: game_id + name: team_id required: true schema: format: ulid @@ -1477,7 +1459,7 @@ paths: using the Relic Link API explode: false in: path - name: game_id + name: team_id required: true schema: format: ulid @@ -1502,7 +1484,7 @@ paths: using the Relic Link API explode: false in: path - name: game_id + name: team_id required: true schema: format: ulid @@ -1566,6 +1548,8 @@ components: required: false schema: type: string + maxLength: 32 + pattern: ^example-[0-9a-z]+$ style: simple If-Modified-Since: deprecated: false @@ -1604,6 +1588,8 @@ components: required: false schema: type: string + maxLength: 32 + pattern: ^example-[0-9a-z]+$ style: simple parameters: relic_link_id: @@ -1617,6 +1603,9 @@ components: required: true schema: type: integer + format: int64 + maximum: 999999999 + minimum: 0 style: simple x-last-modified: 1663949613648 tournament_id: @@ -1647,8 +1636,7 @@ components: x-last-modified: 1663949692803 game_id: deprecated: false - description: - The unique identifier (ULID) we use for games that use the Relic + description: The unique identifier we use for games that use the Relic Link API explode: false in: path @@ -1666,7 +1654,7 @@ components: using the Relic Link API explode: false in: path - name: game_id + name: team_id required: true schema: format: ulid @@ -1759,6 +1747,8 @@ components: message: title: message type: string + pattern: ^example-[0-9a-z]+$ + maxLength: 32 code: maximum: 401 minimum: 401 @@ -1802,6 +1792,12 @@ components: type: object x-last-modified: 1665057919920 securitySchemes: + BasicAuth: + description: "Example: \n> Authorization: " + in: header + name: BasicAuth + type: apiKey + x-last-modified: 1663947718456 X-Api-Key: description: "Example: \n> X-Api-Key: ZGVtbzpwQDU1dzByZA==" in: header From ff7bffcb4fbc23ce7046eb4d9b10ac44f9be0584 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 8 Oct 2022 10:18:56 +0200 Subject: [PATCH 04/63] Add tags to endpoints --- openapi.yaml | 57 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 5e725b3..be706f2 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -46,7 +46,7 @@ paths: summary: Retrieve a list of all game identifiers for games using Relic Link API - tags: ["Game"] + tags: ["Information"] summary: Endpoint for game-specific data x-last-modified: 1663947918891 /games/{game_id}/definitions: @@ -80,7 +80,7 @@ paths: summary: Retrieve all available definitions for a specific game using Relic Link API - tags: ["Game"] + tags: ["Definition"] summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1663948104836 /games/{game_id}/info: @@ -114,7 +114,7 @@ paths: summary: Retrieve all available information for a specific game using Relic Link API - tags: [] + tags: ["Information"] summary: "information about server maintenance times, DLC stuff, patch releases,\ \ etc." @@ -148,7 +148,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all matches for a specific game using Relic Link API - tags: [] + tags: ["Match data"] summary: "match data spanning over the complete game (all leaderboards, basically\ \ a log" @@ -162,6 +162,7 @@ paths: description: Not Implemented x-last-modified: 1665058119290 summary: Remove all tournaments + tags: ["Tournament Administration"] get: operationId: get_tournament_identifier_collection responses: @@ -171,7 +172,7 @@ paths: summary: Retrieve all available tournaments for all games available on the Relic Link platform - tags: [] + tags: ["Information", "Tournament Administration"] patch: description: "" operationId: partial_update_tournaments @@ -180,6 +181,7 @@ paths: description: Not Implemented x-last-modified: 1665058119290 summary: Partial update of tournaments + tags: ["Tournament Administration"] post: description: "" operationId: create_new_tournament @@ -188,6 +190,7 @@ paths: description: Not Implemented x-last-modified: 1665058119290 summary: Create a new tournament for a game available on the Relic Link platform + tags: ["Tournament Administration"] put: description: "" operationId: bulk_update_all_tournaments @@ -196,6 +199,7 @@ paths: description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update of tournaments + tags: ["Tournament Administration"] summary: Endpoint for tournament information x-last-modified: 1663948422917 /profiles: @@ -213,7 +217,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all available profiles from the Relic Link API - tags: [] + tags: ["Administration"] summary: Endpoint for player profiles on the Relic Link platform x-last-modified: 1663948530301 /profiles/{relic_link_id}: @@ -244,7 +248,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve the details for a specific profile from the Relic Link API - tags: [] + tags: ["Information"] summary: Profile information for a Relic Link player_ID x-last-modified: 1663948567394 /profiles/{relic_link_id}/matches: @@ -275,7 +279,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all matches for a specific profile from the Relic Link API - tags: [] + tags: ["Match data"] summary: match data for a certain Relic Link profile x-last-modified: 1663948607956 /users: @@ -294,6 +298,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Remove all users from our platform + tags: ["User Administration"] get: description: Authenticated Endpoint for Administrators or Libre:Match operationId: get_user_collection @@ -309,7 +314,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all users of our platform - tags: [] + tags: ["User Administration"] patch: description: "" operationId: partial_update_all_users @@ -325,6 +330,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Partially update details for all user profiles + tags: ["User Administration"] post: description: "" operationId: create_new_user @@ -343,6 +349,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Create a new user for our platform + tags: ["Authentication", "Account Registration", "User Administration"] put: description: "" operationId: bulk_update_all_users @@ -358,6 +365,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Bulk update of all users of our platform + tags: ["User Administration"] summary: Endpoint for users of our API x-last-modified: 1663948638250 /users/{user_id}: @@ -388,6 +396,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Remove user from our platform if it exists + tags: ["User Administration"] get: operationId: get_details_for_user parameters: @@ -414,7 +423,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve details for a specific user profile on our platform - tags: [] + tags: ["Information", "User Administration"] patch: description: "" operationId: partial_update_user @@ -442,6 +451,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Update details for a specific user profile on our platform if it exists + tags: ["User Administration"] put: description: "" operationId: bulk_update_all_user_details @@ -471,6 +481,7 @@ paths: summary: Bulk update details for a specific user profile on our platform if it exists + tags: ["User Administration"] summary: user profile for an API user x-last-modified: 1663948686307 /users/login: @@ -480,7 +491,7 @@ paths: "200": description: Operation succeeded x-last-modified: 1665056670316 - tags: [] + tags: ["Authentication"] summary: Login for users of our API x-last-modified: 1663948709646 /users/logout: @@ -497,7 +508,7 @@ paths: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 - tags: [] + tags: ["Authentication"] summary: Logout for users of our API x-last-modified: 1663948774846 /users/register: @@ -514,7 +525,7 @@ paths: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 - tags: [] + tags: ["Account Registration"] summary: Registering as a new User to our API x-last-modified: 1663948797787 /users/validate: @@ -534,7 +545,7 @@ paths: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 - tags: [] + tags: ["Authentication", "API Token Validation"] post: operationId: create_new_user_validation responses: @@ -548,7 +559,7 @@ paths: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 - tags: [] + tags: ["Authentication", "API Token Validation"] summary: Validation for a user account and api tokens used for our API x-last-modified: 1663948876606 /application: @@ -566,7 +577,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve a list of available application information - tags: [] + tags: ["Internal", "Administration"] summary: "General information and data about Libre:Match app, e.g. API updates,\ \ possible upcoming maintenance and other news/stuff" @@ -586,7 +597,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve a list of only application statistics - tags: [] + tags: ["Internal", "Administration"] summary: "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ \ amount of users, etc." @@ -609,7 +620,7 @@ paths: description: Service Unavailable x-last-modified: 1665057340292 summary: Retrieve only application status - tags: [] + tags: ["Internal", "Administration", "Status Check"] summary: Status updates for health checks of our API x-last-modified: 1663948961011 /games/{game_id}: @@ -643,7 +654,7 @@ paths: summary: Retrieve details for a game with a specific identifier using Relic Link API - tags: [] + tags: ["Information"] summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1663950376911 /games/{game_id}/leaderboards: @@ -675,7 +686,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all leaderboards for a specific game using Relic Link API - tags: [] + tags: ["Leaderboards"] summary: Collection of leaderboard data spanning over the complete game x-last-modified: 1665053521883 /leaderboards/{leaderboard_id}: @@ -707,7 +718,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve details for a specific leaderboard - tags: [] + tags: ["Leaderboards"] summary: game-specific leaderboards on the Relic Link platform x-last-modified: 1665053547091 /leaderboards/{leaderboard_id}/stats: @@ -734,7 +745,7 @@ paths: summary: Retrieve all stats on a specific leaderboard for a certain game hosted on the Relic Link API - tags: [] + tags: ["Leaderboards", "Statistics"] summary: Collection of stats for a specific leaderboard x-last-modified: 1665053642553 /leaderboards/{leaderboard_id}/matches: @@ -768,7 +779,7 @@ paths: summary: Retrieve all matches on a specific leaderboard for a certain game hosted on the Relic Link API - tags: [] + tags: ["Leaderboards", "Match data"] summary: Collection of match data for a specific leaderboard x-last-modified: 1665053682780 /leaderboards: From 5870a5c9e4c748c4ad7519c2df5bca5a1ed737f9 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 8 Oct 2022 11:21:29 +0200 Subject: [PATCH 05/63] Adding Boilerplate for Errors --- openapi.yaml | 411 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 369 insertions(+), 42 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index be706f2..46d77ed 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -16,13 +16,41 @@ info: x-logo: url: "" servers: - - description: "" + - description: "Libre:Match Server v1" url: https://api.librematch.org/v1 x-last-modified: 1663947810574 security: - BasicAuth: [] - X-Api-Key: [] paths: + /dumps/{timeframe}: + description: Download database dumps + servers: + - url: https://dumps.librematch.org + description: Override base path for all operations with the /dumps path + get: + operationId: get_database_dump_collection + description: Download a database dump from a given timeframe + parameters: + - deprecated: false + description: The timeframe from which to download a database dump + explode: false + in: path + name: timeframe + required: true + schema: + format: string + type: string + style: simple + x-last-modified: 1663949717971 + responses: + "200": + description: Operation succeeded + x-last-modified: 1665056670316 + "501": + description: Not Implemented + x-last-modified: 1665058119290 + tags: ["Database", "Statistics"] /games: get: operationId: get_game_identifier_collection @@ -158,6 +186,9 @@ paths: description: "" operationId: remove_all_tournaments responses: + "200": + description: Operation succeeded + x-last-modified: 1665056670316 "501": description: Not Implemented x-last-modified: 1665058119290 @@ -166,6 +197,9 @@ paths: get: operationId: get_tournament_identifier_collection responses: + "200": + description: Operation succeeded + x-last-modified: 1665056670316 "501": description: Not Implemented x-last-modified: 1665058119290 @@ -797,7 +831,7 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 summary: Retrieve all leaderboards hosted on the Relic Link API - tags: [] + tags: ["Leaderboards", "Information"] summary: Collection of all leaderboard data on the Relic Link platform x-last-modified: 1665053727563 /tournaments/{tournament_id}: @@ -817,12 +851,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Remove a tournament for a specific game available on the Relic Link platform + tags: ["Adminstration"] get: operationId: get_details_for_tournament parameters: @@ -838,13 +875,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve details for a tournament for a specific game available on the Relic Link platform - tags: [] + tags: ["Information"] patch: description: "" operationId: partial_update_tournament_details @@ -861,12 +900,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Partially update a tournament for a specific game available on the Relic Link platform + tags: ["Adminstration"] put: description: "" operationId: update_tournament_details @@ -883,12 +925,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Update details for a tournament for a specific game available on the Relic Link platform + tags: ["Adminstration"] summary: game-specific tournaments x-last-modified: 1665054574222 /users/{user_id}/stats: @@ -908,10 +953,13 @@ paths: style: simple x-last-modified: 1665078217885 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Remove all stats for a specific user profile on our platform + tags: ["User Adminstration"] get: operationId: get_stat_collection_for_user parameters: @@ -927,11 +975,13 @@ paths: style: simple x-last-modified: 1665078217885 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all stats for a specific user profile on our platform - tags: [] + tags: ["Statistics"] patch: description: "" operationId: partial_update_user_stats @@ -948,10 +998,13 @@ paths: style: simple x-last-modified: 1665078217885 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Partially update stats for a specific user profile on our platform + tags: ["Adminstration"] post: description: "" operationId: create_new_user_stats @@ -968,10 +1021,13 @@ paths: style: simple x-last-modified: 1665078217885 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Create a new stat for a specific user profile on our platform + tags: ["Adminstration"] put: description: "" operationId: bulk_update_all_user_stats @@ -988,10 +1044,13 @@ paths: style: simple x-last-modified: 1665078217885 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update of stats for a specific user profile on our platform + tags: ["Adminstration"] summary: user profile for an API user x-last-modified: 1665054653031 /tournaments/{tournament_id}/info: @@ -1010,13 +1069,69 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all information for a specific tournament for a specific game available on the Relic Link platform - tags: [] + tags: ["Information", "Tournaments", "Tournament Administration"] + summary: game-specific tournaments + x-last-modified: 1665054963238 + /tournaments/{tournament_id}/stats: + get: + operationId: get_stat_collection_for_tournament + parameters: + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 + responses: + "200": + description: Operation succeeded + "501": + description: Not Implemented + x-last-modified: 1665058119290 + summary: + Retrieve all statistics for a specific tournament for a specific game + available on the Relic Link platform + tags: ["Statistics", "Tournaments", "Tournament Administration"] + summary: game-specific tournaments + x-last-modified: 1665054963238 + /tournaments/{tournament_id}/matches: + get: + operationId: get_match_collection_for_tournament + parameters: + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1663949674724 + responses: + "200": + description: Operation succeeded + "501": + description: Not Implemented + x-last-modified: 1665058119290 + summary: + Retrieve all match data for a specific tournament for a specific game + available on the Relic Link platform + tags: ["Match data", "Tournaments", "Tournament Administration"] summary: game-specific tournaments x-last-modified: 1665054963238 /tournaments/{tournament_id}/brackets: @@ -1036,12 +1151,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Remove all brackets for a specific tournament for a specific game available on the Relic Link platform + tags: ["Tournament Administration"] get: operationId: get_bracket_collection_for_tournament parameters: @@ -1057,13 +1175,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform - tags: [] + tags: ["Information", "Tournaments", "Tournament Administration"] patch: description: "" operationId: partial_update_bracket_for_tournament @@ -1080,12 +1200,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform + tags: ["Administration", "Tournament Administration"] post: description: "" operationId: create_new_bracket_for_tournament @@ -1102,12 +1225,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Create a new bracket for a specific tournament for a specific game available on the Relic Link platform + tags: ["Administration", "Tournament Administration"] put: description: "" operationId: bulk_update_all_brackets_for_tournament @@ -1124,12 +1250,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform + tags: ["Administration", "Tournament Administration"] summary: game-specific tournaments x-last-modified: 1665054981775 /tournaments/{tournament_id}/admins: @@ -1149,12 +1278,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Remove all admins for a specific tournament for a specific game available on the Relic Link platform + tags: ["Administration", "Tournament Administration"] get: operationId: get_admin_collection_for_tournament parameters: @@ -1170,13 +1302,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform - tags: [] + tags: ["Administration", "Tournament Administration"] patch: description: "" operationId: partial_update_all_admins_for_tournament @@ -1193,12 +1327,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Update details of admins for a specific tournament for a specific game available on the Relic Link platform + tags: ["Administration", "Tournament Administration"] post: description: "" operationId: create_new_admin_for_tournament @@ -1215,12 +1352,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Create a new admin for a specific tournament for a specific game available on the Relic Link platform + tags: ["Administration", "Tournament Administration"] put: description: "" operationId: bulk_update_all_admins_for_tournament @@ -1237,12 +1377,15 @@ paths: style: simple x-last-modified: 1663949674724 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update of admins for a specific tournament for a specific game available on the Relic Link platform + tags: ["Administration", "Tournament Administration"] summary: Endpoint for tournament admins x-last-modified: 1665055638796 /teams: @@ -1250,46 +1393,56 @@ paths: description: "" operationId: remove_all_teams responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Remove all teams - tags: [] + tags: ["Teams", "Team Administration"] get: operationId: get_team_collection responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all available teams - tags: [] + tags: ["Information", "Teams", "Team Administration"] patch: description: "" operationId: partial_update_all_teams responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Partial update of all teams - tags: [] + tags: ["Administration", "Team Administration"] post: description: "" operationId: create_new_team responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Create a new team - tags: [] + tags: ["Administration", "Team Administration"] put: description: "" operationId: bulk_update_all_teams responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update of teams - tags: [] + tags: ["Administration", "Team Administration"] summary: Endpoint for team information x-last-modified: 1665138931985 /profiles/{relic_link_id}/settings: @@ -1310,11 +1463,13 @@ paths: style: simple x-last-modified: 1663949613648 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Remove all settings for a specific profile from the Relic Link API - tags: [] + tags: ["Profile Administration", "Administration"] get: operationId: get_setting_collection_for_profile parameters: @@ -1331,11 +1486,13 @@ paths: style: simple x-last-modified: 1663949613648 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all settings for a specific profile from the Relic Link API - tags: [] + tags: ["Profile Administration", "Administration", "Information"] patch: description: "" operationId: partial_update_all_settings_for_profile @@ -1353,13 +1510,15 @@ paths: style: simple x-last-modified: 1663949613648 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Update a specific setting for a specific profile from the Relic Link API - tags: [] + tags: ["Profile Administration", "Administration"] post: description: "" operationId: create_new_setting_for_profile @@ -1377,11 +1536,13 @@ paths: style: simple x-last-modified: 1663949613648 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Create a new setting for a specific profile from the Relic Link API - tags: [] + tags: ["Profile Administration", "Administration"] put: description: "" operationId: bulk_update_all_settings_for_profile @@ -1399,13 +1560,15 @@ paths: style: simple x-last-modified: 1663949613648 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update of settings for a specific profile from the Relic Link API - tags: [] + tags: ["Profile Administration", "Administration"] summary: Collection of settings specifically for a certain Relic Link profile x-last-modified: 1665138974395 /profiles/{relic_link_id}/stats: @@ -1428,11 +1591,13 @@ paths: style: simple x-last-modified: 1663949613648 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all stats for a specific profile from the Relic Link API - tags: [] + tags: ["Statistics"] summary: Collection of statistics specifically for a certain Relic Link profile x-last-modified: 1665138997585 /teams/{team_id}: @@ -1453,11 +1618,13 @@ paths: style: simple x-last-modified: 1665069480649 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve details of a team - tags: [] + tags: ["Teams", "Team Administration"] summary: Team information x-last-modified: 1665139023265 /teams/{team_id}/matches: @@ -1478,11 +1645,13 @@ paths: style: simple x-last-modified: 1665069480649 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve a list of matches for a specific team - tags: [] + tags: ["Match data"] summary: Collection of match information for a team x-last-modified: 1665139050992 /teams/{team_id}/stats: @@ -1503,11 +1672,13 @@ paths: style: simple x-last-modified: 1665069480649 responses: + "200": + description: Operation succeeded "501": description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve a list of stats for a specific team - tags: [] + tags: ["Statistics", "Teams", "Team Administration"] summary: Collection of stats for a team x-last-modified: 1665139090952 components: @@ -1693,9 +1864,17 @@ components: x-last-modified: 1665072508175 "202": description: Accepted + content: + application/json: + schema: + $ref: "#/components/schemas/Accepted" x-last-modified: 1665057162357 "204": description: No Content + content: + application/json: + schema: + $ref: "#/components/schemas/NoContent" x-last-modified: 1665056770881 "304": description: Not Modified @@ -1712,34 +1891,182 @@ components: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 "403": description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" x-last-modified: 1665056800086 "404": - description: Entity not found. + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" x-last-modified: 1665056674861 "408": description: Request Timeout + content: + application/json: + schema: + $ref: "#/components/schemas/RequestTimeoutError" x-last-modified: 1665057248987 "429": description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 "500": + description: Server Error content: application/json: schema: $ref: "#/components/schemas/ServerError" - description: Server Error x-last-modified: 1665056677455 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 "503": description: Service Unavailable + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceUnavailableError" x-last-modified: 1665057340292 schemas: + ServiceUnavailableError: + properties: + message: + type: string + code: + maximum: 503 + minimum: 503 + type: integer + required: + - code + - message + type: object + x-last-modified: 1665056674054 + NotImplementedError: + properties: + message: + type: string + code: + maximum: 501 + minimum: 501 + type: integer + required: + - code + - message + type: object + x-last-modified: 1665056674054 + TooManyRequestsError: + properties: + message: + type: string + code: + maximum: 429 + minimum: 429 + type: integer + required: + - code + - message + type: object + x-last-modified: 1665056674054 + RequestTimeoutError: + properties: + message: + type: string + code: + maximum: 408 + minimum: 408 + type: integer + required: + - code + - message + type: object + x-last-modified: 1665056674054 + NotAcceptableError: + properties: + message: + type: string + code: + maximum: 406 + minimum: 406 + type: integer + required: + - code + - message + type: object + x-last-modified: 1665056674054 + NotFoundError: + properties: + message: + type: string + code: + maximum: 404 + minimum: 404 + type: integer + required: + - code + - message + type: object + x-last-modified: 1665056674054 + ForbiddenError: + properties: + message: + type: string + code: + maximum: 403 + minimum: 403 + type: integer + required: + - code + - message + type: object + x-last-modified: 1665056674054 + Accepted: + properties: + message: + type: string + code: + maximum: 202 + minimum: 202 + type: integer + required: + - code + - message + type: object + x-last-modified: 1665056674054 + NoContent: + properties: + message: + type: string + code: + maximum: 204 + minimum: 204 + type: integer + required: + - code + - message + type: object + x-last-modified: 1665056674054 IllegalInputError: properties: message: @@ -1784,24 +2111,24 @@ components: - message type: object x-last-modified: 1665056677454 - Error: - example: - code: 400 - message: wrong input - properties: - message: - description: The error message indicating what the issue is - type: string - code: - description: The http status code - maximum: 600 - minimum: 100 - type: integer - required: - - code - - message - type: object - x-last-modified: 1665057919920 + # Error: + # example: + # code: 400 + # message: wrong input + # properties: + # message: + # description: The error message indicating what the issue is + # type: string + # code: + # description: The http status code + # maximum: 600 + # minimum: 100 + # type: integer + # required: + # - code + # - message + # type: object + # x-last-modified: 1665057919920 securitySchemes: BasicAuth: description: "Example: \n> Authorization: " From a27b86a63d5bd113a5370af281d771893f24cebb Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 8 Oct 2022 12:14:39 +0200 Subject: [PATCH 06/63] Added more responses and Ulid pattern --- openapi.yaml | 2907 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 2812 insertions(+), 95 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 46d77ed..84165f9 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -47,8 +47,47 @@ paths: "200": description: Operation succeeded x-last-modified: 1665056670316 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 tags: ["Database", "Statistics"] /games: @@ -63,14 +102,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 "403": description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 "404": - description: Not found + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 "429": - description: Too many requests + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve a list of all game identifiers for games using Relic Link API @@ -90,8 +151,7 @@ paths: name: game_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949717971 responses: @@ -105,6 +165,34 @@ paths: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve all available definitions for a specific game using Relic Link API @@ -124,8 +212,7 @@ paths: name: game_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949717971 responses: @@ -139,6 +226,34 @@ paths: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve all available information for a specific game using Relic Link API @@ -160,8 +275,7 @@ paths: name: game_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949717971 responses: @@ -173,8 +287,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve all matches for a specific game using Relic Link API tags: ["Match data"] summary: @@ -189,8 +331,47 @@ paths: "200": description: Operation succeeded x-last-modified: 1665056670316 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Remove all tournaments tags: ["Tournament Administration"] @@ -200,8 +381,47 @@ paths: "200": description: Operation succeeded x-last-modified: 1665056670316 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve all available tournaments for all games available on the Relic @@ -211,8 +431,57 @@ paths: description: "" operationId: partial_update_tournaments responses: + "200": + description: Operation succeeded + x-last-modified: 1665056670316 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Partial update of tournaments tags: ["Tournament Administration"] @@ -220,8 +489,57 @@ paths: description: "" operationId: create_new_tournament responses: + "200": + description: Operation succeeded + x-last-modified: 1665056670316 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Create a new tournament for a game available on the Relic Link platform tags: ["Tournament Administration"] @@ -229,8 +547,57 @@ paths: description: "" operationId: bulk_update_all_tournaments responses: + "200": + description: Operation succeeded + x-last-modified: 1665056670316 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Bulk update of tournaments tags: ["Tournament Administration"] @@ -248,8 +615,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve all available profiles from the Relic Link API tags: ["Administration"] summary: Endpoint for player profiles on the Relic Link platform @@ -279,10 +674,38 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 - summary: Retrieve the details for a specific profile from the Relic Link API - tags: ["Information"] + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 + summary: Retrieve the details for a specific profile from the Relic Link API + tags: ["Information"] summary: Profile information for a Relic Link player_ID x-last-modified: 1663948567394 /profiles/{relic_link_id}/matches: @@ -310,8 +733,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve all matches for a specific profile from the Relic Link API tags: ["Match data"] summary: match data for a certain Relic Link profile @@ -329,8 +780,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Remove all users from our platform tags: ["User Administration"] get: @@ -345,8 +824,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve all users of our platform tags: ["User Administration"] patch: @@ -361,8 +868,43 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Partially update details for all user profiles tags: ["User Administration"] post: @@ -380,8 +922,43 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Create a new user for our platform tags: ["Authentication", "Account Registration", "User Administration"] put: @@ -396,8 +973,43 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Bulk update of all users of our platform tags: ["User Administration"] summary: Endpoint for users of our API @@ -414,8 +1026,7 @@ paths: name: user_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665078217885 responses: @@ -427,8 +1038,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Remove user from our platform if it exists tags: ["User Administration"] get: @@ -454,8 +1093,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve details for a specific user profile on our platform tags: ["Information", "User Administration"] patch: @@ -482,8 +1149,43 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Update details for a specific user profile on our platform if it exists tags: ["User Administration"] put: @@ -510,8 +1212,43 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Bulk update details for a specific user profile on our platform if it exists @@ -525,6 +1262,48 @@ paths: "200": description: Operation succeeded x-last-modified: 1665056670316 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 tags: ["Authentication"] summary: Login for users of our API x-last-modified: 1663948709646 @@ -540,8 +1319,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 tags: ["Authentication"] summary: Logout for users of our API x-last-modified: 1663948774846 @@ -557,16 +1364,51 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 - tags: ["Account Registration"] - summary: Registering as a new User to our API - x-last-modified: 1663948797787 - /users/validate: - description: - "Validate API tokens, can give information about how long a token\ - \ is still valid and help automating updating a token" - get: + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 + tags: ["Account Registration"] + summary: Registering as a new User to our API + x-last-modified: 1663948797787 + /users/validate: + description: + "Validate API tokens, can give information about how long a token\ + \ is still valid and help automating updating a token" + get: operationId: get_user_validation_details responses: "200": @@ -577,8 +1419,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 tags: ["Authentication", "API Token Validation"] post: operationId: create_new_user_validation @@ -591,8 +1461,43 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 tags: ["Authentication", "API Token Validation"] summary: Validation for a user account and api tokens used for our API x-last-modified: 1663948876606 @@ -608,8 +1513,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve a list of available application information tags: ["Internal", "Administration"] summary: @@ -628,8 +1561,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve a list of only application statistics tags: ["Internal", "Administration"] summary: @@ -648,8 +1609,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "503": description: Service Unavailable x-last-modified: 1665057340292 @@ -670,8 +1659,7 @@ paths: name: game_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949717971 responses: @@ -683,8 +1671,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve details for a game with a specific identifier using Relic Link API @@ -704,8 +1720,7 @@ paths: name: game_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949717971 responses: @@ -717,8 +1732,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve all leaderboards for a specific game using Relic Link API tags: ["Leaderboards"] summary: Collection of leaderboard data spanning over the complete game @@ -736,8 +1779,7 @@ paths: name: leaderboard_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949692803 responses: @@ -749,8 +1791,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve details for a specific leaderboard tags: ["Leaderboards"] summary: game-specific leaderboards on the Relic Link platform @@ -768,13 +1838,54 @@ paths: name: leaderboard_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949692803 responses: + "200": + description: Operation succeeded + x-last-modified: 1665056670316 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve all stats on a specific leaderboard for a certain game hosted @@ -795,8 +1906,7 @@ paths: name: leaderboard_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949692803 responses: @@ -808,8 +1918,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve all matches on a specific leaderboard for a certain game hosted on the Relic Link API @@ -828,8 +1966,36 @@ paths: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. + description: Unauthorized access x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 summary: Retrieve all leaderboards hosted on the Relic Link API tags: ["Leaderboards", "Information"] summary: Collection of all leaderboard data on the Relic Link platform @@ -846,29 +2012,67 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: "200": description: Operation succeeded - "501": - description: Not Implemented - x-last-modified: 1665058119290 - summary: - Remove a tournament for a specific game available on the Relic Link - platform - tags: ["Adminstration"] - get: - operationId: get_details_for_tournament - parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 + "501": + description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" + x-last-modified: 1665058119290 + summary: + Remove a tournament for a specific game available on the Relic Link + platform + tags: ["Adminstration"] + get: + operationId: get_details_for_tournament + parameters: + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true schema: format: ulid type: string @@ -877,8 +2081,47 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve details for a tournament for a specific game available on @@ -902,8 +2145,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Partially update a tournament for a specific game available on the @@ -927,8 +2216,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Update details for a tournament for a specific game available on the @@ -948,15 +2283,53 @@ paths: name: user_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665078217885 responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Remove all stats for a specific user profile on our platform tags: ["User Adminstration"] @@ -977,8 +2350,47 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve all stats for a specific user profile on our platform tags: ["Statistics"] @@ -1000,8 +2412,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Partially update stats for a specific user profile on our platform tags: ["Adminstration"] @@ -1023,8 +2481,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Create a new stat for a specific user profile on our platform tags: ["Adminstration"] @@ -1046,8 +2550,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Bulk update of stats for a specific user profile on our platform tags: ["Adminstration"] @@ -1055,6 +2605,9 @@ paths: x-last-modified: 1665054653031 /tournaments/{tournament_id}/info: get: + summary: + Retrieve all information for a specific tournament for a specific game + available on the Relic Link platform operationId: get_info_collection_for_tournament parameters: - deprecated: false @@ -1064,19 +2617,54 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 - summary: - Retrieve all information for a specific tournament for a specific game - available on the Relic Link platform tags: ["Information", "Tournaments", "Tournament Administration"] summary: game-specific tournaments x-last-modified: 1665054963238 @@ -1091,15 +2679,53 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve all statistics for a specific tournament for a specific game @@ -1118,15 +2744,53 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve all match data for a specific tournament for a specific game @@ -1146,15 +2810,53 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Remove all brackets for a specific tournament for a specific game available @@ -1177,8 +2879,47 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve all brackets for a specific tournament for a specific game @@ -1197,13 +2938,61 @@ paths: schema: format: ulid type: string + pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$ + maxLength: 26 style: simple x-last-modified: 1663949674724 responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Partial update all brackets for a specific tournament for a specific @@ -1227,8 +3016,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Create a new bracket for a specific tournament for a specific game @@ -1252,8 +3087,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Bulk update all brackets for a specific tournament for a specific game @@ -1273,15 +3154,53 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Remove all admins for a specific tournament for a specific game available @@ -1304,8 +3223,47 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve all admins for a specific tournament for a specific game available @@ -1329,8 +3287,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Update details of admins for a specific tournament for a specific game @@ -1354,8 +3358,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Create a new admin for a specific tournament for a specific game available @@ -1379,8 +3429,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Bulk update of admins for a specific tournament for a specific game @@ -1395,8 +3491,47 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Remove all teams tags: ["Teams", "Team Administration"] @@ -1405,8 +3540,47 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve all available teams tags: ["Information", "Teams", "Team Administration"] @@ -1416,8 +3590,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Partial update of all teams tags: ["Administration", "Team Administration"] @@ -1427,8 +3647,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Create a new team tags: ["Administration", "Team Administration"] @@ -1438,8 +3704,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Bulk update of teams tags: ["Administration", "Team Administration"] @@ -1465,8 +3777,47 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Remove all settings for a specific profile from the Relic Link API tags: ["Profile Administration", "Administration"] @@ -1488,8 +3839,47 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve all settings for a specific profile from the Relic Link API tags: ["Profile Administration", "Administration", "Information"] @@ -1512,8 +3902,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Update a specific setting for a specific profile from the Relic Link @@ -1538,8 +3974,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Create a new setting for a specific profile from the Relic Link API tags: ["Profile Administration", "Administration"] @@ -1562,8 +4044,54 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Bulk update of settings for a specific profile from the Relic Link @@ -1593,8 +4121,47 @@ paths: responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve all stats for a specific profile from the Relic Link API tags: ["Statistics"] @@ -1613,15 +4180,53 @@ paths: name: team_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665069480649 responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve details of a team tags: ["Teams", "Team Administration"] @@ -1640,15 +4245,53 @@ paths: name: team_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665069480649 responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve a list of matches for a specific team tags: ["Match data"] @@ -1667,15 +4310,53 @@ paths: name: team_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665069480649 responses: "200": description: Operation succeeded + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + x-last-modified: 1665056800086 + "404": + description: Entity not found + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + x-last-modified: 1665056674861 + "406": + description: Not acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + x-last-modified: 1665056674861 + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + x-last-modified: 1665056827121 "501": description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 summary: Retrieve a list of stats for a specific team tags: ["Statistics", "Teams", "Team Administration"] @@ -1921,6 +4602,13 @@ components: schema: $ref: "#/components/schemas/RequestTimeoutError" x-last-modified: 1665057248987 + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/UnsupportedMediaTypeError" + x-last-modified: 1665057248987 "429": description: Too Many Requests content: @@ -1950,6 +4638,35 @@ components: $ref: "#/components/schemas/ServiceUnavailableError" x-last-modified: 1665057340292 schemas: + Ulid: + properties: + message: + type: string + code: + maximum: 26 + minimum: 26 + type: string + format: ulid + pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$ + maxLength: 26 + required: + - code + - message + type: object + x-last-modified: 1665056674054 + UnsupportedMediaTypeError: + properties: + message: + type: string + code: + maximum: 415 + minimum: 415 + type: integer + required: + - code + - message + type: object + x-last-modified: 1665056674054 ServiceUnavailableError: properties: message: From 5f6c534403ab15718332bdff43b30b35f97aaf27 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 8 Oct 2022 12:30:43 +0200 Subject: [PATCH 07/63] Fix more problems with security audit --- openapi.yaml | 125 ++++++++++++++++++++++++--------------------------- 1 file changed, 59 insertions(+), 66 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 84165f9..525e384 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -39,8 +39,7 @@ paths: name: timeframe required: true schema: - format: string - type: string + $ref: "#/components/schemas/Timeframe" style: simple x-last-modified: 1663949717971 responses: @@ -662,7 +661,7 @@ paths: name: relic_link_id required: true schema: - type: integer + $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1663949613648 responses: @@ -721,7 +720,7 @@ paths: name: relic_link_id required: true schema: - type: integer + $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1663949613648 responses: @@ -1080,8 +1079,7 @@ paths: name: user_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665078217885 responses: @@ -1136,8 +1134,7 @@ paths: name: user_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665078217885 responses: @@ -1199,8 +1196,7 @@ paths: name: user_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665078217885 responses: @@ -2074,8 +2070,7 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: @@ -2138,8 +2133,7 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: @@ -2209,8 +2203,7 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: @@ -2343,8 +2336,7 @@ paths: name: user_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665078217885 responses: @@ -2405,8 +2397,7 @@ paths: name: user_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665078217885 responses: @@ -2474,8 +2465,7 @@ paths: name: user_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665078217885 responses: @@ -2543,8 +2533,7 @@ paths: name: user_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665078217885 responses: @@ -2872,8 +2861,7 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: @@ -3009,8 +2997,7 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: @@ -3080,8 +3067,7 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: @@ -3216,8 +3202,7 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: @@ -3280,8 +3265,7 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: @@ -3351,8 +3335,7 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: @@ -3422,8 +3405,7 @@ paths: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 responses: @@ -3771,7 +3753,7 @@ paths: name: relic_link_id required: true schema: - type: integer + $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1663949613648 responses: @@ -3833,7 +3815,7 @@ paths: name: relic_link_id required: true schema: - type: integer + $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1663949613648 responses: @@ -3896,7 +3878,7 @@ paths: name: relic_link_id required: true schema: - type: integer + $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1663949613648 responses: @@ -3968,7 +3950,7 @@ paths: name: relic_link_id required: true schema: - type: integer + $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1663949613648 responses: @@ -4038,7 +4020,7 @@ paths: name: relic_link_id required: true schema: - type: integer + $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1663949613648 responses: @@ -4112,10 +4094,7 @@ paths: name: relic_link_id required: true schema: - type: integer - minimum: 0 - format: int64 - maximum: 999999999 + $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1663949613648 responses: @@ -4385,8 +4364,7 @@ components: \ ID, to ease the debugging." explode: false schema: - format: uuid - type: string + $ref: "#/components/schemas/Ulid" style: simple X-RateLimit-Limit: description: The number of allowed requests in the current period @@ -4465,10 +4443,7 @@ components: name: relic_link_id required: true schema: - type: integer - format: int64 - maximum: 999999999 - minimum: 0 + $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1663949613648 tournament_id: @@ -4479,8 +4454,7 @@ components: name: tournament_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949674724 leaderboard_id: @@ -4493,8 +4467,7 @@ components: name: leaderboard_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949692803 game_id: @@ -4506,8 +4479,7 @@ components: name: game_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1663949717971 team_id: @@ -4520,8 +4492,7 @@ components: name: team_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665069480649 user_id: @@ -4532,8 +4503,7 @@ components: name: user_id required: true schema: - format: ulid - type: string + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665078217885 responses: @@ -4638,10 +4608,33 @@ components: $ref: "#/components/schemas/ServiceUnavailableError" x-last-modified: 1665057340292 schemas: - Ulid: + Timeframe: properties: - message: + code: type: string + format: string + maxLength: 15 + maximum: 15 + pattern: "^example-TODO$" + additionalProperties: false + required: + - code + type: object + x-last-modified: 1665056674054 + RelicLinkId: + properties: + code: + type: integer + format: int64 + maximum: 999999999 + minimum: 0 + additionalProperties: false + required: + - code + type: object + x-last-modified: 1665056674054 + Ulid: + properties: code: maximum: 26 minimum: 26 @@ -4649,9 +4642,9 @@ components: format: ulid pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$ maxLength: 26 + additionalProperties: false required: - code - - message type: object x-last-modified: 1665056674054 UnsupportedMediaTypeError: From 48d7c1c78ae378c4fd4a704abd5071becb16dd85 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 8 Oct 2022 12:45:56 +0200 Subject: [PATCH 08/63] Replace datetime with date-time --- openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi.yaml b/openapi.yaml index 525e384..07cb29e 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -4398,7 +4398,7 @@ components: explode: false required: false schema: - format: datetime + format: date-time type: number style: simple If-None-Match: From fdd4c33d93ff78fb86e2fe7ec4634b5437fd3840 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 8 Oct 2022 13:04:15 +0200 Subject: [PATCH 09/63] Rename properties --- openapi.yaml | 92 ++++++++++++++++++++-------------------------------- 1 file changed, 36 insertions(+), 56 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 07cb29e..8423c13 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -131,9 +131,7 @@ paths: schema: $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 - summary: - Retrieve a list of all game identifiers for games using Relic Link - API + summary: Retrieve a list of all game identifiers for games tags: ["Information"] summary: Endpoint for game-specific data x-last-modified: 1663947918891 @@ -192,9 +190,7 @@ paths: schema: $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 - summary: - Retrieve all available definitions for a specific game using Relic - Link API + summary: Retrieve all available definitions for a specific game tags: ["Definition"] summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1663948104836 @@ -253,9 +249,7 @@ paths: schema: $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 - summary: - Retrieve all available information for a specific game using Relic - Link API + summary: Retrieve all available information for a specific game tags: ["Information"] summary: "information about server maintenance times, DLC stuff, patch releases,\ @@ -316,7 +310,7 @@ paths: schema: $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 - summary: Retrieve all matches for a specific game using Relic Link API + summary: Retrieve all matches for a specific game tags: ["Match data"] summary: "match data spanning over the complete game (all leaderboards, basically\ @@ -644,7 +638,7 @@ paths: schema: $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 - summary: Retrieve all available profiles from the Relic Link API + summary: Retrieve all available profiles tags: ["Administration"] summary: Endpoint for player profiles on the Relic Link platform x-last-modified: 1663948530301 @@ -703,7 +697,7 @@ paths: schema: $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 - summary: Retrieve the details for a specific profile from the Relic Link API + summary: Retrieve the details for a specific profile tags: ["Information"] summary: Profile information for a Relic Link player_ID x-last-modified: 1663948567394 @@ -762,7 +756,7 @@ paths: schema: $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 - summary: Retrieve all matches for a specific profile from the Relic Link API + summary: Retrieve all matches for a specific profile tags: ["Match data"] summary: match data for a certain Relic Link profile x-last-modified: 1663948607956 @@ -1697,10 +1691,7 @@ paths: schema: $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 - summary: - Retrieve details for a game with a specific identifier using Relic - Link API - tags: ["Information"] + summary: Retrieve details for a game with a specific identifiers summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1663950376911 /games/{game_id}/leaderboards: @@ -1758,7 +1749,7 @@ paths: schema: $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 - summary: Retrieve all leaderboards for a specific game using Relic Link API + summary: Retrieve all leaderboards for a specific game tags: ["Leaderboards"] summary: Collection of leaderboard data spanning over the complete game x-last-modified: 1665053521883 @@ -1883,9 +1874,7 @@ paths: schema: $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 - summary: - Retrieve all stats on a specific leaderboard for a certain game hosted - on the Relic Link API + summary: Retrieve all stats on a specific leaderboard for a certain game tags: ["Leaderboards", "Statistics"] summary: Collection of stats for a specific leaderboard x-last-modified: 1665053642553 @@ -1944,9 +1933,7 @@ paths: schema: $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 - summary: - Retrieve all matches on a specific leaderboard for a certain game hosted - on the Relic Link API + summary: Retrieve all matches on a specific leaderboard for a certain game tags: ["Leaderboards", "Match data"] summary: Collection of match data for a specific leaderboard x-last-modified: 1665053682780 @@ -1992,7 +1979,7 @@ paths: schema: $ref: "#/components/schemas/TooManyRequestsError" x-last-modified: 1665056827121 - summary: Retrieve all leaderboards hosted on the Relic Link API + summary: Retrieve all leaderboards tags: ["Leaderboards", "Information"] summary: Collection of all leaderboard data on the Relic Link platform x-last-modified: 1665053727563 @@ -2258,9 +2245,7 @@ paths: schema: $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 - summary: - Update details for a tournament for a specific game available on the - Relic Link platform + summary: Update details for a tournament for a specific game tags: ["Adminstration"] summary: game-specific tournaments x-last-modified: 1665054574222 @@ -2594,9 +2579,7 @@ paths: x-last-modified: 1665054653031 /tournaments/{tournament_id}/info: get: - summary: - Retrieve all information for a specific tournament for a specific game - available on the Relic Link platform + summary: Retrieve all information for a specific tournament for a specific game operationId: get_info_collection_for_tournament parameters: - deprecated: false @@ -2716,9 +2699,7 @@ paths: schema: $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 - summary: - Retrieve all statistics for a specific tournament for a specific game - available on the Relic Link platform + summary: Retrieve all statistics for a specific tournament for a specific game tags: ["Statistics", "Tournaments", "Tournament Administration"] summary: game-specific tournaments x-last-modified: 1665054963238 @@ -2781,9 +2762,7 @@ paths: schema: $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 - summary: - Retrieve all match data for a specific tournament for a specific game - available on the Relic Link platform + summary: Retrieve all match data for a specific tournament for a specific game tags: ["Match data", "Tournaments", "Tournament Administration"] summary: game-specific tournaments x-last-modified: 1665054963238 @@ -2847,9 +2826,7 @@ paths: schema: $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 - summary: - Remove all brackets for a specific tournament for a specific game available - on the Relic Link platform + summary: Remove all brackets for a specific tournament for a specific game tags: ["Tournament Administration"] get: operationId: get_bracket_collection_for_tournament @@ -3188,9 +3165,7 @@ paths: schema: $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 - summary: - Remove all admins for a specific tournament for a specific game available - on the Relic Link platform + summary: Remove all admins for a specific tournament for a specific game tags: ["Administration", "Tournament Administration"] get: operationId: get_admin_collection_for_tournament @@ -3460,9 +3435,7 @@ paths: schema: $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 - summary: - Bulk update of admins for a specific tournament for a specific game - available on the Relic Link platform + summary: Bulk update of admins for a specific tournament for a specific game tags: ["Administration", "Tournament Administration"] summary: Endpoint for tournament admins x-last-modified: 1665055638796 @@ -3801,7 +3774,7 @@ paths: schema: $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 - summary: Remove all settings for a specific profile from the Relic Link API + summary: Remove all settings for a specific profile tags: ["Profile Administration", "Administration"] get: operationId: get_setting_collection_for_profile @@ -3863,7 +3836,7 @@ paths: schema: $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 - summary: Retrieve all settings for a specific profile from the Relic Link API + summary: Retrieve all settings for a specific profile tags: ["Profile Administration", "Administration", "Information"] patch: description: "" @@ -4142,7 +4115,7 @@ paths: schema: $ref: "#/components/schemas/NotImplementedError" x-last-modified: 1665058119290 - summary: Retrieve all stats for a specific profile from the Relic Link API + summary: Retrieve all stats for a specific profile tags: ["Statistics"] summary: Collection of statistics specifically for a certain Relic Link profile x-last-modified: 1665138997585 @@ -4610,7 +4583,7 @@ components: schemas: Timeframe: properties: - code: + timeframe: type: string format: string maxLength: 15 @@ -4618,24 +4591,24 @@ components: pattern: "^example-TODO$" additionalProperties: false required: - - code + - timeframe type: object x-last-modified: 1665056674054 RelicLinkId: properties: - code: + relic_link_id: type: integer format: int64 maximum: 999999999 minimum: 0 additionalProperties: false required: - - code + - relic_link_id type: object x-last-modified: 1665056674054 Ulid: properties: - code: + ulid: maximum: 26 minimum: 26 type: string @@ -4644,7 +4617,7 @@ components: maxLength: 26 additionalProperties: false required: - - code + - ulid type: object x-last-modified: 1665056674054 UnsupportedMediaTypeError: @@ -4767,7 +4740,10 @@ components: NoContent: properties: message: + title: No Content type: string + pattern: ^example-[0-9a-z]+$ + maxLength: 32 code: maximum: 204 minimum: 204 @@ -4780,7 +4756,10 @@ components: IllegalInputError: properties: message: + title: Bad Request type: string + pattern: ^example-[0-9a-z]+$ + maxLength: 32 code: maximum: 400 minimum: 400 @@ -4793,7 +4772,7 @@ components: UnauthorizedError: properties: message: - title: message + title: Unauthorized access type: string pattern: ^example-[0-9a-z]+$ maxLength: 32 @@ -4812,6 +4791,7 @@ components: properties: message: type: string + code: maximum: 599 minimum: 500 From d69a78ea5791a439f5ac77c1e30e6168133e47bc Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 8 Oct 2022 13:09:34 +0200 Subject: [PATCH 10/63] Add default response to endpoints --- openapi.yaml | 432 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 432 insertions(+) diff --git a/openapi.yaml b/openapi.yaml index 8423c13..3de1143 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -43,6 +43,12 @@ paths: style: simple x-last-modified: 1663949717971 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -93,6 +99,12 @@ paths: get: operationId: get_game_identifier_collection responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -152,6 +164,12 @@ paths: style: simple x-last-modified: 1663949717971 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -211,6 +229,12 @@ paths: style: simple x-last-modified: 1663949717971 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -272,6 +296,12 @@ paths: style: simple x-last-modified: 1663949717971 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -321,6 +351,12 @@ paths: description: "" operationId: remove_all_tournaments responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -371,6 +407,12 @@ paths: get: operationId: get_tournament_identifier_collection responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -424,6 +466,12 @@ paths: description: "" operationId: partial_update_tournaments responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -482,6 +530,12 @@ paths: description: "" operationId: create_new_tournament responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -540,6 +594,12 @@ paths: description: "" operationId: bulk_update_all_tournaments responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -600,6 +660,12 @@ paths: get: operationId: get_profile_collection responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -659,6 +725,12 @@ paths: style: simple x-last-modified: 1663949613648 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -718,6 +790,12 @@ paths: style: simple x-last-modified: 1663949613648 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -765,6 +843,12 @@ paths: description: "" operationId: remove_all_users responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -809,6 +893,12 @@ paths: description: Authenticated Endpoint for Administrators or Libre:Match operationId: get_user_collection responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -853,6 +943,12 @@ paths: description: "" operationId: partial_update_all_users responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -904,6 +1000,12 @@ paths: description: "" operationId: create_new_user responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -958,6 +1060,12 @@ paths: description: "" operationId: bulk_update_all_users responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1023,6 +1131,12 @@ paths: style: simple x-last-modified: 1665078217885 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1077,6 +1191,12 @@ paths: style: simple x-last-modified: 1665078217885 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1132,6 +1252,12 @@ paths: style: simple x-last-modified: 1665078217885 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1194,6 +1320,12 @@ paths: style: simple x-last-modified: 1665078217885 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1249,6 +1381,12 @@ paths: post: operationId: user_login responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1301,6 +1439,12 @@ paths: get: operationId: user_logout responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1346,6 +1490,12 @@ paths: post: operationId: user_register responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1401,6 +1551,12 @@ paths: get: operationId: get_user_validation_details responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1443,6 +1599,12 @@ paths: post: operationId: create_new_user_validation responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1495,6 +1657,12 @@ paths: get: operationId: get_information_collection_for_application responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1543,6 +1711,12 @@ paths: get: operationId: get_stat_collection_for_application responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1591,6 +1765,12 @@ paths: get: operationId: get_status_collection_for_application responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1653,6 +1833,12 @@ paths: style: simple x-last-modified: 1663949717971 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1711,6 +1897,12 @@ paths: style: simple x-last-modified: 1663949717971 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1770,6 +1962,12 @@ paths: style: simple x-last-modified: 1663949692803 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1829,6 +2027,12 @@ paths: style: simple x-last-modified: 1663949692803 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1895,6 +2099,12 @@ paths: style: simple x-last-modified: 1663949692803 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1941,6 +2151,12 @@ paths: get: operationId: get_leaderboard_collection responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded x-last-modified: 1665056670316 @@ -1999,6 +2215,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2061,6 +2283,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2124,6 +2352,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2194,6 +2428,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2265,6 +2505,12 @@ paths: style: simple x-last-modified: 1665078217885 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2325,6 +2571,12 @@ paths: style: simple x-last-modified: 1665078217885 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2386,6 +2638,12 @@ paths: style: simple x-last-modified: 1665078217885 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2454,6 +2712,12 @@ paths: style: simple x-last-modified: 1665078217885 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2522,6 +2786,12 @@ paths: style: simple x-last-modified: 1665078217885 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2593,6 +2863,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2655,6 +2931,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2718,6 +3000,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2782,6 +3070,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2842,6 +3136,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2908,6 +3208,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -2978,6 +3284,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3048,6 +3360,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3121,6 +3439,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3181,6 +3505,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3244,6 +3574,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3314,6 +3650,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3384,6 +3726,12 @@ paths: style: simple x-last-modified: 1663949674724 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3444,6 +3792,12 @@ paths: description: "" operationId: remove_all_teams responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3493,6 +3847,12 @@ paths: get: operationId: get_team_collection responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3543,6 +3903,12 @@ paths: description: "" operationId: partial_update_all_teams responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3600,6 +3966,12 @@ paths: description: "" operationId: create_new_team responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3657,6 +4029,12 @@ paths: description: "" operationId: bulk_update_all_teams responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3730,6 +4108,12 @@ paths: style: simple x-last-modified: 1663949613648 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3792,6 +4176,12 @@ paths: style: simple x-last-modified: 1663949613648 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3855,6 +4245,12 @@ paths: style: simple x-last-modified: 1663949613648 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3927,6 +4323,12 @@ paths: style: simple x-last-modified: 1663949613648 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -3997,6 +4399,12 @@ paths: style: simple x-last-modified: 1663949613648 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -4071,6 +4479,12 @@ paths: style: simple x-last-modified: 1663949613648 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -4136,6 +4550,12 @@ paths: style: simple x-last-modified: 1665069480649 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -4201,6 +4621,12 @@ paths: style: simple x-last-modified: 1665069480649 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": @@ -4266,6 +4692,12 @@ paths: style: simple x-last-modified: 1665069480649 responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access "200": description: Operation succeeded "401": From e8a18256897c319c42310b04df2f003def7778d3 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 8 Oct 2022 13:18:03 +0200 Subject: [PATCH 11/63] Add more schemas --- openapi.yaml | 57 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 53 insertions(+), 4 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 3de1143..8ea6faa 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -4752,7 +4752,7 @@ components: description: Authorization header explode: false schema: - type: string + $ref: "#/components/schemas/AuthorizationHeader" style: simple X-RateLimit-Remaining: description: The number of remaining requests in the current period @@ -4814,8 +4814,7 @@ components: explode: false required: false schema: - format: md5 - type: string + $ref: "#/components/schemas/Md5" style: simple WWW-Authenticate: deprecated: false @@ -4825,7 +4824,7 @@ components: explode: false required: false schema: - type: string + $ref: "#/components/schemas/WwwAuthenticate" style: simple Location: deprecated: false @@ -5013,6 +5012,43 @@ components: $ref: "#/components/schemas/ServiceUnavailableError" x-last-modified: 1665057340292 schemas: + AuthorizationHeader: + properties: + AuthorizationHeader: + type: string + format: string + maxLength: 33 + maximum: 33 + additionalProperties: false + required: + - AuthorizationHeader + type: object + x-last-modified: 1665056674054 + WwwAuthenticate: + properties: + WwwAuthenticate: + type: string + format: string + maxLength: 33 + maximum: 33 + additionalProperties: false + required: + - WwwAuthenticate + type: object + x-last-modified: 1665056674054 + Md5: + properties: + Md5: + type: string + format: string + maxLength: 33 + maximum: 33 + pattern: "^[A-F0-9]{32}$" + additionalProperties: false + required: + - Md5 + type: object + x-last-modified: 1665056674054 Timeframe: properties: timeframe: @@ -5064,6 +5100,7 @@ components: - code - message type: object + additionalProperties: false x-last-modified: 1665056674054 ServiceUnavailableError: properties: @@ -5076,6 +5113,7 @@ components: required: - code - message + additionalProperties: false type: object x-last-modified: 1665056674054 NotImplementedError: @@ -5090,6 +5128,7 @@ components: - code - message type: object + additionalProperties: false x-last-modified: 1665056674054 TooManyRequestsError: properties: @@ -5103,6 +5142,7 @@ components: - code - message type: object + additionalProperties: false x-last-modified: 1665056674054 RequestTimeoutError: properties: @@ -5116,6 +5156,7 @@ components: - code - message type: object + additionalProperties: false x-last-modified: 1665056674054 NotAcceptableError: properties: @@ -5129,6 +5170,7 @@ components: - code - message type: object + additionalProperties: false x-last-modified: 1665056674054 NotFoundError: properties: @@ -5142,6 +5184,7 @@ components: - code - message type: object + additionalProperties: false x-last-modified: 1665056674054 ForbiddenError: properties: @@ -5155,6 +5198,7 @@ components: - code - message type: object + additionalProperties: false x-last-modified: 1665056674054 Accepted: properties: @@ -5168,6 +5212,7 @@ components: - code - message type: object + additionalProperties: false x-last-modified: 1665056674054 NoContent: properties: @@ -5184,6 +5229,7 @@ components: - code - message type: object + additionalProperties: false x-last-modified: 1665056674054 IllegalInputError: properties: @@ -5200,6 +5246,7 @@ components: - code - message type: object + additionalProperties: false x-last-modified: 1665056674054 UnauthorizedError: properties: @@ -5218,6 +5265,7 @@ components: - message title: UnauthorizedError type: object + additionalProperties: false x-last-modified: 1665056676293 ServerError: properties: @@ -5232,6 +5280,7 @@ components: - code - message type: object + additionalProperties: false x-last-modified: 1665056677454 # Error: # example: From 2260c50798466c8362200bf60b04a3bc212b8c49 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 8 Oct 2022 13:48:38 +0200 Subject: [PATCH 12/63] New generation from openapi file --- .gitignore | 1 - .openapi-generator/FILES | 59 +- .vscode/settings.json | 5 + README.md | 2 +- openapi.yaml | 1132 +++++++------- setup.cfg | 2 +- .../apis/account_registration_api.py | 83 ++ src/openapi_server/apis/administration_api.py | 607 ++++++++ src/openapi_server/apis/adminstration_api.py | 209 +++ .../apis/api_token_validation_api.py | 79 + src/openapi_server/apis/authentication_api.py | 159 ++ src/openapi_server/apis/database_api.py | 57 + src/openapi_server/apis/default_api.py | 1294 +---------------- src/openapi_server/apis/definition_api.py | 55 + src/openapi_server/apis/information_api.py | 329 +++++ src/openapi_server/apis/internal_api.py | 106 ++ src/openapi_server/apis/leaderboards_api.py | 164 +++ src/openapi_server/apis/match_data_api.py | 167 +++ .../apis/profile_administration_api.py | 177 +++ src/openapi_server/apis/statistics_api.py | 199 +++ src/openapi_server/apis/status_check_api.py | 54 + .../apis/team_administration_api.py | 228 +++ src/openapi_server/apis/teams_api.py | 140 ++ .../apis/tournament_administration_api.py | 550 +++++++ src/openapi_server/apis/tournaments_api.py | 141 ++ .../apis/user_administration_api.py | 281 ++++ .../apis/user_adminstration_api.py | 58 + src/openapi_server/main.py | 44 +- src/openapi_server/models/accepted.py | 36 + .../models/authorization_header.py | 29 + src/openapi_server/models/forbidden_error.py | 36 + .../models/illegal_input_error.py | 10 + src/openapi_server/models/md5.py | 34 + src/openapi_server/models/no_content.py | 46 + .../models/not_acceptable_error.py | 36 + src/openapi_server/models/not_found_error.py | 36 + .../models/not_implemented_error.py | 36 + src/openapi_server/models/relic_link_id.py | 34 + .../models/request_timeout_error.py | 36 + .../models/service_unavailable_error.py | 36 + src/openapi_server/models/timeframe.py | 34 + .../models/too_many_requests_error.py | 36 + src/openapi_server/models/ulid.py | 34 + .../models/unauthorized_error.py | 10 + .../models/unsupported_media_type_error.py | 36 + src/openapi_server/models/www_authenticate.py | 29 + src/openapi_server/security_api.py | 19 + tests/test_account_registration_api.py | 52 + tests/test_administration_api.py | 415 ++++++ tests/test_adminstration_api.py | 134 ++ tests/test_api_token_validation_api.py | 52 + tests/test_authentication_api.py | 112 ++ tests/test_database_api.py | 33 + tests/test_definition_api.py | 32 + tests/test_information_api.py | 234 +++ tests/test_internal_api.py | 71 + tests/test_leaderboards_api.py | 113 ++ tests/test_match_data_api.py | 114 ++ tests/test_profile_administration_api.py | 114 ++ tests/test_statistics_api.py | 135 ++ tests/test_status_check_api.py | 31 + tests/test_team_administration_api.py | 154 ++ tests/test_teams_api.py | 93 ++ tests/test_tournament_administration_api.py | 374 +++++ tests/test_tournaments_api.py | 93 ++ tests/test_user_administration_api.py | 193 +++ tests/test_user_adminstration_api.py | 33 + 67 files changed, 7773 insertions(+), 1794 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 src/openapi_server/apis/account_registration_api.py create mode 100644 src/openapi_server/apis/administration_api.py create mode 100644 src/openapi_server/apis/adminstration_api.py create mode 100644 src/openapi_server/apis/api_token_validation_api.py create mode 100644 src/openapi_server/apis/authentication_api.py create mode 100644 src/openapi_server/apis/database_api.py create mode 100644 src/openapi_server/apis/definition_api.py create mode 100644 src/openapi_server/apis/information_api.py create mode 100644 src/openapi_server/apis/internal_api.py create mode 100644 src/openapi_server/apis/leaderboards_api.py create mode 100644 src/openapi_server/apis/match_data_api.py create mode 100644 src/openapi_server/apis/profile_administration_api.py create mode 100644 src/openapi_server/apis/statistics_api.py create mode 100644 src/openapi_server/apis/status_check_api.py create mode 100644 src/openapi_server/apis/team_administration_api.py create mode 100644 src/openapi_server/apis/teams_api.py create mode 100644 src/openapi_server/apis/tournament_administration_api.py create mode 100644 src/openapi_server/apis/tournaments_api.py create mode 100644 src/openapi_server/apis/user_administration_api.py create mode 100644 src/openapi_server/apis/user_adminstration_api.py create mode 100644 src/openapi_server/models/accepted.py create mode 100644 src/openapi_server/models/authorization_header.py create mode 100644 src/openapi_server/models/forbidden_error.py create mode 100644 src/openapi_server/models/md5.py create mode 100644 src/openapi_server/models/no_content.py create mode 100644 src/openapi_server/models/not_acceptable_error.py create mode 100644 src/openapi_server/models/not_found_error.py create mode 100644 src/openapi_server/models/not_implemented_error.py create mode 100644 src/openapi_server/models/relic_link_id.py create mode 100644 src/openapi_server/models/request_timeout_error.py create mode 100644 src/openapi_server/models/service_unavailable_error.py create mode 100644 src/openapi_server/models/timeframe.py create mode 100644 src/openapi_server/models/too_many_requests_error.py create mode 100644 src/openapi_server/models/ulid.py create mode 100644 src/openapi_server/models/unsupported_media_type_error.py create mode 100644 src/openapi_server/models/www_authenticate.py create mode 100644 tests/test_account_registration_api.py create mode 100644 tests/test_administration_api.py create mode 100644 tests/test_adminstration_api.py create mode 100644 tests/test_api_token_validation_api.py create mode 100644 tests/test_authentication_api.py create mode 100644 tests/test_database_api.py create mode 100644 tests/test_definition_api.py create mode 100644 tests/test_information_api.py create mode 100644 tests/test_internal_api.py create mode 100644 tests/test_leaderboards_api.py create mode 100644 tests/test_match_data_api.py create mode 100644 tests/test_profile_administration_api.py create mode 100644 tests/test_statistics_api.py create mode 100644 tests/test_status_check_api.py create mode 100644 tests/test_team_administration_api.py create mode 100644 tests/test_teams_api.py create mode 100644 tests/test_tournament_administration_api.py create mode 100644 tests/test_tournaments_api.py create mode 100644 tests/test_user_administration_api.py create mode 100644 tests/test_user_adminstration_api.py diff --git a/.gitignore b/.gitignore index 5bd7933..a81c8ee 100644 --- a/.gitignore +++ b/.gitignore @@ -136,4 +136,3 @@ dmypy.json # Cython debug symbols cython_debug/ -.vscode/settings.json diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index b777d01..5d95f60 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -1,6 +1,5 @@ .flake8 .gitignore -.openapi-generator-ignore Dockerfile README.md docker-compose.yaml @@ -9,14 +8,68 @@ pyproject.toml requirements.txt setup.cfg src/openapi_server/apis/__init__.py +src/openapi_server/apis/account_registration_api.py +src/openapi_server/apis/administration_api.py +src/openapi_server/apis/adminstration_api.py +src/openapi_server/apis/api_token_validation_api.py +src/openapi_server/apis/authentication_api.py +src/openapi_server/apis/database_api.py src/openapi_server/apis/default_api.py +src/openapi_server/apis/definition_api.py +src/openapi_server/apis/information_api.py +src/openapi_server/apis/internal_api.py +src/openapi_server/apis/leaderboards_api.py +src/openapi_server/apis/match_data_api.py +src/openapi_server/apis/profile_administration_api.py +src/openapi_server/apis/statistics_api.py +src/openapi_server/apis/status_check_api.py +src/openapi_server/apis/team_administration_api.py +src/openapi_server/apis/teams_api.py +src/openapi_server/apis/tournament_administration_api.py +src/openapi_server/apis/tournaments_api.py +src/openapi_server/apis/user_administration_api.py +src/openapi_server/apis/user_adminstration_api.py src/openapi_server/main.py src/openapi_server/models/__init__.py -src/openapi_server/models/error.py +src/openapi_server/models/accepted.py +src/openapi_server/models/authorization_header.py src/openapi_server/models/extra_models.py +src/openapi_server/models/forbidden_error.py src/openapi_server/models/illegal_input_error.py +src/openapi_server/models/md5.py +src/openapi_server/models/no_content.py +src/openapi_server/models/not_acceptable_error.py +src/openapi_server/models/not_found_error.py +src/openapi_server/models/not_implemented_error.py +src/openapi_server/models/relic_link_id.py +src/openapi_server/models/request_timeout_error.py src/openapi_server/models/server_error.py +src/openapi_server/models/service_unavailable_error.py +src/openapi_server/models/timeframe.py +src/openapi_server/models/too_many_requests_error.py +src/openapi_server/models/ulid.py src/openapi_server/models/unauthorized_error.py +src/openapi_server/models/unsupported_media_type_error.py +src/openapi_server/models/www_authenticate.py src/openapi_server/security_api.py tests/conftest.py -tests/test_default_api.py +tests/test_account_registration_api.py +tests/test_administration_api.py +tests/test_adminstration_api.py +tests/test_api_token_validation_api.py +tests/test_authentication_api.py +tests/test_database_api.py +tests/test_definition_api.py +tests/test_information_api.py +tests/test_internal_api.py +tests/test_leaderboards_api.py +tests/test_match_data_api.py +tests/test_profile_administration_api.py +tests/test_statistics_api.py +tests/test_status_check_api.py +tests/test_team_administration_api.py +tests/test_teams_api.py +tests/test_tournament_administration_api.py +tests/test_tournaments_api.py +tests/test_user_administration_api.py +tests/test_user_adminstration_api.py diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c12eafe --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "yaml.schemas": { + "openapi:v3": "file:///c%3A/Users/dailyuse/dev-src/librematch-backend/openapi.yaml" + } +} \ No newline at end of file diff --git a/README.md b/README.md index 34a7253..02c5427 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 1.0.0 +- API version: 1.0.0-DRAFT - Build package: org.openapitools.codegen.languages.PythonFastAPIServerCodegen ## Requirements. diff --git a/openapi.yaml b/openapi.yaml index 8ea6faa..16f5395 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -16,7 +16,7 @@ info: x-logo: url: "" servers: - - description: "Libre:Match Server v1" + - description: Libre:Match Server v1 url: https://api.librematch.org/v1 x-last-modified: 1663947810574 security: @@ -25,12 +25,9 @@ security: paths: /dumps/{timeframe}: description: Download database dumps - servers: - - url: https://dumps.librematch.org - description: Override base path for all operations with the /dumps path get: - operationId: get_database_dump_collection description: Download a database dump from a given timeframe + operationId: get_database_dump_collection parameters: - deprecated: false description: The timeframe from which to download a database dump @@ -60,41 +57,46 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 - tags: ["Database", "Statistics"] + tags: + - Database + - Statistics + servers: + - description: Override base path for all operations with the /dumps path + url: https://dumps.librematch.org /games: get: operationId: get_game_identifier_collection @@ -116,35 +118,36 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve a list of all game identifiers for games - tags: ["Information"] + tags: + - Information summary: Endpoint for game-specific data x-last-modified: 1663947918891 /games/{game_id}/definitions: @@ -181,35 +184,36 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve all available definitions for a specific game - tags: ["Definition"] + tags: + - Definition summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1663948104836 /games/{game_id}/info: @@ -246,35 +250,36 @@ paths: description: Unauthorized access. x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve all available information for a specific game - tags: ["Information"] + tags: + - Information summary: "information about server maintenance times, DLC stuff, patch releases,\ \ etc." @@ -313,35 +318,36 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve all matches for a specific game - tags: ["Match data"] + tags: + - Match data summary: "match data spanning over the complete game (all leaderboards, basically\ \ a log" @@ -368,42 +374,43 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Remove all tournaments - tags: ["Tournament Administration"] + tags: + - Tournament Administration get: operationId: get_tournament_identifier_collection responses: @@ -424,44 +431,46 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all available tournaments for all games available on the Relic Link platform - tags: ["Information", "Tournament Administration"] + tags: + - Information + - Tournament Administration patch: description: "" operationId: partial_update_tournaments @@ -483,49 +492,50 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Partial update of tournaments - tags: ["Tournament Administration"] + tags: + - Tournament Administration post: description: "" operationId: create_new_tournament @@ -547,49 +557,50 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Create a new tournament for a game available on the Relic Link platform - tags: ["Tournament Administration"] + tags: + - Tournament Administration put: description: "" operationId: bulk_update_all_tournaments @@ -611,49 +622,50 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update of tournaments - tags: ["Tournament Administration"] + tags: + - Tournament Administration summary: Endpoint for tournament information x-last-modified: 1663948422917 /profiles: @@ -677,35 +689,36 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve all available profiles - tags: ["Administration"] + tags: + - Administration summary: Endpoint for player profiles on the Relic Link platform x-last-modified: 1663948530301 /profiles/{relic_link_id}: @@ -742,35 +755,36 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve the details for a specific profile - tags: ["Information"] + tags: + - Information summary: Profile information for a Relic Link player_ID x-last-modified: 1663948567394 /profiles/{relic_link_id}/matches: @@ -807,35 +821,36 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve all matches for a specific profile - tags: ["Match data"] + tags: + - Match data summary: match data for a certain Relic Link profile x-last-modified: 1663948607956 /users: @@ -860,35 +875,36 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Remove all users from our platform - tags: ["User Administration"] + tags: + - User Administration get: description: Authenticated Endpoint for Administrators or Libre:Match operationId: get_user_collection @@ -910,35 +926,36 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve all users of our platform - tags: ["User Administration"] + tags: + - User Administration patch: description: "" operationId: partial_update_all_users @@ -960,42 +977,43 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Partially update details for all user profiles - tags: ["User Administration"] + tags: + - User Administration post: description: "" operationId: create_new_user @@ -1020,42 +1038,45 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Create a new user for our platform - tags: ["Authentication", "Account Registration", "User Administration"] + tags: + - Authentication + - Account Registration + - User Administration put: description: "" operationId: bulk_update_all_users @@ -1077,42 +1098,43 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Bulk update of all users of our platform - tags: ["User Administration"] + tags: + - User Administration summary: Endpoint for users of our API x-last-modified: 1663948638250 /users/{user_id}: @@ -1148,35 +1170,36 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Remove user from our platform if it exists - tags: ["User Administration"] + tags: + - User Administration get: operationId: get_details_for_user parameters: @@ -1208,35 +1231,37 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve details for a specific user profile on our platform - tags: ["Information", "User Administration"] + tags: + - Information + - User Administration patch: description: "" operationId: partial_update_user @@ -1269,42 +1294,43 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Update details for a specific user profile on our platform if it exists - tags: ["User Administration"] + tags: + - User Administration put: description: "" operationId: bulk_update_all_user_details @@ -1337,44 +1363,45 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Bulk update details for a specific user profile on our platform if it exists - tags: ["User Administration"] + tags: + - User Administration summary: user profile for an API user x-last-modified: 1663948686307 /users/login: @@ -1398,41 +1425,42 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 - tags: ["Authentication"] + tags: + - Authentication summary: Login for users of our API x-last-modified: 1663948709646 /users/logout: @@ -1456,34 +1484,35 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 - tags: ["Authentication"] + tags: + - Authentication summary: Logout for users of our API x-last-modified: 1663948774846 /users/register: @@ -1507,41 +1536,42 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 - tags: ["Account Registration"] + tags: + - Account Registration summary: Registering as a new User to our API x-last-modified: 1663948797787 /users/validate: @@ -1568,34 +1598,36 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 - tags: ["Authentication", "API Token Validation"] + tags: + - Authentication + - API Token Validation post: operationId: create_new_user_validation responses: @@ -1616,41 +1648,43 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 - tags: ["Authentication", "API Token Validation"] + tags: + - Authentication + - API Token Validation summary: Validation for a user account and api tokens used for our API x-last-modified: 1663948876606 /application: @@ -1674,35 +1708,37 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve a list of available application information - tags: ["Internal", "Administration"] + tags: + - Internal + - Administration summary: "General information and data about Libre:Match app, e.g. API updates,\ \ possible upcoming maintenance and other news/stuff" @@ -1728,35 +1764,37 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve a list of only application statistics - tags: ["Internal", "Administration"] + tags: + - Internal + - Administration summary: "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ \ amount of users, etc." @@ -1782,38 +1820,41 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "503": description: Service Unavailable x-last-modified: 1665057340292 summary: Retrieve only application status - tags: ["Internal", "Administration", "Status Check"] + tags: + - Internal + - Administration + - Status Check summary: Status updates for health checks of our API x-last-modified: 1663948961011 /games/{game_id}: @@ -1850,32 +1891,32 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve details for a game with a specific identifiers summary: "game-specific definitions, e.g. map names, civilisation names, translations" @@ -1914,35 +1955,36 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve all leaderboards for a specific game - tags: ["Leaderboards"] + tags: + - Leaderboards summary: Collection of leaderboard data spanning over the complete game x-last-modified: 1665053521883 /leaderboards/{leaderboard_id}: @@ -1979,35 +2021,36 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve details for a specific leaderboard - tags: ["Leaderboards"] + tags: + - Leaderboards summary: game-specific leaderboards on the Relic Link platform x-last-modified: 1665053547091 /leaderboards/{leaderboard_id}/stats: @@ -2044,42 +2087,44 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all stats on a specific leaderboard for a certain game - tags: ["Leaderboards", "Statistics"] + tags: + - Leaderboards + - Statistics summary: Collection of stats for a specific leaderboard x-last-modified: 1665053642553 /leaderboards/{leaderboard_id}/matches: @@ -2116,35 +2161,37 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve all matches on a specific leaderboard for a certain game - tags: ["Leaderboards", "Match data"] + tags: + - Leaderboards + - Match data summary: Collection of match data for a specific leaderboard x-last-modified: 1665053682780 /leaderboards: @@ -2168,35 +2215,37 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 summary: Retrieve all leaderboards - tags: ["Leaderboards", "Information"] + tags: + - Leaderboards + - Information summary: Collection of all leaderboard data on the Relic Link platform x-last-modified: 1665053727563 /tournaments/{tournament_id}: @@ -2231,44 +2280,45 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Remove a tournament for a specific game available on the Relic Link platform - tags: ["Adminstration"] + tags: + - Adminstration get: operationId: get_details_for_tournament parameters: @@ -2299,44 +2349,45 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve details for a tournament for a specific game available on the Relic Link platform - tags: ["Information"] + tags: + - Information patch: description: "" operationId: partial_update_tournament_details @@ -2368,51 +2419,52 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Partially update a tournament for a specific game available on the Relic Link platform - tags: ["Adminstration"] + tags: + - Adminstration put: description: "" operationId: update_tournament_details @@ -2444,49 +2496,50 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Update details for a tournament for a specific game - tags: ["Adminstration"] + tags: + - Adminstration summary: game-specific tournaments x-last-modified: 1665054574222 /users/{user_id}/stats: @@ -2521,42 +2574,43 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Remove all stats for a specific user profile on our platform - tags: ["User Adminstration"] + tags: + - User Adminstration get: operationId: get_stat_collection_for_user parameters: @@ -2587,42 +2641,43 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all stats for a specific user profile on our platform - tags: ["Statistics"] + tags: + - Statistics patch: description: "" operationId: partial_update_user_stats @@ -2654,49 +2709,50 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Partially update stats for a specific user profile on our platform - tags: ["Adminstration"] + tags: + - Adminstration post: description: "" operationId: create_new_user_stats @@ -2728,49 +2784,50 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Create a new stat for a specific user profile on our platform - tags: ["Adminstration"] + tags: + - Adminstration put: description: "" operationId: bulk_update_all_user_stats @@ -2802,54 +2859,54 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update of stats for a specific user profile on our platform - tags: ["Adminstration"] + tags: + - Adminstration summary: user profile for an API user x-last-modified: 1665054653031 /tournaments/{tournament_id}/info: get: - summary: Retrieve all information for a specific tournament for a specific game operationId: get_info_collection_for_tournament parameters: - deprecated: false @@ -2879,41 +2936,45 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 - tags: ["Information", "Tournaments", "Tournament Administration"] + summary: Retrieve all information for a specific tournament for a specific game + tags: + - Information + - Tournaments + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665054963238 /tournaments/{tournament_id}/stats: @@ -2947,42 +3008,45 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all statistics for a specific tournament for a specific game - tags: ["Statistics", "Tournaments", "Tournament Administration"] + tags: + - Statistics + - Tournaments + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665054963238 /tournaments/{tournament_id}/matches: @@ -3016,42 +3080,45 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all match data for a specific tournament for a specific game - tags: ["Match data", "Tournaments", "Tournament Administration"] + tags: + - Match data + - Tournaments + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665054963238 /tournaments/{tournament_id}/brackets: @@ -3086,42 +3153,43 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Remove all brackets for a specific tournament for a specific game - tags: ["Tournament Administration"] + tags: + - Tournament Administration get: operationId: get_bracket_collection_for_tournament parameters: @@ -3152,44 +3220,47 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform - tags: ["Information", "Tournaments", "Tournament Administration"] + tags: + - Information + - Tournaments + - Tournament Administration patch: description: "" operationId: partial_update_bracket_for_tournament @@ -3202,9 +3273,9 @@ paths: required: true schema: format: ulid - type: string - pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$ maxLength: 26 + pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" + type: string style: simple x-last-modified: 1663949674724 responses: @@ -3224,51 +3295,53 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform - tags: ["Administration", "Tournament Administration"] + tags: + - Administration + - Tournament Administration post: description: "" operationId: create_new_bracket_for_tournament @@ -3300,51 +3373,53 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Create a new bracket for a specific tournament for a specific game available on the Relic Link platform - tags: ["Administration", "Tournament Administration"] + tags: + - Administration + - Tournament Administration put: description: "" operationId: bulk_update_all_brackets_for_tournament @@ -3376,51 +3451,53 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform - tags: ["Administration", "Tournament Administration"] + tags: + - Administration + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665054981775 /tournaments/{tournament_id}/admins: @@ -3455,42 +3532,44 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Remove all admins for a specific tournament for a specific game - tags: ["Administration", "Tournament Administration"] + tags: + - Administration + - Tournament Administration get: operationId: get_admin_collection_for_tournament parameters: @@ -3521,44 +3600,46 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform - tags: ["Administration", "Tournament Administration"] + tags: + - Administration + - Tournament Administration patch: description: "" operationId: partial_update_all_admins_for_tournament @@ -3590,51 +3671,53 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Update details of admins for a specific tournament for a specific game available on the Relic Link platform - tags: ["Administration", "Tournament Administration"] + tags: + - Administration + - Tournament Administration post: description: "" operationId: create_new_admin_for_tournament @@ -3666,51 +3749,53 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Create a new admin for a specific tournament for a specific game available on the Relic Link platform - tags: ["Administration", "Tournament Administration"] + tags: + - Administration + - Tournament Administration put: description: "" operationId: bulk_update_all_admins_for_tournament @@ -3742,49 +3827,51 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update of admins for a specific tournament for a specific game - tags: ["Administration", "Tournament Administration"] + tags: + - Administration + - Tournament Administration summary: Endpoint for tournament admins x-last-modified: 1665055638796 /teams: @@ -3808,42 +3895,44 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Remove all teams - tags: ["Teams", "Team Administration"] + tags: + - Teams + - Team Administration get: operationId: get_team_collection responses: @@ -3863,42 +3952,45 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all available teams - tags: ["Information", "Teams", "Team Administration"] + tags: + - Information + - Teams + - Team Administration patch: description: "" operationId: partial_update_all_teams @@ -3919,49 +4011,51 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Partial update of all teams - tags: ["Administration", "Team Administration"] + tags: + - Administration + - Team Administration post: description: "" operationId: create_new_team @@ -3982,49 +4076,51 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Create a new team - tags: ["Administration", "Team Administration"] + tags: + - Administration + - Team Administration put: description: "" operationId: bulk_update_all_teams @@ -4045,49 +4141,51 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update of teams - tags: ["Administration", "Team Administration"] + tags: + - Administration + - Team Administration summary: Endpoint for team information x-last-modified: 1665138931985 /profiles/{relic_link_id}/settings: @@ -4124,42 +4222,44 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Remove all settings for a specific profile - tags: ["Profile Administration", "Administration"] + tags: + - Profile Administration + - Administration get: operationId: get_setting_collection_for_profile parameters: @@ -4192,42 +4292,45 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all settings for a specific profile - tags: ["Profile Administration", "Administration", "Information"] + tags: + - Profile Administration + - Administration + - Information patch: description: "" operationId: partial_update_all_settings_for_profile @@ -4261,51 +4364,53 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Update a specific setting for a specific profile from the Relic Link API - tags: ["Profile Administration", "Administration"] + tags: + - Profile Administration + - Administration post: description: "" operationId: create_new_setting_for_profile @@ -4339,49 +4444,51 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Create a new setting for a specific profile from the Relic Link API - tags: ["Profile Administration", "Administration"] + tags: + - Profile Administration + - Administration put: description: "" operationId: bulk_update_all_settings_for_profile @@ -4415,51 +4522,53 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Bulk update of settings for a specific profile from the Relic Link API - tags: ["Profile Administration", "Administration"] + tags: + - Profile Administration + - Administration summary: Collection of settings specifically for a certain Relic Link profile x-last-modified: 1665138974395 /profiles/{relic_link_id}/stats: @@ -4495,42 +4604,43 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve all stats for a specific profile - tags: ["Statistics"] + tags: + - Statistics summary: Collection of statistics specifically for a certain Relic Link profile x-last-modified: 1665138997585 /teams/{team_id}: @@ -4566,42 +4676,44 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve details of a team - tags: ["Teams", "Team Administration"] + tags: + - Teams + - Team Administration summary: Team information x-last-modified: 1665139023265 /teams/{team_id}/matches: @@ -4637,42 +4749,43 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve a list of matches for a specific team - tags: ["Match data"] + tags: + - Match data summary: Collection of match information for a team x-last-modified: 1665139050992 /teams/{team_id}/stats: @@ -4708,42 +4821,45 @@ paths: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 summary: Retrieve a list of stats for a specific team - tags: ["Statistics", "Teams", "Team Administration"] + tags: + - Statistics + - Teams + - Team Administration summary: Collection of stats for a team x-last-modified: 1665139090952 components: @@ -4793,9 +4909,9 @@ components: explode: false required: false schema: - type: string maxLength: 32 - pattern: ^example-[0-9a-z]+$ + pattern: "^example-[0-9a-z]+$" + type: string style: simple If-Modified-Since: deprecated: false @@ -4832,9 +4948,9 @@ components: explode: false required: false schema: - type: string maxLength: 32 - pattern: ^example-[0-9a-z]+$ + pattern: "^example-[0-9a-z]+$" + type: string style: simple parameters: relic_link_id: @@ -4876,8 +4992,9 @@ components: x-last-modified: 1663949692803 game_id: deprecated: false - description: The unique identifier we use for games that use the Relic - Link API + description: + The unique identifier we use for games that use the Relic Link + API explode: false in: path name: game_id @@ -4918,18 +5035,18 @@ components: description: Created x-last-modified: 1665072508175 "202": - description: Accepted content: application/json: schema: $ref: "#/components/schemas/Accepted" + description: Accepted x-last-modified: 1665057162357 "204": - description: No Content content: application/json: schema: $ref: "#/components/schemas/NoContent" + description: No Content x-last-modified: 1665056770881 "304": description: Not Modified @@ -4949,160 +5066,164 @@ components: description: Unauthorized access x-last-modified: 1665072543221 "403": - description: Forbidden content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" + description: Forbidden x-last-modified: 1665056800086 "404": - description: Entity not found content: application/json: schema: $ref: "#/components/schemas/NotFoundError" + description: Entity not found x-last-modified: 1665056674861 "406": - description: Not acceptable content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable x-last-modified: 1665056674861 "408": - description: Request Timeout content: application/json: schema: $ref: "#/components/schemas/RequestTimeoutError" + description: Request Timeout x-last-modified: 1665057248987 "415": - description: Unsupported Media Type content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" + description: Unsupported Media Type x-last-modified: 1665057248987 "429": - description: Too Many Requests content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests x-last-modified: 1665056827121 "500": - description: Server Error content: application/json: schema: $ref: "#/components/schemas/ServerError" + description: Server Error x-last-modified: 1665056677455 "501": - description: Not Implemented content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" + description: Not Implemented x-last-modified: 1665058119290 "503": - description: Service Unavailable content: application/json: schema: $ref: "#/components/schemas/ServiceUnavailableError" + description: Service Unavailable x-last-modified: 1665057340292 schemas: AuthorizationHeader: + additionalProperties: false properties: AuthorizationHeader: - type: string format: string maxLength: 33 maximum: 33 - additionalProperties: false + type: string required: - AuthorizationHeader type: object x-last-modified: 1665056674054 WwwAuthenticate: + additionalProperties: false properties: WwwAuthenticate: - type: string format: string maxLength: 33 maximum: 33 - additionalProperties: false + type: string required: - WwwAuthenticate type: object x-last-modified: 1665056674054 Md5: + additionalProperties: false properties: Md5: - type: string format: string maxLength: 33 maximum: 33 pattern: "^[A-F0-9]{32}$" - additionalProperties: false + type: string required: - Md5 type: object x-last-modified: 1665056674054 Timeframe: + additionalProperties: false properties: timeframe: - type: string format: string maxLength: 15 maximum: 15 - pattern: "^example-TODO$" - additionalProperties: false + pattern: ^example-TODO$ + type: string required: - timeframe type: object x-last-modified: 1665056674054 RelicLinkId: + additionalProperties: false properties: relic_link_id: - type: integer format: int64 maximum: 999999999 minimum: 0 - additionalProperties: false + type: integer required: - relic_link_id type: object x-last-modified: 1665056674054 Ulid: + additionalProperties: false properties: ulid: + format: ulid + maxLength: 26 maximum: 26 minimum: 26 + pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" type: string - format: ulid - pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$ - maxLength: 26 - additionalProperties: false required: - ulid type: object x-last-modified: 1665056674054 UnsupportedMediaTypeError: + additionalProperties: false properties: message: + title: message type: string code: maximum: 415 minimum: 415 + title: code type: integer required: - code - message + title: UnsupportedMediaTypeError type: object - additionalProperties: false x-last-modified: 1665056674054 ServiceUnavailableError: + additionalProperties: false properties: message: type: string @@ -5113,38 +5234,44 @@ components: required: - code - message - additionalProperties: false type: object x-last-modified: 1665056674054 NotImplementedError: + additionalProperties: false properties: message: + title: message type: string code: maximum: 501 minimum: 501 + title: code type: integer required: - code - message + title: NotImplementedError type: object - additionalProperties: false x-last-modified: 1665056674054 TooManyRequestsError: + additionalProperties: false properties: message: + title: message type: string code: maximum: 429 minimum: 429 + title: code type: integer required: - code - message + title: TooManyRequestsError type: object - additionalProperties: false x-last-modified: 1665056674054 RequestTimeoutError: + additionalProperties: false properties: message: type: string @@ -5156,51 +5283,60 @@ components: - code - message type: object - additionalProperties: false x-last-modified: 1665056674054 NotAcceptableError: + additionalProperties: false properties: message: + title: message type: string code: maximum: 406 minimum: 406 + title: code type: integer required: - code - message + title: NotAcceptableError type: object - additionalProperties: false x-last-modified: 1665056674054 NotFoundError: + additionalProperties: false properties: message: + title: message type: string code: maximum: 404 minimum: 404 + title: code type: integer required: - code - message + title: NotFoundError type: object - additionalProperties: false x-last-modified: 1665056674054 ForbiddenError: + additionalProperties: false properties: message: + title: message type: string code: maximum: 403 minimum: 403 + title: code type: integer required: - code - message + title: ForbiddenError type: object - additionalProperties: false x-last-modified: 1665056674054 Accepted: + additionalProperties: false properties: message: type: string @@ -5212,15 +5348,15 @@ components: - code - message type: object - additionalProperties: false x-last-modified: 1665056674054 NoContent: + additionalProperties: false properties: message: + maxLength: 32 + pattern: "^example-[0-9a-z]+$" title: No Content type: string - pattern: ^example-[0-9a-z]+$ - maxLength: 32 code: maximum: 204 minimum: 204 @@ -5229,15 +5365,15 @@ components: - code - message type: object - additionalProperties: false x-last-modified: 1665056674054 IllegalInputError: + additionalProperties: false properties: message: + maxLength: 32 + pattern: "^example-[0-9a-z]+$" title: Bad Request type: string - pattern: ^example-[0-9a-z]+$ - maxLength: 32 code: maximum: 400 minimum: 400 @@ -5246,15 +5382,15 @@ components: - code - message type: object - additionalProperties: false x-last-modified: 1665056674054 UnauthorizedError: + additionalProperties: false properties: message: + maxLength: 32 + pattern: "^example-[0-9a-z]+$" title: Unauthorized access type: string - pattern: ^example-[0-9a-z]+$ - maxLength: 32 code: maximum: 401 minimum: 401 @@ -5265,13 +5401,12 @@ components: - message title: UnauthorizedError type: object - additionalProperties: false x-last-modified: 1665056676293 ServerError: + additionalProperties: false properties: message: type: string - code: maximum: 599 minimum: 500 @@ -5280,26 +5415,7 @@ components: - code - message type: object - additionalProperties: false x-last-modified: 1665056677454 - # Error: - # example: - # code: 400 - # message: wrong input - # properties: - # message: - # description: The error message indicating what the issue is - # type: string - # code: - # description: The http status code - # maximum: 600 - # minimum: 100 - # type: integer - # required: - # - code - # - message - # type: object - # x-last-modified: 1665057919920 securitySchemes: BasicAuth: description: "Example: \n> Authorization: " diff --git a/setup.cfg b/setup.cfg index d72b1d6..a6b3ae8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = openapi_server -version = 1.0.0 +version = 1.0.0-DRAFT description = stable, reliable and feature-rich API for match information, leaderboards, and tournament organisation for the Age of Empires multiplayer community long_description = file: README.md keywords = OpenAPI Libre:Match API diff --git a/src/openapi_server/apis/account_registration_api.py b/src/openapi_server/apis/account_registration_api.py new file mode 100644 index 0000000..885841b --- /dev/null +++ b/src/openapi_server/apis/account_registration_api.py @@ -0,0 +1,83 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.post( + "/users", + responses={ + 200: {"description": "Operation succeeded"}, + 201: {"description": "Created"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Authentication","Account Registration","User Administration"], + summary="Create a new user for our platform", + response_model_by_alias=True, +) +async def create_new_user( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/users/register", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Account Registration"], + response_model_by_alias=True, +) +async def user_register( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/administration_api.py b/src/openapi_server/apis/administration_api.py new file mode 100644 index 0000000..945ec7c --- /dev/null +++ b/src/openapi_server/apis/administration_api.py @@ -0,0 +1,607 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.relic_link_id import RelicLinkId +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.put( + "/tournaments/{tournament_id}/admins", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Bulk update of admins for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def bulk_update_all_admins_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.put( + "/tournaments/{tournament_id}/brackets", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def bulk_update_all_brackets_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.put( + "/profiles/{relic_link_id}/settings", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Profile Administration","Administration"], + summary="Bulk update of settings for a specific profile from the Relic Link API", + response_model_by_alias=True, +) +async def bulk_update_all_settings_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.put( + "/teams", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Team Administration"], + summary="Bulk update of teams", + response_model_by_alias=True, +) +async def bulk_update_all_teams( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/tournaments/{tournament_id}/admins", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Create a new admin for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def create_new_admin_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/tournaments/{tournament_id}/brackets", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Create a new bracket for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def create_new_bracket_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/profiles/{relic_link_id}/settings", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Profile Administration","Administration"], + summary="Create a new setting for a specific profile from the Relic Link API", + response_model_by_alias=True, +) +async def create_new_setting_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/teams", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Team Administration"], + summary="Create a new team", + response_model_by_alias=True, +) +async def create_new_team( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.get( + "/tournaments/{tournament_id}/admins", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def get_admin_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/application", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Internal","Administration"], + summary="Retrieve a list of available application information", + response_model_by_alias=True, +) +async def get_information_collection_for_application( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/profiles", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration"], + summary="Retrieve all available profiles", + response_model_by_alias=True, +) +async def get_profile_collection( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/profiles/{relic_link_id}/settings", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Profile Administration","Administration","Information"], + summary="Retrieve all settings for a specific profile", + response_model_by_alias=True, +) +async def get_setting_collection_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/application/statistics", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Internal","Administration"], + summary="Retrieve a list of only application statistics", + response_model_by_alias=True, +) +async def get_stat_collection_for_application( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/application/status", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 503: {"description": "Service Unavailable"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Internal","Administration","Status Check"], + summary="Retrieve only application status", + response_model_by_alias=True, +) +async def get_status_collection_for_application( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.patch( + "/tournaments/{tournament_id}/admins", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Update details of admins for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def partial_update_all_admins_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.patch( + "/profiles/{relic_link_id}/settings", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Profile Administration","Administration"], + summary="Update a specific setting for a specific profile from the Relic Link API", + response_model_by_alias=True, +) +async def partial_update_all_settings_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.patch( + "/teams", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Team Administration"], + summary="Partial update of all teams", + response_model_by_alias=True, +) +async def partial_update_all_teams( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.patch( + "/tournaments/{tournament_id}/brackets", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def partial_update_bracket_for_tournament( + tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments", regex=r"^[0-7][0-9A-HJKMNP-TV-Z]{25}$", max_length=26), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.delete( + "/tournaments/{tournament_id}/admins", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Remove all admins for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def remove_all_admins_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.delete( + "/profiles/{relic_link_id}/settings", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Profile Administration","Administration"], + summary="Remove all settings for a specific profile", + response_model_by_alias=True, +) +async def remove_all_settings_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... diff --git a/src/openapi_server/apis/adminstration_api.py b/src/openapi_server/apis/adminstration_api.py new file mode 100644 index 0000000..d2cab06 --- /dev/null +++ b/src/openapi_server/apis/adminstration_api.py @@ -0,0 +1,209 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.put( + "/users/{user_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Adminstration"], + summary="Bulk update of stats for a specific user profile on our platform", + response_model_by_alias=True, +) +async def bulk_update_all_user_stats( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/users/{user_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Adminstration"], + summary="Create a new stat for a specific user profile on our platform", + response_model_by_alias=True, +) +async def create_new_user_stats( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.patch( + "/tournaments/{tournament_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Adminstration"], + summary="Partially update a tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def partial_update_tournament_details( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.patch( + "/users/{user_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Adminstration"], + summary="Partially update stats for a specific user profile on our platform", + response_model_by_alias=True, +) +async def partial_update_user_stats( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.delete( + "/tournaments/{tournament_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Adminstration"], + summary="Remove a tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def remove_tournament_details( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.put( + "/tournaments/{tournament_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Adminstration"], + summary="Update details for a tournament for a specific game", + response_model_by_alias=True, +) +async def update_tournament_details( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... diff --git a/src/openapi_server/apis/api_token_validation_api.py b/src/openapi_server/apis/api_token_validation_api.py new file mode 100644 index 0000000..f68973f --- /dev/null +++ b/src/openapi_server/apis/api_token_validation_api.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.post( + "/users/validate", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Authentication","API Token Validation"], + response_model_by_alias=True, +) +async def create_new_user_validation( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/users/validate", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Authentication","API Token Validation"], + response_model_by_alias=True, +) +async def get_user_validation_details( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/authentication_api.py b/src/openapi_server/apis/authentication_api.py new file mode 100644 index 0000000..a376b6c --- /dev/null +++ b/src/openapi_server/apis/authentication_api.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.post( + "/users", + responses={ + 200: {"description": "Operation succeeded"}, + 201: {"description": "Created"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Authentication","Account Registration","User Administration"], + summary="Create a new user for our platform", + response_model_by_alias=True, +) +async def create_new_user( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/users/validate", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Authentication","API Token Validation"], + response_model_by_alias=True, +) +async def create_new_user_validation( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/users/validate", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Authentication","API Token Validation"], + response_model_by_alias=True, +) +async def get_user_validation_details( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.post( + "/users/login", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Authentication"], + response_model_by_alias=True, +) +async def user_login( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/users/logout", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Authentication"], + response_model_by_alias=True, +) +async def user_logout( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/database_api.py b/src/openapi_server/apis/database_api.py new file mode 100644 index 0000000..49dc757 --- /dev/null +++ b/src/openapi_server/apis/database_api.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.timeframe import Timeframe +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.get( + "/dumps/{timeframe}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Database","Statistics"], + response_model_by_alias=True, +) +async def get_database_dump_collection( + timeframe: Timeframe = Path(None, description="The timeframe from which to download a database dump"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """Download a database dump from a given timeframe""" + ... diff --git a/src/openapi_server/apis/default_api.py b/src/openapi_server/apis/default_api.py index 05eae8a..0284cf4 100644 --- a/src/openapi_server/apis/default_api.py +++ b/src/openapi_server/apis/default_api.py @@ -17,1299 +17,37 @@ ) from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid from openapi_server.models.unauthorized_error import UnauthorizedError -from openapi_server.security_api import get_token_X-Api-Key +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key router = APIRouter() -@router.put( - "/tournaments/{tournament_id}/admins", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Bulk update of admins for a specific tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def bulk_update_all_admins_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.put( - "/tournaments/{tournament_id}/brackets", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def bulk_update_all_brackets_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.put( - "/profiles/{relic_link_id}/settings", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Bulk update of settings for a specific profile from the Relic Link API", - response_model_by_alias=True, -) -async def bulk_update_all_settings_for_profile( - relic_link_id: int = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.put( - "/teams", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Bulk update of teams", - response_model_by_alias=True, -) -async def bulk_update_all_teams( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.put( - "/tournaments", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Bulk update of tournaments", - response_model_by_alias=True, -) -async def bulk_update_all_tournaments( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.put( - "/users/{user_id}", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Bulk update details for a specific user profile on our platform if it exists", - response_model_by_alias=True, -) -async def bulk_update_all_user_details( - user_id: str = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.put( - "/users/{user_id}/stats", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Bulk update of stats for a specific user profile on our platform", - response_model_by_alias=True, -) -async def bulk_update_all_user_stats( - user_id: str = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.put( - "/users", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Bulk update of all users of our platform", - response_model_by_alias=True, -) -async def bulk_update_all_users( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.post( - "/tournaments/{tournament_id}/admins", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Create a new admin for a specific tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def create_new_admin_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.post( - "/tournaments/{tournament_id}/brackets", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Create a new bracket for a specific tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def create_new_bracket_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.post( - "/profiles/{relic_link_id}/settings", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Create a new setting for a specific profile from the Relic Link API", - response_model_by_alias=True, -) -async def create_new_setting_for_profile( - relic_link_id: int = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.post( - "/teams", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Create a new team", - response_model_by_alias=True, -) -async def create_new_team( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.post( - "/tournaments", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Create a new tournament for a game available on the Relic Link platform", - response_model_by_alias=True, -) -async def create_new_tournament( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.post( - "/users", - responses={ - 200: {"description": "Operation succeeded"}, - 201: {"description": "Created"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Create a new user for our platform", - response_model_by_alias=True, -) -async def create_new_user( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.post( - "/users/{user_id}/stats", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Create a new stat for a specific user profile on our platform", - response_model_by_alias=True, -) -async def create_new_user_stats( - user_id: str = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.post( - "/users/validate", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - response_model_by_alias=True, -) -async def create_new_user_validation( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/tournaments/{tournament_id}/admins", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def get_admin_collection_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/tournaments/{tournament_id}/brackets", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def get_bracket_collection_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/games/{game_id}/definitions", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve all available definitions for a specific game using Relic Link API", - response_model_by_alias=True, -) -async def get_definition_collection_for_game( - game_id: str = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - @router.get( "/games/{game_id}", responses={ 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, }, tags=["default"], - summary="Retrieve details for a game with a specific identifier using Relic Link API", + summary="Retrieve details for a game with a specific identifiers", response_model_by_alias=True, ) async def get_details_for_game( - game_id: str = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/leaderboards/{leaderboard_id}", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve details for a specific leaderboard", - response_model_by_alias=True, -) -async def get_details_for_leaderboard( - leaderboard_id: str = Path(None, description="The unique identifier (ULID) we use for leaderboards of the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key + game_id: Ulid = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth ), -) -> None: - ... - - -@router.get( - "/profiles/{relic_link_id}", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve the details for a specific profile from the Relic Link API", - response_model_by_alias=True, -) -async def get_details_for_profile( - relic_link_id: int = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/teams/{team_id}", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve details of a team", - response_model_by_alias=True, -) -async def get_details_for_team( - game_id: str = Path(None, description="The unique identifier (ULID) we use for teams that play on games using the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/tournaments/{tournament_id}", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve details for a tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def get_details_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/users/{user_id}", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve details for a specific user profile on our platform", - response_model_by_alias=True, -) -async def get_details_for_user( - user_id: str = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/games", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve a list of all game identifiers for games using Relic Link API", - response_model_by_alias=True, -) -async def get_game_identifier_collection( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/games/{game_id}/info", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve all available information for a specific game using Relic Link API", - response_model_by_alias=True, -) -async def get_info_collection_for_game( - game_id: str = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/tournaments/{tournament_id}/info", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve all information for a specific tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def get_info_collection_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/application", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve a list of available application information", - response_model_by_alias=True, -) -async def get_information_collection_for_application( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/leaderboards", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve all leaderboards hosted on the Relic Link API", - response_model_by_alias=True, -) -async def get_leaderboard_collection( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/games/{game_id}/leaderboards", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve all leaderboards for a specific game using Relic Link API", - response_model_by_alias=True, -) -async def get_leaderboard_collection_for_game( - game_id: str = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/games/{game_id}/matches", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve all matches for a specific game using Relic Link API", - response_model_by_alias=True, -) -async def get_match_collection_for_game( - game_id: str = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/leaderboards/{leaderboard_id}/matches", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve all matches on a specific leaderboard for a certain game hosted on the Relic Link API", - response_model_by_alias=True, -) -async def get_match_collection_for_leaderboard( - leaderboard_id: str = Path(None, description="The unique identifier (ULID) we use for leaderboards of the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/profiles/{relic_link_id}/matches", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve all matches for a specific profile from the Relic Link API", - response_model_by_alias=True, -) -async def get_match_collection_for_profile( - relic_link_id: int = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/teams/{team_id}/matches", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve a list of matches for a specific team", - response_model_by_alias=True, -) -async def get_match_collection_for_team( - game_id: str = Path(None, description="The unique identifier (ULID) we use for teams that play on games using the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/profiles", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve all available profiles from the Relic Link API", - response_model_by_alias=True, -) -async def get_profile_collection( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/profiles/{relic_link_id}/settings", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve all settings for a specific profile from the Relic Link API", - response_model_by_alias=True, -) -async def get_setting_collection_for_profile( - relic_link_id: int = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/application/statistics", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve a list of only application statistics", - response_model_by_alias=True, -) -async def get_stat_collection_for_application( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/leaderboards/{leaderboard_id}/stats", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve all stats on a specific leaderboard for a certain game hosted on the Relic Link API", - response_model_by_alias=True, -) -async def get_stat_collection_for_leaderboard( - leaderboard_id: str = Path(None, description="The unique identifier (ULID) we use for leaderboards of the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/profiles/{relic_link_id}/stats", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve all stats for a specific profile from the Relic Link API", - response_model_by_alias=True, -) -async def get_stat_collection_for_profile( - relic_link_id: int = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/teams/{team_id}/stats", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve a list of stats for a specific team", - response_model_by_alias=True, -) -async def get_stat_collection_for_team( - game_id: str = Path(None, description="The unique identifier (ULID) we use for teams that play on games using the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/users/{user_id}/stats", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve all stats for a specific user profile on our platform", - response_model_by_alias=True, -) -async def get_stat_collection_for_user( - user_id: str = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/application/status", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - 503: {"description": "Service Unavailable"}, - }, - tags=["default"], - summary="Retrieve only application status", - response_model_by_alias=True, -) -async def get_status_collection_for_application( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/teams", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve all available teams", - response_model_by_alias=True, -) -async def get_team_collection( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/tournaments/{game_id}", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve all available tournaments for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def get_tournament_details_for_game( - game_id: str = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/tournaments", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Retrieve all available tournaments for all games available on the Relic Link platform", - response_model_by_alias=True, -) -async def get_tournament_identifier_collection( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/users", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Retrieve all users of our platform", - response_model_by_alias=True, -) -async def get_user_collection( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """Authenticated Endpoint for Administrators or Libre:Match""" - ... - - -@router.get( - "/users/validate", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - response_model_by_alias=True, -) -async def get_user_validation_details( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.patch( - "/tournaments/{tournament_id}/admins", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Update details of admins for a specific tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def partial_update_all_admins_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.patch( - "/profiles/{relic_link_id}/settings", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Update a specific setting for a specific profile from the Relic Link API", - response_model_by_alias=True, -) -async def partial_update_all_settings_for_profile( - relic_link_id: int = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.patch( - "/teams", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Partial update of all teams", - response_model_by_alias=True, -) -async def partial_update_all_teams( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.patch( - "/users", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Partially update details for all user profiles", - response_model_by_alias=True, -) -async def partial_update_all_users( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.patch( - "/tournaments/{tournament_id}/brackets", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def partial_update_bracket_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.patch( - "/tournaments/{tournament_id}", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Partially update a tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def partial_update_tournament_details( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.patch( - "/tournaments", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Partial update of tournaments", - response_model_by_alias=True, -) -async def partial_update_tournaments( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.patch( - "/users/{user_id}", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Update details for a specific user profile on our platform if it exists", - response_model_by_alias=True, -) -async def partial_update_user( - user_id: str = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.patch( - "/users/{user_id}/stats", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Partially update stats for a specific user profile on our platform", - response_model_by_alias=True, -) -async def partial_update_user_stats( - user_id: str = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.delete( - "/tournaments/{tournament_id}/admins", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Remove all admins for a specific tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def remove_all_admins_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.delete( - "/tournaments/{tournament_id}/brackets", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Remove all brackets for a specific tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def remove_all_brackets_for_tournament( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.delete( - "/profiles/{relic_link_id}/settings", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Remove all settings for a specific profile from the Relic Link API", - response_model_by_alias=True, -) -async def remove_all_settings_for_profile( - relic_link_id: int = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.delete( - "/teams", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Remove all teams", - response_model_by_alias=True, -) -async def remove_all_teams( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.delete( - "/tournaments", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Remove all tournaments", - response_model_by_alias=True, -) -async def remove_all_tournaments( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.delete( - "/users/{user_id}/stats", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Remove all stats for a specific user profile on our platform", - response_model_by_alias=True, -) -async def remove_all_user_stats( - user_id: str = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.delete( - "/users", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Remove all users from our platform", - response_model_by_alias=True, -) -async def remove_all_users( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.delete( - "/tournaments/{tournament_id}", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Remove a tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def remove_tournament_details( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.delete( - "/users/{user_id}", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - summary="Remove user from our platform if it exists", - response_model_by_alias=True, -) -async def remove_user( - user_id: str = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.put( - "/tournaments/{tournament_id}", - responses={ - 501: {"description": "Not Implemented"}, - }, - tags=["default"], - summary="Update details for a tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def update_tournament_details( - tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.post( - "/users/login", - responses={ - 200: {"description": "Operation succeeded"}, - }, - tags=["default"], - response_model_by_alias=True, -) -async def user_login( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.get( - "/users/logout", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - response_model_by_alias=True, -) -async def user_logout( - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - ... - - -@router.post( - "/users/register", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, - }, - tags=["default"], - response_model_by_alias=True, -) -async def user_register( token_X-Api-Key: TokenModel = Security( get_token_X-Api-Key ), diff --git a/src/openapi_server/apis/definition_api.py b/src/openapi_server/apis/definition_api.py new file mode 100644 index 0000000..fec02a4 --- /dev/null +++ b/src/openapi_server/apis/definition_api.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.get( + "/games/{game_id}/definitions", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Definition"], + summary="Retrieve all available definitions for a specific game", + response_model_by_alias=True, +) +async def get_definition_collection_for_game( + game_id: Ulid = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/information_api.py b/src/openapi_server/apis/information_api.py new file mode 100644 index 0000000..7634576 --- /dev/null +++ b/src/openapi_server/apis/information_api.py @@ -0,0 +1,329 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.relic_link_id import RelicLinkId +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.get( + "/tournaments/{tournament_id}/brackets", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","Tournaments","Tournament Administration"], + summary="Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def get_bracket_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/profiles/{relic_link_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information"], + summary="Retrieve the details for a specific profile", + response_model_by_alias=True, +) +async def get_details_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments/{tournament_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information"], + summary="Retrieve details for a tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def get_details_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/users/{user_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","User Administration"], + summary="Retrieve details for a specific user profile on our platform", + response_model_by_alias=True, +) +async def get_details_for_user( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/games", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information"], + summary="Retrieve a list of all game identifiers for games", + response_model_by_alias=True, +) +async def get_game_identifier_collection( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/games/{game_id}/info", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access."}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information"], + summary="Retrieve all available information for a specific game", + response_model_by_alias=True, +) +async def get_info_collection_for_game( + game_id: Ulid = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments/{tournament_id}/info", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","Tournaments","Tournament Administration"], + summary="Retrieve all information for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def get_info_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/leaderboards", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Leaderboards","Information"], + summary="Retrieve all leaderboards", + response_model_by_alias=True, +) +async def get_leaderboard_collection( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/profiles/{relic_link_id}/settings", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Profile Administration","Administration","Information"], + summary="Retrieve all settings for a specific profile", + response_model_by_alias=True, +) +async def get_setting_collection_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/teams", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","Teams","Team Administration"], + summary="Retrieve all available teams", + response_model_by_alias=True, +) +async def get_team_collection( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","Tournament Administration"], + summary="Retrieve all available tournaments for all games available on the Relic Link platform", + response_model_by_alias=True, +) +async def get_tournament_identifier_collection( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/internal_api.py b/src/openapi_server/apis/internal_api.py new file mode 100644 index 0000000..6599c3d --- /dev/null +++ b/src/openapi_server/apis/internal_api.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.get( + "/application", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Internal","Administration"], + summary="Retrieve a list of available application information", + response_model_by_alias=True, +) +async def get_information_collection_for_application( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/application/statistics", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Internal","Administration"], + summary="Retrieve a list of only application statistics", + response_model_by_alias=True, +) +async def get_stat_collection_for_application( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/application/status", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 503: {"description": "Service Unavailable"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Internal","Administration","Status Check"], + summary="Retrieve only application status", + response_model_by_alias=True, +) +async def get_status_collection_for_application( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/leaderboards_api.py b/src/openapi_server/apis/leaderboards_api.py new file mode 100644 index 0000000..a6dd2de --- /dev/null +++ b/src/openapi_server/apis/leaderboards_api.py @@ -0,0 +1,164 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.get( + "/leaderboards/{leaderboard_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Leaderboards"], + summary="Retrieve details for a specific leaderboard", + response_model_by_alias=True, +) +async def get_details_for_leaderboard( + leaderboard_id: Ulid = Path(None, description="The unique identifier (ULID) we use for leaderboards of the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/leaderboards", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Leaderboards","Information"], + summary="Retrieve all leaderboards", + response_model_by_alias=True, +) +async def get_leaderboard_collection( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/games/{game_id}/leaderboards", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Leaderboards"], + summary="Retrieve all leaderboards for a specific game", + response_model_by_alias=True, +) +async def get_leaderboard_collection_for_game( + game_id: Ulid = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/leaderboards/{leaderboard_id}/matches", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Leaderboards","Match data"], + summary="Retrieve all matches on a specific leaderboard for a certain game", + response_model_by_alias=True, +) +async def get_match_collection_for_leaderboard( + leaderboard_id: Ulid = Path(None, description="The unique identifier (ULID) we use for leaderboards of the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/leaderboards/{leaderboard_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Leaderboards","Statistics"], + summary="Retrieve all stats on a specific leaderboard for a certain game", + response_model_by_alias=True, +) +async def get_stat_collection_for_leaderboard( + leaderboard_id: Ulid = Path(None, description="The unique identifier (ULID) we use for leaderboards of the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/match_data_api.py b/src/openapi_server/apis/match_data_api.py new file mode 100644 index 0000000..bcc0c0f --- /dev/null +++ b/src/openapi_server/apis/match_data_api.py @@ -0,0 +1,167 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.relic_link_id import RelicLinkId +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.get( + "/games/{game_id}/matches", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Match data"], + summary="Retrieve all matches for a specific game", + response_model_by_alias=True, +) +async def get_match_collection_for_game( + game_id: Ulid = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/leaderboards/{leaderboard_id}/matches", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Leaderboards","Match data"], + summary="Retrieve all matches on a specific leaderboard for a certain game", + response_model_by_alias=True, +) +async def get_match_collection_for_leaderboard( + leaderboard_id: Ulid = Path(None, description="The unique identifier (ULID) we use for leaderboards of the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/profiles/{relic_link_id}/matches", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Match data"], + summary="Retrieve all matches for a specific profile", + response_model_by_alias=True, +) +async def get_match_collection_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/teams/{team_id}/matches", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Match data"], + summary="Retrieve a list of matches for a specific team", + response_model_by_alias=True, +) +async def get_match_collection_for_team( + team_id: Ulid = Path(None, description="The unique identifier (ULID) we use for teams that play on games using the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments/{tournament_id}/matches", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Match data","Tournaments","Tournament Administration"], + summary="Retrieve all match data for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def get_match_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/profile_administration_api.py b/src/openapi_server/apis/profile_administration_api.py new file mode 100644 index 0000000..2fbbbc8 --- /dev/null +++ b/src/openapi_server/apis/profile_administration_api.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.relic_link_id import RelicLinkId +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.put( + "/profiles/{relic_link_id}/settings", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Profile Administration","Administration"], + summary="Bulk update of settings for a specific profile from the Relic Link API", + response_model_by_alias=True, +) +async def bulk_update_all_settings_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/profiles/{relic_link_id}/settings", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Profile Administration","Administration"], + summary="Create a new setting for a specific profile from the Relic Link API", + response_model_by_alias=True, +) +async def create_new_setting_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.get( + "/profiles/{relic_link_id}/settings", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Profile Administration","Administration","Information"], + summary="Retrieve all settings for a specific profile", + response_model_by_alias=True, +) +async def get_setting_collection_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.patch( + "/profiles/{relic_link_id}/settings", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Profile Administration","Administration"], + summary="Update a specific setting for a specific profile from the Relic Link API", + response_model_by_alias=True, +) +async def partial_update_all_settings_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.delete( + "/profiles/{relic_link_id}/settings", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Profile Administration","Administration"], + summary="Remove all settings for a specific profile", + response_model_by_alias=True, +) +async def remove_all_settings_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... diff --git a/src/openapi_server/apis/statistics_api.py b/src/openapi_server/apis/statistics_api.py new file mode 100644 index 0000000..d36030c --- /dev/null +++ b/src/openapi_server/apis/statistics_api.py @@ -0,0 +1,199 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.relic_link_id import RelicLinkId +from openapi_server.models.timeframe import Timeframe +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.get( + "/dumps/{timeframe}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Database","Statistics"], + response_model_by_alias=True, +) +async def get_database_dump_collection( + timeframe: Timeframe = Path(None, description="The timeframe from which to download a database dump"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """Download a database dump from a given timeframe""" + ... + + +@router.get( + "/leaderboards/{leaderboard_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Leaderboards","Statistics"], + summary="Retrieve all stats on a specific leaderboard for a certain game", + response_model_by_alias=True, +) +async def get_stat_collection_for_leaderboard( + leaderboard_id: Ulid = Path(None, description="The unique identifier (ULID) we use for leaderboards of the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/profiles/{relic_link_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Statistics"], + summary="Retrieve all stats for a specific profile", + response_model_by_alias=True, +) +async def get_stat_collection_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/teams/{team_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Statistics","Teams","Team Administration"], + summary="Retrieve a list of stats for a specific team", + response_model_by_alias=True, +) +async def get_stat_collection_for_team( + team_id: Ulid = Path(None, description="The unique identifier (ULID) we use for teams that play on games using the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments/{tournament_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Statistics","Tournaments","Tournament Administration"], + summary="Retrieve all statistics for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def get_stat_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/users/{user_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Statistics"], + summary="Retrieve all stats for a specific user profile on our platform", + response_model_by_alias=True, +) +async def get_stat_collection_for_user( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/status_check_api.py b/src/openapi_server/apis/status_check_api.py new file mode 100644 index 0000000..38ebab7 --- /dev/null +++ b/src/openapi_server/apis/status_check_api.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.get( + "/application/status", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 503: {"description": "Service Unavailable"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Internal","Administration","Status Check"], + summary="Retrieve only application status", + response_model_by_alias=True, +) +async def get_status_collection_for_application( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/team_administration_api.py b/src/openapi_server/apis/team_administration_api.py new file mode 100644 index 0000000..ffb8a10 --- /dev/null +++ b/src/openapi_server/apis/team_administration_api.py @@ -0,0 +1,228 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.put( + "/teams", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Team Administration"], + summary="Bulk update of teams", + response_model_by_alias=True, +) +async def bulk_update_all_teams( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/teams", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Team Administration"], + summary="Create a new team", + response_model_by_alias=True, +) +async def create_new_team( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.get( + "/teams/{team_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Teams","Team Administration"], + summary="Retrieve details of a team", + response_model_by_alias=True, +) +async def get_details_for_team( + team_id: Ulid = Path(None, description="The unique identifier (ULID) we use for teams that play on games using the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/teams/{team_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Statistics","Teams","Team Administration"], + summary="Retrieve a list of stats for a specific team", + response_model_by_alias=True, +) +async def get_stat_collection_for_team( + team_id: Ulid = Path(None, description="The unique identifier (ULID) we use for teams that play on games using the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/teams", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","Teams","Team Administration"], + summary="Retrieve all available teams", + response_model_by_alias=True, +) +async def get_team_collection( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.patch( + "/teams", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Team Administration"], + summary="Partial update of all teams", + response_model_by_alias=True, +) +async def partial_update_all_teams( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.delete( + "/teams", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Teams","Team Administration"], + summary="Remove all teams", + response_model_by_alias=True, +) +async def remove_all_teams( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... diff --git a/src/openapi_server/apis/teams_api.py b/src/openapi_server/apis/teams_api.py new file mode 100644 index 0000000..bcc85d2 --- /dev/null +++ b/src/openapi_server/apis/teams_api.py @@ -0,0 +1,140 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.get( + "/teams/{team_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Teams","Team Administration"], + summary="Retrieve details of a team", + response_model_by_alias=True, +) +async def get_details_for_team( + team_id: Ulid = Path(None, description="The unique identifier (ULID) we use for teams that play on games using the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/teams/{team_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Statistics","Teams","Team Administration"], + summary="Retrieve a list of stats for a specific team", + response_model_by_alias=True, +) +async def get_stat_collection_for_team( + team_id: Ulid = Path(None, description="The unique identifier (ULID) we use for teams that play on games using the Relic Link API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/teams", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","Teams","Team Administration"], + summary="Retrieve all available teams", + response_model_by_alias=True, +) +async def get_team_collection( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.delete( + "/teams", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Teams","Team Administration"], + summary="Remove all teams", + response_model_by_alias=True, +) +async def remove_all_teams( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... diff --git a/src/openapi_server/apis/tournament_administration_api.py b/src/openapi_server/apis/tournament_administration_api.py new file mode 100644 index 0000000..7669ac5 --- /dev/null +++ b/src/openapi_server/apis/tournament_administration_api.py @@ -0,0 +1,550 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.put( + "/tournaments/{tournament_id}/admins", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Bulk update of admins for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def bulk_update_all_admins_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.put( + "/tournaments/{tournament_id}/brackets", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def bulk_update_all_brackets_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.put( + "/tournaments", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Tournament Administration"], + summary="Bulk update of tournaments", + response_model_by_alias=True, +) +async def bulk_update_all_tournaments( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/tournaments/{tournament_id}/admins", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Create a new admin for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def create_new_admin_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/tournaments/{tournament_id}/brackets", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Create a new bracket for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def create_new_bracket_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/tournaments", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Tournament Administration"], + summary="Create a new tournament for a game available on the Relic Link platform", + response_model_by_alias=True, +) +async def create_new_tournament( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.get( + "/tournaments/{tournament_id}/admins", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def get_admin_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments/{tournament_id}/brackets", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","Tournaments","Tournament Administration"], + summary="Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def get_bracket_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments/{tournament_id}/info", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","Tournaments","Tournament Administration"], + summary="Retrieve all information for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def get_info_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments/{tournament_id}/matches", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Match data","Tournaments","Tournament Administration"], + summary="Retrieve all match data for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def get_match_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments/{tournament_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Statistics","Tournaments","Tournament Administration"], + summary="Retrieve all statistics for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def get_stat_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","Tournament Administration"], + summary="Retrieve all available tournaments for all games available on the Relic Link platform", + response_model_by_alias=True, +) +async def get_tournament_identifier_collection( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.patch( + "/tournaments/{tournament_id}/admins", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Update details of admins for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def partial_update_all_admins_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.patch( + "/tournaments/{tournament_id}/brackets", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def partial_update_bracket_for_tournament( + tournament_id: str = Path(None, description="The unique identifier (ULID) we use for tournaments", regex=r"^[0-7][0-9A-HJKMNP-TV-Z]{25}$", max_length=26), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.patch( + "/tournaments", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Tournament Administration"], + summary="Partial update of tournaments", + response_model_by_alias=True, +) +async def partial_update_tournaments( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.delete( + "/tournaments/{tournament_id}/admins", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration","Tournament Administration"], + summary="Remove all admins for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def remove_all_admins_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.delete( + "/tournaments/{tournament_id}/brackets", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Tournament Administration"], + summary="Remove all brackets for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def remove_all_brackets_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.delete( + "/tournaments", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Tournament Administration"], + summary="Remove all tournaments", + response_model_by_alias=True, +) +async def remove_all_tournaments( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... diff --git a/src/openapi_server/apis/tournaments_api.py b/src/openapi_server/apis/tournaments_api.py new file mode 100644 index 0000000..10e6a43 --- /dev/null +++ b/src/openapi_server/apis/tournaments_api.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.get( + "/tournaments/{tournament_id}/brackets", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","Tournaments","Tournament Administration"], + summary="Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def get_bracket_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments/{tournament_id}/info", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","Tournaments","Tournament Administration"], + summary="Retrieve all information for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def get_info_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments/{tournament_id}/matches", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Match data","Tournaments","Tournament Administration"], + summary="Retrieve all match data for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def get_match_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/tournaments/{tournament_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Statistics","Tournaments","Tournament Administration"], + summary="Retrieve all statistics for a specific tournament for a specific game", + response_model_by_alias=True, +) +async def get_stat_collection_for_tournament( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/user_administration_api.py b/src/openapi_server/apis/user_administration_api.py new file mode 100644 index 0000000..d0a7cb7 --- /dev/null +++ b/src/openapi_server/apis/user_administration_api.py @@ -0,0 +1,281 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.put( + "/users/{user_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["User Administration"], + summary="Bulk update details for a specific user profile on our platform if it exists", + response_model_by_alias=True, +) +async def bulk_update_all_user_details( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.put( + "/users", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["User Administration"], + summary="Bulk update of all users of our platform", + response_model_by_alias=True, +) +async def bulk_update_all_users( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.post( + "/users", + responses={ + 200: {"description": "Operation succeeded"}, + 201: {"description": "Created"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Authentication","Account Registration","User Administration"], + summary="Create a new user for our platform", + response_model_by_alias=True, +) +async def create_new_user( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.get( + "/users/{user_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Information","User Administration"], + summary="Retrieve details for a specific user profile on our platform", + response_model_by_alias=True, +) +async def get_details_for_user( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + +@router.get( + "/users", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["User Administration"], + summary="Retrieve all users of our platform", + response_model_by_alias=True, +) +async def get_user_collection( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """Authenticated Endpoint for Administrators or Libre:Match""" + ... + + +@router.patch( + "/users", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["User Administration"], + summary="Partially update details for all user profiles", + response_model_by_alias=True, +) +async def partial_update_all_users( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.patch( + "/users/{user_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["User Administration"], + summary="Update details for a specific user profile on our platform if it exists", + response_model_by_alias=True, +) +async def partial_update_user( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.delete( + "/users", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["User Administration"], + summary="Remove all users from our platform", + response_model_by_alias=True, +) +async def remove_all_users( + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.delete( + "/users/{user_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["User Administration"], + summary="Remove user from our platform if it exists", + response_model_by_alias=True, +) +async def remove_user( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... diff --git a/src/openapi_server/apis/user_adminstration_api.py b/src/openapi_server/apis/user_adminstration_api.py new file mode 100644 index 0000000..a78c34a --- /dev/null +++ b/src/openapi_server/apis/user_adminstration_api.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.delete( + "/users/{user_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["User Adminstration"], + summary="Remove all stats for a specific user profile on our platform", + response_model_by_alias=True, +) +async def remove_all_user_stats( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... diff --git a/src/openapi_server/main.py b/src/openapi_server/main.py index 4ec718a..5bcb32b 100644 --- a/src/openapi_server/main.py +++ b/src/openapi_server/main.py @@ -5,7 +5,7 @@ stable, reliable and feature-rich API for match information, leaderboards, and tournament organisation for the Age of Empires multiplayer community - The version of the OpenAPI document: 1.0.0 + The version of the OpenAPI document: 1.0.0-DRAFT Contact: info@librematch.org Generated by: https://openapi-generator.tech """ @@ -13,12 +13,52 @@ from fastapi import FastAPI +from openapi_server.apis.api_token_validation_api import router as APITokenValidationApiRouter +from openapi_server.apis.account_registration_api import router as AccountRegistrationApiRouter +from openapi_server.apis.administration_api import router as AdministrationApiRouter +from openapi_server.apis.adminstration_api import router as AdminstrationApiRouter +from openapi_server.apis.authentication_api import router as AuthenticationApiRouter +from openapi_server.apis.database_api import router as DatabaseApiRouter +from openapi_server.apis.definition_api import router as DefinitionApiRouter +from openapi_server.apis.information_api import router as InformationApiRouter +from openapi_server.apis.internal_api import router as InternalApiRouter +from openapi_server.apis.leaderboards_api import router as LeaderboardsApiRouter +from openapi_server.apis.match_data_api import router as MatchDataApiRouter +from openapi_server.apis.profile_administration_api import router as ProfileAdministrationApiRouter +from openapi_server.apis.statistics_api import router as StatisticsApiRouter +from openapi_server.apis.status_check_api import router as StatusCheckApiRouter +from openapi_server.apis.team_administration_api import router as TeamAdministrationApiRouter +from openapi_server.apis.teams_api import router as TeamsApiRouter +from openapi_server.apis.tournament_administration_api import router as TournamentAdministrationApiRouter +from openapi_server.apis.tournaments_api import router as TournamentsApiRouter +from openapi_server.apis.user_administration_api import router as UserAdministrationApiRouter +from openapi_server.apis.user_adminstration_api import router as UserAdminstrationApiRouter from openapi_server.apis.default_api import router as DefaultApiRouter app = FastAPI( title="Libre:Match API", description="stable, reliable and feature-rich API for match information, leaderboards, and tournament organisation for the Age of Empires multiplayer community", - version="1.0.0", + version="1.0.0-DRAFT", ) +app.include_router(APITokenValidationApiRouter) +app.include_router(AccountRegistrationApiRouter) +app.include_router(AdministrationApiRouter) +app.include_router(AdminstrationApiRouter) +app.include_router(AuthenticationApiRouter) +app.include_router(DatabaseApiRouter) +app.include_router(DefinitionApiRouter) +app.include_router(InformationApiRouter) +app.include_router(InternalApiRouter) +app.include_router(LeaderboardsApiRouter) +app.include_router(MatchDataApiRouter) +app.include_router(ProfileAdministrationApiRouter) +app.include_router(StatisticsApiRouter) +app.include_router(StatusCheckApiRouter) +app.include_router(TeamAdministrationApiRouter) +app.include_router(TeamsApiRouter) +app.include_router(TournamentAdministrationApiRouter) +app.include_router(TournamentsApiRouter) +app.include_router(UserAdministrationApiRouter) +app.include_router(UserAdminstrationApiRouter) app.include_router(DefaultApiRouter) diff --git a/src/openapi_server/models/accepted.py b/src/openapi_server/models/accepted.py new file mode 100644 index 0000000..4a2ec1d --- /dev/null +++ b/src/openapi_server/models/accepted.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class Accepted(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + Accepted - a model defined in OpenAPI + + message: The message of this Accepted. + code: The code of this Accepted. + """ + + message: str = Field(alias="message") + code: int = Field(alias="code") + + @validator("code") + def code_max(cls, value): + assert value <= 202 + return value + + @validator("code") + def code_min(cls, value): + assert value >= 202 + return value + +Accepted.update_forward_refs() diff --git a/src/openapi_server/models/authorization_header.py b/src/openapi_server/models/authorization_header.py new file mode 100644 index 0000000..1f05b28 --- /dev/null +++ b/src/openapi_server/models/authorization_header.py @@ -0,0 +1,29 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class AuthorizationHeader(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + AuthorizationHeader - a model defined in OpenAPI + + authorization_header: The authorization_header of this AuthorizationHeader. + """ + + authorization_header: str = Field(alias="AuthorizationHeader") + + @validator("authorization_header") + def authorization_header_max_length(cls, value): + assert len(value) <= 33 + return value + +AuthorizationHeader.update_forward_refs() diff --git a/src/openapi_server/models/forbidden_error.py b/src/openapi_server/models/forbidden_error.py new file mode 100644 index 0000000..f0fb8de --- /dev/null +++ b/src/openapi_server/models/forbidden_error.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class ForbiddenError(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + ForbiddenError - a model defined in OpenAPI + + message: The message of this ForbiddenError. + code: The code of this ForbiddenError. + """ + + message: str = Field(alias="message") + code: int = Field(alias="code") + + @validator("code") + def code_max(cls, value): + assert value <= 403 + return value + + @validator("code") + def code_min(cls, value): + assert value >= 403 + return value + +ForbiddenError.update_forward_refs() diff --git a/src/openapi_server/models/illegal_input_error.py b/src/openapi_server/models/illegal_input_error.py index 8dbf4b1..be63249 100644 --- a/src/openapi_server/models/illegal_input_error.py +++ b/src/openapi_server/models/illegal_input_error.py @@ -23,6 +23,16 @@ class IllegalInputError(BaseModel): message: str = Field(alias="message") code: int = Field(alias="code") + @validator("message") + def message_max_length(cls, value): + assert len(value) <= 32 + return value + + @validator("message") + def message_pattern(cls, value): + assert value is not None and re.match(r"^example-[0-9a-z]+$", value) + return value + @validator("code") def code_max(cls, value): assert value <= 400 diff --git a/src/openapi_server/models/md5.py b/src/openapi_server/models/md5.py new file mode 100644 index 0000000..7f2fa47 --- /dev/null +++ b/src/openapi_server/models/md5.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class Md5(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + Md5 - a model defined in OpenAPI + + md5: The md5 of this Md5. + """ + + md5: str = Field(alias="Md5") + + @validator("md5") + def md5_max_length(cls, value): + assert len(value) <= 33 + return value + + @validator("md5") + def md5_pattern(cls, value): + assert value is not None and re.match(r"^[A-F0-9]{32}$", value) + return value + +Md5.update_forward_refs() diff --git a/src/openapi_server/models/no_content.py b/src/openapi_server/models/no_content.py new file mode 100644 index 0000000..dab925d --- /dev/null +++ b/src/openapi_server/models/no_content.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class NoContent(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + NoContent - a model defined in OpenAPI + + message: The message of this NoContent. + code: The code of this NoContent. + """ + + message: str = Field(alias="message") + code: int = Field(alias="code") + + @validator("message") + def message_max_length(cls, value): + assert len(value) <= 32 + return value + + @validator("message") + def message_pattern(cls, value): + assert value is not None and re.match(r"^example-[0-9a-z]+$", value) + return value + + @validator("code") + def code_max(cls, value): + assert value <= 204 + return value + + @validator("code") + def code_min(cls, value): + assert value >= 204 + return value + +NoContent.update_forward_refs() diff --git a/src/openapi_server/models/not_acceptable_error.py b/src/openapi_server/models/not_acceptable_error.py new file mode 100644 index 0000000..c0e8916 --- /dev/null +++ b/src/openapi_server/models/not_acceptable_error.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class NotAcceptableError(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + NotAcceptableError - a model defined in OpenAPI + + message: The message of this NotAcceptableError. + code: The code of this NotAcceptableError. + """ + + message: str = Field(alias="message") + code: int = Field(alias="code") + + @validator("code") + def code_max(cls, value): + assert value <= 406 + return value + + @validator("code") + def code_min(cls, value): + assert value >= 406 + return value + +NotAcceptableError.update_forward_refs() diff --git a/src/openapi_server/models/not_found_error.py b/src/openapi_server/models/not_found_error.py new file mode 100644 index 0000000..c246be4 --- /dev/null +++ b/src/openapi_server/models/not_found_error.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class NotFoundError(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + NotFoundError - a model defined in OpenAPI + + message: The message of this NotFoundError. + code: The code of this NotFoundError. + """ + + message: str = Field(alias="message") + code: int = Field(alias="code") + + @validator("code") + def code_max(cls, value): + assert value <= 404 + return value + + @validator("code") + def code_min(cls, value): + assert value >= 404 + return value + +NotFoundError.update_forward_refs() diff --git a/src/openapi_server/models/not_implemented_error.py b/src/openapi_server/models/not_implemented_error.py new file mode 100644 index 0000000..5a13ecc --- /dev/null +++ b/src/openapi_server/models/not_implemented_error.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class NotImplementedError(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + NotImplementedError - a model defined in OpenAPI + + message: The message of this NotImplementedError. + code: The code of this NotImplementedError. + """ + + message: str = Field(alias="message") + code: int = Field(alias="code") + + @validator("code") + def code_max(cls, value): + assert value <= 501 + return value + + @validator("code") + def code_min(cls, value): + assert value >= 501 + return value + +NotImplementedError.update_forward_refs() diff --git a/src/openapi_server/models/relic_link_id.py b/src/openapi_server/models/relic_link_id.py new file mode 100644 index 0000000..7c0c5a4 --- /dev/null +++ b/src/openapi_server/models/relic_link_id.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class RelicLinkId(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + RelicLinkId - a model defined in OpenAPI + + relic_link_id: The relic_link_id of this RelicLinkId. + """ + + relic_link_id: int = Field(alias="relic_link_id") + + @validator("relic_link_id") + def relic_link_id_max(cls, value): + assert value <= 999999999 + return value + + @validator("relic_link_id") + def relic_link_id_min(cls, value): + assert value >= 0 + return value + +RelicLinkId.update_forward_refs() diff --git a/src/openapi_server/models/request_timeout_error.py b/src/openapi_server/models/request_timeout_error.py new file mode 100644 index 0000000..bf7e446 --- /dev/null +++ b/src/openapi_server/models/request_timeout_error.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class RequestTimeoutError(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + RequestTimeoutError - a model defined in OpenAPI + + message: The message of this RequestTimeoutError. + code: The code of this RequestTimeoutError. + """ + + message: str = Field(alias="message") + code: int = Field(alias="code") + + @validator("code") + def code_max(cls, value): + assert value <= 408 + return value + + @validator("code") + def code_min(cls, value): + assert value >= 408 + return value + +RequestTimeoutError.update_forward_refs() diff --git a/src/openapi_server/models/service_unavailable_error.py b/src/openapi_server/models/service_unavailable_error.py new file mode 100644 index 0000000..2f6a8d7 --- /dev/null +++ b/src/openapi_server/models/service_unavailable_error.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class ServiceUnavailableError(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + ServiceUnavailableError - a model defined in OpenAPI + + message: The message of this ServiceUnavailableError. + code: The code of this ServiceUnavailableError. + """ + + message: str = Field(alias="message") + code: int = Field(alias="code") + + @validator("code") + def code_max(cls, value): + assert value <= 503 + return value + + @validator("code") + def code_min(cls, value): + assert value >= 503 + return value + +ServiceUnavailableError.update_forward_refs() diff --git a/src/openapi_server/models/timeframe.py b/src/openapi_server/models/timeframe.py new file mode 100644 index 0000000..0ac6b1b --- /dev/null +++ b/src/openapi_server/models/timeframe.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class Timeframe(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + Timeframe - a model defined in OpenAPI + + timeframe: The timeframe of this Timeframe. + """ + + timeframe: str = Field(alias="timeframe") + + @validator("timeframe") + def timeframe_max_length(cls, value): + assert len(value) <= 15 + return value + + @validator("timeframe") + def timeframe_pattern(cls, value): + assert value is not None and re.match(r"^example-TODO$", value) + return value + +Timeframe.update_forward_refs() diff --git a/src/openapi_server/models/too_many_requests_error.py b/src/openapi_server/models/too_many_requests_error.py new file mode 100644 index 0000000..9db1fff --- /dev/null +++ b/src/openapi_server/models/too_many_requests_error.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class TooManyRequestsError(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + TooManyRequestsError - a model defined in OpenAPI + + message: The message of this TooManyRequestsError. + code: The code of this TooManyRequestsError. + """ + + message: str = Field(alias="message") + code: int = Field(alias="code") + + @validator("code") + def code_max(cls, value): + assert value <= 429 + return value + + @validator("code") + def code_min(cls, value): + assert value >= 429 + return value + +TooManyRequestsError.update_forward_refs() diff --git a/src/openapi_server/models/ulid.py b/src/openapi_server/models/ulid.py new file mode 100644 index 0000000..e94af79 --- /dev/null +++ b/src/openapi_server/models/ulid.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class Ulid(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + Ulid - a model defined in OpenAPI + + ulid: The ulid of this Ulid. + """ + + ulid: str = Field(alias="ulid") + + @validator("ulid") + def ulid_max_length(cls, value): + assert len(value) <= 26 + return value + + @validator("ulid") + def ulid_pattern(cls, value): + assert value is not None and re.match(r"^[0-7][0-9A-HJKMNP-TV-Z]{25}$", value) + return value + +Ulid.update_forward_refs() diff --git a/src/openapi_server/models/unauthorized_error.py b/src/openapi_server/models/unauthorized_error.py index 21e7255..b564548 100644 --- a/src/openapi_server/models/unauthorized_error.py +++ b/src/openapi_server/models/unauthorized_error.py @@ -23,6 +23,16 @@ class UnauthorizedError(BaseModel): message: str = Field(alias="message") code: int = Field(alias="code") + @validator("message") + def message_max_length(cls, value): + assert len(value) <= 32 + return value + + @validator("message") + def message_pattern(cls, value): + assert value is not None and re.match(r"^example-[0-9a-z]+$", value) + return value + @validator("code") def code_max(cls, value): assert value <= 401 diff --git a/src/openapi_server/models/unsupported_media_type_error.py b/src/openapi_server/models/unsupported_media_type_error.py new file mode 100644 index 0000000..a6f4f51 --- /dev/null +++ b/src/openapi_server/models/unsupported_media_type_error.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class UnsupportedMediaTypeError(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + UnsupportedMediaTypeError - a model defined in OpenAPI + + message: The message of this UnsupportedMediaTypeError. + code: The code of this UnsupportedMediaTypeError. + """ + + message: str = Field(alias="message") + code: int = Field(alias="code") + + @validator("code") + def code_max(cls, value): + assert value <= 415 + return value + + @validator("code") + def code_min(cls, value): + assert value >= 415 + return value + +UnsupportedMediaTypeError.update_forward_refs() diff --git a/src/openapi_server/models/www_authenticate.py b/src/openapi_server/models/www_authenticate.py new file mode 100644 index 0000000..6b53584 --- /dev/null +++ b/src/openapi_server/models/www_authenticate.py @@ -0,0 +1,29 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class WwwAuthenticate(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + WwwAuthenticate - a model defined in OpenAPI + + www_authenticate: The www_authenticate of this WwwAuthenticate. + """ + + www_authenticate: str = Field(alias="WwwAuthenticate") + + @validator("www_authenticate") + def www_authenticate_max_length(cls, value): + assert len(value) <= 33 + return value + +WwwAuthenticate.update_forward_refs() diff --git a/src/openapi_server/security_api.py b/src/openapi_server/security_api.py index dd153f5..076fd25 100644 --- a/src/openapi_server/security_api.py +++ b/src/openapi_server/security_api.py @@ -19,6 +19,25 @@ from openapi_server.models.extra_models import TokenModel +def get_token_BasicAuth( + token_api_key_header: str = Security( + APIKeyHeader(name="BasicAuth", auto_error=False) + ), +) -> TokenModel: + """ + Check and retrieve authentication information from api_key. + + :param token_api_key_header API key provided by Authorization[BasicAuth] header + + + :type token_api_key_header: str + :return: Information attached to provided api_key or None if api_key is invalid or does not allow access to called API + :rtype: TokenModel | None + """ + + ... + + bearer_auth = HTTPBearer() diff --git a/tests/test_account_registration_api.py b/tests/test_account_registration_api.py new file mode 100644 index 0000000..08760d1 --- /dev/null +++ b/tests/test_account_registration_api.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError # noqa: F401 + + +def test_create_new_user(client: TestClient): + """Test case for create_new_user + + Create a new user for our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/users", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_user_register(client: TestClient): + """Test case for user_register + + + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/users/register", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_administration_api.py b/tests/test_administration_api.py new file mode 100644 index 0000000..f7a8541 --- /dev/null +++ b/tests/test_administration_api.py @@ -0,0 +1,415 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.relic_link_id import RelicLinkId # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError # noqa: F401 + + +def test_bulk_update_all_admins_for_tournament(client: TestClient): + """Test case for bulk_update_all_admins_for_tournament + + Bulk update of admins for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/tournaments/{tournament_id}/admins".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_bulk_update_all_brackets_for_tournament(client: TestClient): + """Test case for bulk_update_all_brackets_for_tournament + + Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/tournaments/{tournament_id}/brackets".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_bulk_update_all_settings_for_profile(client: TestClient): + """Test case for bulk_update_all_settings_for_profile + + Bulk update of settings for a specific profile from the Relic Link API + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/profiles/{relic_link_id}/settings".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_bulk_update_all_teams(client: TestClient): + """Test case for bulk_update_all_teams + + Bulk update of teams + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/teams", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_admin_for_tournament(client: TestClient): + """Test case for create_new_admin_for_tournament + + Create a new admin for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/tournaments/{tournament_id}/admins".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_bracket_for_tournament(client: TestClient): + """Test case for create_new_bracket_for_tournament + + Create a new bracket for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/tournaments/{tournament_id}/brackets".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_setting_for_profile(client: TestClient): + """Test case for create_new_setting_for_profile + + Create a new setting for a specific profile from the Relic Link API + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/profiles/{relic_link_id}/settings".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_team(client: TestClient): + """Test case for create_new_team + + Create a new team + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/teams", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_admin_collection_for_tournament(client: TestClient): + """Test case for get_admin_collection_for_tournament + + Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/admins".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_information_collection_for_application(client: TestClient): + """Test case for get_information_collection_for_application + + Retrieve a list of available application information + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/application", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_profile_collection(client: TestClient): + """Test case for get_profile_collection + + Retrieve all available profiles + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/profiles", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_setting_collection_for_profile(client: TestClient): + """Test case for get_setting_collection_for_profile + + Retrieve all settings for a specific profile + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/profiles/{relic_link_id}/settings".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_application(client: TestClient): + """Test case for get_stat_collection_for_application + + Retrieve a list of only application statistics + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/application/statistics", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_status_collection_for_application(client: TestClient): + """Test case for get_status_collection_for_application + + Retrieve only application status + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/application/status", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_all_admins_for_tournament(client: TestClient): + """Test case for partial_update_all_admins_for_tournament + + Update details of admins for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/tournaments/{tournament_id}/admins".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_all_settings_for_profile(client: TestClient): + """Test case for partial_update_all_settings_for_profile + + Update a specific setting for a specific profile from the Relic Link API + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/profiles/{relic_link_id}/settings".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_all_teams(client: TestClient): + """Test case for partial_update_all_teams + + Partial update of all teams + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/teams", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_bracket_for_tournament(client: TestClient): + """Test case for partial_update_bracket_for_tournament + + Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/tournaments/{tournament_id}/brackets".format(tournament_id='tournament_id_example'), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_remove_all_admins_for_tournament(client: TestClient): + """Test case for remove_all_admins_for_tournament + + Remove all admins for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/tournaments/{tournament_id}/admins".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_remove_all_settings_for_profile(client: TestClient): + """Test case for remove_all_settings_for_profile + + Remove all settings for a specific profile + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/profiles/{relic_link_id}/settings".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_adminstration_api.py b/tests/test_adminstration_api.py new file mode 100644 index 0000000..34abfb4 --- /dev/null +++ b/tests/test_adminstration_api.py @@ -0,0 +1,134 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError # noqa: F401 + + +def test_bulk_update_all_user_stats(client: TestClient): + """Test case for bulk_update_all_user_stats + + Bulk update of stats for a specific user profile on our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_user_stats(client: TestClient): + """Test case for create_new_user_stats + + Create a new stat for a specific user profile on our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_tournament_details(client: TestClient): + """Test case for partial_update_tournament_details + + Partially update a tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/tournaments/{tournament_id}".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_user_stats(client: TestClient): + """Test case for partial_update_user_stats + + Partially update stats for a specific user profile on our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_remove_tournament_details(client: TestClient): + """Test case for remove_tournament_details + + Remove a tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/tournaments/{tournament_id}".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_update_tournament_details(client: TestClient): + """Test case for update_tournament_details + + Update details for a tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/tournaments/{tournament_id}".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_api_token_validation_api.py b/tests/test_api_token_validation_api.py new file mode 100644 index 0000000..e9edcd9 --- /dev/null +++ b/tests/test_api_token_validation_api.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError # noqa: F401 + + +def test_create_new_user_validation(client: TestClient): + """Test case for create_new_user_validation + + + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/users/validate", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_user_validation_details(client: TestClient): + """Test case for get_user_validation_details + + + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/users/validate", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_authentication_api.py b/tests/test_authentication_api.py new file mode 100644 index 0000000..f663af5 --- /dev/null +++ b/tests/test_authentication_api.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError # noqa: F401 + + +def test_create_new_user(client: TestClient): + """Test case for create_new_user + + Create a new user for our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/users", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_user_validation(client: TestClient): + """Test case for create_new_user_validation + + + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/users/validate", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_user_validation_details(client: TestClient): + """Test case for get_user_validation_details + + + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/users/validate", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_user_login(client: TestClient): + """Test case for user_login + + + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/users/login", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_user_logout(client: TestClient): + """Test case for user_logout + + + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/users/logout", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_database_api.py b/tests/test_database_api.py new file mode 100644 index 0000000..a40054d --- /dev/null +++ b/tests/test_database_api.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.timeframe import Timeframe # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_get_database_dump_collection(client: TestClient): + """Test case for get_database_dump_collection + + + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/dumps/{timeframe}".format(timeframe={'key': openapi_server.Timeframe()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_definition_api.py b/tests/test_definition_api.py new file mode 100644 index 0000000..779bedf --- /dev/null +++ b/tests/test_definition_api.py @@ -0,0 +1,32 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_get_definition_collection_for_game(client: TestClient): + """Test case for get_definition_collection_for_game + + Retrieve all available definitions for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/games/{game_id}/definitions".format(game_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_information_api.py b/tests/test_information_api.py new file mode 100644 index 0000000..d5d8751 --- /dev/null +++ b/tests/test_information_api.py @@ -0,0 +1,234 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.relic_link_id import RelicLinkId # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_get_bracket_collection_for_tournament(client: TestClient): + """Test case for get_bracket_collection_for_tournament + + Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/brackets".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_details_for_profile(client: TestClient): + """Test case for get_details_for_profile + + Retrieve the details for a specific profile + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/profiles/{relic_link_id}".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_details_for_tournament(client: TestClient): + """Test case for get_details_for_tournament + + Retrieve details for a tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_details_for_user(client: TestClient): + """Test case for get_details_for_user + + Retrieve details for a specific user profile on our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/users/{user_id}".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_game_identifier_collection(client: TestClient): + """Test case for get_game_identifier_collection + + Retrieve a list of all game identifiers for games + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/games", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_info_collection_for_game(client: TestClient): + """Test case for get_info_collection_for_game + + Retrieve all available information for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/games/{game_id}/info".format(game_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_info_collection_for_tournament(client: TestClient): + """Test case for get_info_collection_for_tournament + + Retrieve all information for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/info".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_leaderboard_collection(client: TestClient): + """Test case for get_leaderboard_collection + + Retrieve all leaderboards + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/leaderboards", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_setting_collection_for_profile(client: TestClient): + """Test case for get_setting_collection_for_profile + + Retrieve all settings for a specific profile + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/profiles/{relic_link_id}/settings".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_team_collection(client: TestClient): + """Test case for get_team_collection + + Retrieve all available teams + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/teams", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_tournament_identifier_collection(client: TestClient): + """Test case for get_tournament_identifier_collection + + Retrieve all available tournaments for all games available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_internal_api.py b/tests/test_internal_api.py new file mode 100644 index 0000000..6b26c3a --- /dev/null +++ b/tests/test_internal_api.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_get_information_collection_for_application(client: TestClient): + """Test case for get_information_collection_for_application + + Retrieve a list of available application information + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/application", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_application(client: TestClient): + """Test case for get_stat_collection_for_application + + Retrieve a list of only application statistics + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/application/statistics", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_status_collection_for_application(client: TestClient): + """Test case for get_status_collection_for_application + + Retrieve only application status + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/application/status", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_leaderboards_api.py b/tests/test_leaderboards_api.py new file mode 100644 index 0000000..95b15ec --- /dev/null +++ b/tests/test_leaderboards_api.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_get_details_for_leaderboard(client: TestClient): + """Test case for get_details_for_leaderboard + + Retrieve details for a specific leaderboard + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/leaderboards/{leaderboard_id}".format(leaderboard_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_leaderboard_collection(client: TestClient): + """Test case for get_leaderboard_collection + + Retrieve all leaderboards + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/leaderboards", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_leaderboard_collection_for_game(client: TestClient): + """Test case for get_leaderboard_collection_for_game + + Retrieve all leaderboards for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/games/{game_id}/leaderboards".format(game_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_match_collection_for_leaderboard(client: TestClient): + """Test case for get_match_collection_for_leaderboard + + Retrieve all matches on a specific leaderboard for a certain game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/leaderboards/{leaderboard_id}/matches".format(leaderboard_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_leaderboard(client: TestClient): + """Test case for get_stat_collection_for_leaderboard + + Retrieve all stats on a specific leaderboard for a certain game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/leaderboards/{leaderboard_id}/stats".format(leaderboard_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_match_data_api.py b/tests/test_match_data_api.py new file mode 100644 index 0000000..04e1423 --- /dev/null +++ b/tests/test_match_data_api.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.relic_link_id import RelicLinkId # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_get_match_collection_for_game(client: TestClient): + """Test case for get_match_collection_for_game + + Retrieve all matches for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/games/{game_id}/matches".format(game_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_match_collection_for_leaderboard(client: TestClient): + """Test case for get_match_collection_for_leaderboard + + Retrieve all matches on a specific leaderboard for a certain game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/leaderboards/{leaderboard_id}/matches".format(leaderboard_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_match_collection_for_profile(client: TestClient): + """Test case for get_match_collection_for_profile + + Retrieve all matches for a specific profile + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/profiles/{relic_link_id}/matches".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_match_collection_for_team(client: TestClient): + """Test case for get_match_collection_for_team + + Retrieve a list of matches for a specific team + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/teams/{team_id}/matches".format(team_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_match_collection_for_tournament(client: TestClient): + """Test case for get_match_collection_for_tournament + + Retrieve all match data for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/matches".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_profile_administration_api.py b/tests/test_profile_administration_api.py new file mode 100644 index 0000000..fc5bf6d --- /dev/null +++ b/tests/test_profile_administration_api.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.relic_link_id import RelicLinkId # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError # noqa: F401 + + +def test_bulk_update_all_settings_for_profile(client: TestClient): + """Test case for bulk_update_all_settings_for_profile + + Bulk update of settings for a specific profile from the Relic Link API + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/profiles/{relic_link_id}/settings".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_setting_for_profile(client: TestClient): + """Test case for create_new_setting_for_profile + + Create a new setting for a specific profile from the Relic Link API + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/profiles/{relic_link_id}/settings".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_setting_collection_for_profile(client: TestClient): + """Test case for get_setting_collection_for_profile + + Retrieve all settings for a specific profile + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/profiles/{relic_link_id}/settings".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_all_settings_for_profile(client: TestClient): + """Test case for partial_update_all_settings_for_profile + + Update a specific setting for a specific profile from the Relic Link API + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/profiles/{relic_link_id}/settings".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_remove_all_settings_for_profile(client: TestClient): + """Test case for remove_all_settings_for_profile + + Remove all settings for a specific profile + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/profiles/{relic_link_id}/settings".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_statistics_api.py b/tests/test_statistics_api.py new file mode 100644 index 0000000..707b675 --- /dev/null +++ b/tests/test_statistics_api.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.relic_link_id import RelicLinkId # noqa: F401 +from openapi_server.models.timeframe import Timeframe # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_get_database_dump_collection(client: TestClient): + """Test case for get_database_dump_collection + + + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/dumps/{timeframe}".format(timeframe={'key': openapi_server.Timeframe()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_leaderboard(client: TestClient): + """Test case for get_stat_collection_for_leaderboard + + Retrieve all stats on a specific leaderboard for a certain game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/leaderboards/{leaderboard_id}/stats".format(leaderboard_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_profile(client: TestClient): + """Test case for get_stat_collection_for_profile + + Retrieve all stats for a specific profile + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/profiles/{relic_link_id}/stats".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_team(client: TestClient): + """Test case for get_stat_collection_for_team + + Retrieve a list of stats for a specific team + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/teams/{team_id}/stats".format(team_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_tournament(client: TestClient): + """Test case for get_stat_collection_for_tournament + + Retrieve all statistics for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/stats".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_user(client: TestClient): + """Test case for get_stat_collection_for_user + + Retrieve all stats for a specific user profile on our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_status_check_api.py b/tests/test_status_check_api.py new file mode 100644 index 0000000..3f2fe25 --- /dev/null +++ b/tests/test_status_check_api.py @@ -0,0 +1,31 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_get_status_collection_for_application(client: TestClient): + """Test case for get_status_collection_for_application + + Retrieve only application status + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/application/status", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_team_administration_api.py b/tests/test_team_administration_api.py new file mode 100644 index 0000000..0ba07b1 --- /dev/null +++ b/tests/test_team_administration_api.py @@ -0,0 +1,154 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError # noqa: F401 + + +def test_bulk_update_all_teams(client: TestClient): + """Test case for bulk_update_all_teams + + Bulk update of teams + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/teams", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_team(client: TestClient): + """Test case for create_new_team + + Create a new team + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/teams", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_details_for_team(client: TestClient): + """Test case for get_details_for_team + + Retrieve details of a team + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/teams/{team_id}".format(team_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_team(client: TestClient): + """Test case for get_stat_collection_for_team + + Retrieve a list of stats for a specific team + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/teams/{team_id}/stats".format(team_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_team_collection(client: TestClient): + """Test case for get_team_collection + + Retrieve all available teams + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/teams", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_all_teams(client: TestClient): + """Test case for partial_update_all_teams + + Partial update of all teams + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/teams", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_remove_all_teams(client: TestClient): + """Test case for remove_all_teams + + Remove all teams + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/teams", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_teams_api.py b/tests/test_teams_api.py new file mode 100644 index 0000000..69a40d6 --- /dev/null +++ b/tests/test_teams_api.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_get_details_for_team(client: TestClient): + """Test case for get_details_for_team + + Retrieve details of a team + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/teams/{team_id}".format(team_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_team(client: TestClient): + """Test case for get_stat_collection_for_team + + Retrieve a list of stats for a specific team + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/teams/{team_id}/stats".format(team_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_team_collection(client: TestClient): + """Test case for get_team_collection + + Retrieve all available teams + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/teams", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_remove_all_teams(client: TestClient): + """Test case for remove_all_teams + + Remove all teams + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/teams", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_tournament_administration_api.py b/tests/test_tournament_administration_api.py new file mode 100644 index 0000000..3d98afd --- /dev/null +++ b/tests/test_tournament_administration_api.py @@ -0,0 +1,374 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError # noqa: F401 + + +def test_bulk_update_all_admins_for_tournament(client: TestClient): + """Test case for bulk_update_all_admins_for_tournament + + Bulk update of admins for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/tournaments/{tournament_id}/admins".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_bulk_update_all_brackets_for_tournament(client: TestClient): + """Test case for bulk_update_all_brackets_for_tournament + + Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/tournaments/{tournament_id}/brackets".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_bulk_update_all_tournaments(client: TestClient): + """Test case for bulk_update_all_tournaments + + Bulk update of tournaments + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/tournaments", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_admin_for_tournament(client: TestClient): + """Test case for create_new_admin_for_tournament + + Create a new admin for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/tournaments/{tournament_id}/admins".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_bracket_for_tournament(client: TestClient): + """Test case for create_new_bracket_for_tournament + + Create a new bracket for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/tournaments/{tournament_id}/brackets".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_tournament(client: TestClient): + """Test case for create_new_tournament + + Create a new tournament for a game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/tournaments", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_admin_collection_for_tournament(client: TestClient): + """Test case for get_admin_collection_for_tournament + + Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/admins".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_bracket_collection_for_tournament(client: TestClient): + """Test case for get_bracket_collection_for_tournament + + Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/brackets".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_info_collection_for_tournament(client: TestClient): + """Test case for get_info_collection_for_tournament + + Retrieve all information for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/info".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_match_collection_for_tournament(client: TestClient): + """Test case for get_match_collection_for_tournament + + Retrieve all match data for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/matches".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_tournament(client: TestClient): + """Test case for get_stat_collection_for_tournament + + Retrieve all statistics for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/stats".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_tournament_identifier_collection(client: TestClient): + """Test case for get_tournament_identifier_collection + + Retrieve all available tournaments for all games available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_all_admins_for_tournament(client: TestClient): + """Test case for partial_update_all_admins_for_tournament + + Update details of admins for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/tournaments/{tournament_id}/admins".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_bracket_for_tournament(client: TestClient): + """Test case for partial_update_bracket_for_tournament + + Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/tournaments/{tournament_id}/brackets".format(tournament_id='tournament_id_example'), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_tournaments(client: TestClient): + """Test case for partial_update_tournaments + + Partial update of tournaments + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/tournaments", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_remove_all_admins_for_tournament(client: TestClient): + """Test case for remove_all_admins_for_tournament + + Remove all admins for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/tournaments/{tournament_id}/admins".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_remove_all_brackets_for_tournament(client: TestClient): + """Test case for remove_all_brackets_for_tournament + + Remove all brackets for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/tournaments/{tournament_id}/brackets".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_remove_all_tournaments(client: TestClient): + """Test case for remove_all_tournaments + + Remove all tournaments + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/tournaments", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_tournaments_api.py b/tests/test_tournaments_api.py new file mode 100644 index 0000000..4f4704c --- /dev/null +++ b/tests/test_tournaments_api.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_get_bracket_collection_for_tournament(client: TestClient): + """Test case for get_bracket_collection_for_tournament + + Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/brackets".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_info_collection_for_tournament(client: TestClient): + """Test case for get_info_collection_for_tournament + + Retrieve all information for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/info".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_match_collection_for_tournament(client: TestClient): + """Test case for get_match_collection_for_tournament + + Retrieve all match data for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/matches".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_stat_collection_for_tournament(client: TestClient): + """Test case for get_stat_collection_for_tournament + + Retrieve all statistics for a specific tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/tournaments/{tournament_id}/stats".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_user_administration_api.py b/tests/test_user_administration_api.py new file mode 100644 index 0000000..516b1e1 --- /dev/null +++ b/tests/test_user_administration_api.py @@ -0,0 +1,193 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 +from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError # noqa: F401 + + +def test_bulk_update_all_user_details(client: TestClient): + """Test case for bulk_update_all_user_details + + Bulk update details for a specific user profile on our platform if it exists + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/users/{user_id}".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_bulk_update_all_users(client: TestClient): + """Test case for bulk_update_all_users + + Bulk update of all users of our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/users", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_create_new_user(client: TestClient): + """Test case for create_new_user + + Create a new user for our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/users", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_details_for_user(client: TestClient): + """Test case for get_details_for_user + + Retrieve details for a specific user profile on our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/users/{user_id}".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_get_user_collection(client: TestClient): + """Test case for get_user_collection + + Retrieve all users of our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/users", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_all_users(client: TestClient): + """Test case for partial_update_all_users + + Partially update details for all user profiles + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/users", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_user(client: TestClient): + """Test case for partial_update_user + + Update details for a specific user profile on our platform if it exists + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/users/{user_id}".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_remove_all_users(client: TestClient): + """Test case for remove_all_users + + Remove all users from our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/users", + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_remove_user(client: TestClient): + """Test case for remove_user + + Remove user from our platform if it exists + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/users/{user_id}".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_user_adminstration_api.py b/tests/test_user_adminstration_api.py new file mode 100644 index 0000000..a25a3dd --- /dev/null +++ b/tests/test_user_adminstration_api.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_remove_all_user_stats(client: TestClient): + """Test case for remove_all_user_stats + + Remove all stats for a specific user profile on our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + From 8c8a35ae4fddda22205e2e277feefa33c4710635 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sun, 9 Oct 2022 11:42:40 +0200 Subject: [PATCH 13/63] Add some more query parameters, change GameID to enum --- .gitignore | 3 + openapi.yaml | 353 ++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 321 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index a81c8ee..9239921 100644 --- a/.gitignore +++ b/.gitignore @@ -136,3 +136,6 @@ dmypy.json # Cython debug symbols cython_debug/ + +# VSCode/VSCodium +.vscode\settings.json \ No newline at end of file diff --git a/openapi.yaml b/openapi.yaml index 16f5395..dd122a6 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -16,13 +16,87 @@ info: x-logo: url: "" servers: - - description: Libre:Match Server v1 + - description: Libre:Match Production Server v1 url: https://api.librematch.org/v1 x-last-modified: 1663947810574 + - description: Libre:Match Development Server v1 + url: https://dev.librematch.org/v1 + x-last-modified: 1663947810574 security: - BasicAuth: [] - X-Api-Key: [] paths: + /profiles/search: + description: "Search endpoint" + get: + description: "Search for a profile by Steam ID or name, returns a single `profile_id` usable with other endpoints" + operationId: get_profile_information_from_search + parameters: + - deprecated: false + description: "First 10 characters of a search string for name" + explode: false + in: query + name: by_name + required: false + schema: + $ref: "#/components/schemas/SearchParam" + x-last-modified: 1663949717971 + - deprecated: false + description: The Steam ID to search for + explode: false + in: query + name: by_steam_id + required: false + schema: + $ref: "#/components/schemas/SteamId" + x-last-modified: 1663949717971 + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + "200": + description: Operation succeeded + x-last-modified: 1665056670316 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665072543221 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + description: Forbidden + x-last-modified: 1665056800086 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + description: Entity not found + x-last-modified: 1665056674861 + "406": + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable + x-last-modified: 1665056674861 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests + x-last-modified: 1665056827121 + tags: + - Search /dumps/{timeframe}: description: Download database dumps get: @@ -154,16 +228,23 @@ paths: get: operationId: get_definition_collection_for_game parameters: + - in: query + deprecated: false + explode: false + name: language + required: false + schema: + $ref: "#/components/schemas/LanguageString" + description: "The language to query definitions for that are being used by the API (Default: 'en')" - deprecated: false - description: - The unique identifier (ULID) we use for games that use the Relic + description: The unique identifier we use for games that use the Relic Link API explode: false in: path name: game_id required: true schema: - $ref: "#/components/schemas/Ulid" + $ref: "#/components/schemas/GameId" style: simple x-last-modified: 1663949717971 responses: @@ -221,15 +302,14 @@ paths: operationId: get_info_collection_for_game parameters: - deprecated: false - description: - The unique identifier (ULID) we use for games that use the Relic + description: The unique identifier we use for games that use the Relic Link API explode: false in: path name: game_id required: true schema: - $ref: "#/components/schemas/Ulid" + $ref: "#/components/schemas/GameId" style: simple x-last-modified: 1663949717971 responses: @@ -288,16 +368,31 @@ paths: get: operationId: get_match_collection_for_game parameters: + - required: false + in: query + explode: false + deprecated: false + name: count + schema: + $ref: "#/components/schemas/CountParam" + description: "Number of leaderboard entries to get" + - required: false + in: query + explode: false + deprecated: false + name: since + schema: + $ref: "#/components/schemas/SinceParam" + description: "Only show matches starting after this Unix timestamp" - deprecated: false - description: - The unique identifier (ULID) we use for games that use the Relic + description: The unique identifier we use for games that use the Relic Link API explode: false in: path name: game_id required: true schema: - $ref: "#/components/schemas/Ulid" + $ref: "#/components/schemas/GameId" style: simple x-last-modified: 1663949717971 responses: @@ -791,6 +886,30 @@ paths: get: operationId: get_match_collection_for_profile parameters: + - required: false + in: query + explode: false + deprecated: false + name: last_match + schema: + type: boolean + description: "Only show exactly the last available match" + - required: false + in: query + explode: false + deprecated: false + name: count + schema: + $ref: "#/components/schemas/CountParam" + description: "Number of leaderboard entries to get" + - required: false + in: query + explode: false + deprecated: false + name: since + schema: + $ref: "#/components/schemas/SinceParam" + description: "Only show matches starting after this Unix timestamp" - deprecated: false description: The unique identifier used by the Relic Link API for a player @@ -1862,15 +1981,14 @@ paths: operationId: get_details_for_game parameters: - deprecated: false - description: - The unique identifier (ULID) we use for games that use the Relic + description: The unique identifier we use for games that use the Relic Link API explode: false in: path name: game_id required: true schema: - $ref: "#/components/schemas/Ulid" + $ref: "#/components/schemas/GameId" style: simple x-last-modified: 1663949717971 responses: @@ -1926,15 +2044,14 @@ paths: operationId: get_leaderboard_collection_for_game parameters: - deprecated: false - description: - The unique identifier (ULID) we use for games that use the Relic + description: The unique identifier we use for games that use the Relic Link API explode: false in: path name: game_id required: true schema: - $ref: "#/components/schemas/Ulid" + $ref: "#/components/schemas/GameId" style: simple x-last-modified: 1663949717971 responses: @@ -1991,6 +2108,38 @@ paths: get: operationId: get_details_for_leaderboard parameters: + - required: false + in: query + explode: false + deprecated: false + name: profile_id + schema: + $ref: "#/components/schemas/RelicLinkId" + description: "Search for a profile ID in a leaderboard" + - required: false + in: query + explode: false + deprecated: false + name: search + schema: + $ref: "#/components/schemas/SearchParam" + description: "Search for a name in a leaderboard" + - required: false + in: query + explode: false + deprecated: false + name: start + schema: + $ref: "#/components/schemas/StartParam" + description: "Starting rank" + - required: false + in: query + explode: false + deprecated: false + name: count + schema: + $ref: "#/components/schemas/CountParam" + description: "Number of leaderboard entries to get" - deprecated: false description: The unique identifier (ULID) we use for leaderboards of the Relic @@ -2131,6 +2280,22 @@ paths: get: operationId: get_match_collection_for_leaderboard parameters: + - required: false + in: query + explode: false + deprecated: false + name: count + schema: + $ref: "#/components/schemas/CountParam" + description: "Number of leaderboard entries to get" + - required: false + in: query + explode: false + deprecated: false + name: since + schema: + $ref: "#/components/schemas/SinceParam" + description: "Only show matches starting after this Unix timestamp" - deprecated: false description: The unique identifier (ULID) we use for leaderboards of the Relic @@ -3053,6 +3218,22 @@ paths: get: operationId: get_match_collection_for_tournament parameters: + - required: false + in: query + explode: false + deprecated: false + name: count + schema: + $ref: "#/components/schemas/CountParam" + description: "Number of leaderboard entries to get" + - required: false + in: query + explode: false + deprecated: false + name: since + schema: + $ref: "#/components/schemas/SinceParam" + description: "Only show matches starting after this Unix timestamp" - deprecated: false description: The unique identifier (ULID) we use for tournaments explode: false @@ -3254,9 +3435,7 @@ paths: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665058119290 - summary: - Retrieve all brackets for a specific tournament for a specific game - available on the Relic Link platform + summary: Retrieve all brackets for a specific tournament for a specific game tags: - Information - Tournaments @@ -4720,6 +4899,22 @@ paths: get: operationId: get_match_collection_for_team parameters: + - required: false + in: query + explode: false + deprecated: false + name: count + schema: + $ref: "#/components/schemas/CountParam" + description: "Number of leaderboard entries to get" + - required: false + in: query + explode: false + deprecated: false + name: since + schema: + $ref: "#/components/schemas/SinceParam" + description: "Only show matches starting after this Unix timestamp" - deprecated: false description: The unique identifier (ULID) we use for teams that play on games @@ -4920,7 +5115,7 @@ components: required: false schema: format: date-time - type: number + type: string style: simple If-None-Match: deprecated: false @@ -5000,7 +5195,7 @@ components: name: game_id required: true schema: - $ref: "#/components/schemas/Ulid" + $ref: "#/components/schemas/GameId" style: simple x-last-modified: 1663949717971 team_id: @@ -5129,66 +5324,154 @@ components: description: Service Unavailable x-last-modified: 1665057340292 schemas: + SinceParam: + additionalProperties: false + properties: + self: + format: int64 + minimum: 1602232026 # 2 years ago + maximum: 1980923226 # in 10 years + type: integer + pattern: "" + required: + - self + type: object + MatchId: + additionalProperties: false + properties: + self: + format: uuid + maxLength: 36 + type: string + pattern: "^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$" + required: + - self + type: object + SteamId: + additionalProperties: false + properties: + self: + format: int64 + maxLength: 18 + type: integer + required: + - self + type: object + SearchParam: + additionalProperties: false + description: "First 10 characters of a search string" + properties: + self: + format: string + pattern: "^.{10}$" + maxLength: 10 + type: string + required: + - self + type: object + CountParam: + additionalProperties: false + properties: + self: + format: int32 + minimum: 1 + maximum: 10000 + type: integer + required: + - self + type: object + StartParam: + additionalProperties: false + properties: + self: + format: int64 + minimum: 1 + maximum: 999999999 + type: integer + required: + - self + type: object + LanguageString: + additionalProperties: false + properties: + self: + format: string + maxLength: 5 + minLength: 2 + pattern: "^([a-z]{2}){1}\b(-[A-Z]{2}){0,1}$" + type: string + required: + - self + type: object AuthorizationHeader: additionalProperties: false properties: - AuthorizationHeader: + self: format: string maxLength: 33 - maximum: 33 type: string required: - - AuthorizationHeader + - self type: object x-last-modified: 1665056674054 WwwAuthenticate: additionalProperties: false properties: - WwwAuthenticate: + self: format: string maxLength: 33 - maximum: 33 type: string required: - - WwwAuthenticate + - self type: object x-last-modified: 1665056674054 Md5: additionalProperties: false properties: - Md5: + checksum: format: string maxLength: 33 maximum: 33 - pattern: "^[A-F0-9]{32}$" + pattern: "^[a-fA-F0-9]{32}$" type: string required: - - Md5 + - checksum type: object x-last-modified: 1665056674054 Timeframe: additionalProperties: false properties: - timeframe: + self: format: string maxLength: 15 maximum: 15 - pattern: ^example-TODO$ + pattern: ^\d\d\d\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])$ type: string required: - - timeframe + - self type: object x-last-modified: 1665056674054 RelicLinkId: additionalProperties: false properties: - relic_link_id: + id: format: int64 maximum: 999999999 minimum: 0 type: integer required: - - relic_link_id + - id + type: object + x-last-modified: 1665056674054 + GameId: + additionalProperties: false + description: "Supported games by Relic Link API" + properties: + self: + type: string + enum: [aoe1de, aoe2de, aoe3de, aoe4] + required: + - self type: object x-last-modified: 1665056674054 Ulid: From 99bf9cd0fee410f619ade17ec9f2fa153eb65688 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sun, 9 Oct 2022 11:46:59 +0200 Subject: [PATCH 14/63] Reset last modified --- openapi.yaml | 1214 +++++++++++++++++++++++++------------------------- 1 file changed, 607 insertions(+), 607 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index dd122a6..76a7d5f 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -10,7 +10,7 @@ info: license: name: GNU AGPLv3 url: https://www.gnu.org/licenses/agpl.txt - x-last-modified: 1663947772699 + x-last-modified: 1665308784 title: Libre:Match API version: 1.0.0-DRAFT x-logo: @@ -18,10 +18,10 @@ info: servers: - description: Libre:Match Production Server v1 url: https://api.librematch.org/v1 - x-last-modified: 1663947810574 + x-last-modified: 1665308784 - description: Libre:Match Development Server v1 url: https://dev.librematch.org/v1 - x-last-modified: 1663947810574 + x-last-modified: 1665308784 security: - BasicAuth: [] - X-Api-Key: [] @@ -40,7 +40,7 @@ paths: required: false schema: $ref: "#/components/schemas/SearchParam" - x-last-modified: 1663949717971 + x-last-modified: 1665308784 - deprecated: false description: The Steam ID to search for explode: false @@ -49,7 +49,7 @@ paths: required: false schema: $ref: "#/components/schemas/SteamId" - x-last-modified: 1663949717971 + x-last-modified: 1665308784 responses: default: content: @@ -59,42 +59,42 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 tags: - Search /dumps/{timeframe}: @@ -112,7 +112,7 @@ paths: schema: $ref: "#/components/schemas/Timeframe" style: simple - x-last-modified: 1663949717971 + x-last-modified: 1665308784 responses: default: content: @@ -122,49 +122,49 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 tags: - Database - Statistics @@ -183,47 +183,47 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve a list of all game identifiers for games tags: - Information summary: Endpoint for game-specific data - x-last-modified: 1663947918891 + x-last-modified: 1665308784 /games/{game_id}/definitions: get: operationId: get_definition_collection_for_game @@ -246,7 +246,7 @@ paths: schema: $ref: "#/components/schemas/GameId" style: simple - x-last-modified: 1663949717971 + x-last-modified: 1665308784 responses: default: content: @@ -256,47 +256,47 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve all available definitions for a specific game tags: - Definition summary: "game-specific definitions, e.g. map names, civilisation names, translations" - x-last-modified: 1663948104836 + x-last-modified: 1665308784 /games/{game_id}/info: get: operationId: get_info_collection_for_game @@ -311,7 +311,7 @@ paths: schema: $ref: "#/components/schemas/GameId" style: simple - x-last-modified: 1663949717971 + x-last-modified: 1665308784 responses: default: content: @@ -321,49 +321,49 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve all available information for a specific game tags: - Information summary: "information about server maintenance times, DLC stuff, patch releases,\ \ etc." - x-last-modified: 1663948169247 + x-last-modified: 1665308784 /games/{game_id}/matches: get: operationId: get_match_collection_for_game @@ -394,7 +394,7 @@ paths: schema: $ref: "#/components/schemas/GameId" style: simple - x-last-modified: 1663949717971 + x-last-modified: 1665308784 responses: default: content: @@ -404,49 +404,49 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve all matches for a specific game tags: - Match data summary: "match data spanning over the complete game (all leaderboards, basically\ \ a log" - x-last-modified: 1663948210036 + x-last-modified: 1665308784 /tournaments: delete: description: "" @@ -460,49 +460,49 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Remove all tournaments tags: - Tournament Administration @@ -517,49 +517,49 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve all available tournaments for all games available on the Relic Link platform @@ -578,56 +578,56 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Partial update of tournaments tags: - Tournament Administration @@ -643,56 +643,56 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Create a new tournament for a game available on the Relic Link platform tags: - Tournament Administration @@ -708,61 +708,61 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Bulk update of tournaments tags: - Tournament Administration summary: Endpoint for tournament information - x-last-modified: 1663948422917 + x-last-modified: 1665308784 /profiles: get: operationId: get_profile_collection @@ -775,47 +775,47 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve all available profiles tags: - Administration summary: Endpoint for player profiles on the Relic Link platform - x-last-modified: 1663948530301 + x-last-modified: 1665308784 /profiles/{relic_link_id}: get: operationId: get_details_for_profile @@ -831,7 +831,7 @@ paths: schema: $ref: "#/components/schemas/RelicLinkId" style: simple - x-last-modified: 1663949613648 + x-last-modified: 1665308784 responses: default: content: @@ -841,47 +841,47 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve the details for a specific profile tags: - Information summary: Profile information for a Relic Link player_ID - x-last-modified: 1663948567394 + x-last-modified: 1665308784 /profiles/{relic_link_id}/matches: get: operationId: get_match_collection_for_profile @@ -921,7 +921,7 @@ paths: schema: $ref: "#/components/schemas/RelicLinkId" style: simple - x-last-modified: 1663949613648 + x-last-modified: 1665308784 responses: default: content: @@ -931,47 +931,47 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve all matches for a specific profile tags: - Match data summary: match data for a certain Relic Link profile - x-last-modified: 1663948607956 + x-last-modified: 1665308784 /users: delete: description: "" @@ -985,42 +985,42 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Remove all users from our platform tags: - User Administration @@ -1036,42 +1036,42 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve all users of our platform tags: - User Administration @@ -1087,49 +1087,49 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Partially update details for all user profiles tags: - User Administration @@ -1145,52 +1145,52 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "201": description: Created - x-last-modified: 1665072508175 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Create a new user for our platform tags: - Authentication @@ -1208,54 +1208,54 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Bulk update of all users of our platform tags: - User Administration summary: Endpoint for users of our API - x-last-modified: 1663948638250 + x-last-modified: 1665308784 /users/{user_id}: delete: description: "" @@ -1270,7 +1270,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665078217885 + x-last-modified: 1665308784 responses: default: content: @@ -1280,42 +1280,42 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Remove user from our platform if it exists tags: - User Administration @@ -1331,7 +1331,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665078217885 + x-last-modified: 1665308784 responses: default: content: @@ -1341,42 +1341,42 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve details for a specific user profile on our platform tags: - Information @@ -1394,7 +1394,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665078217885 + x-last-modified: 1665308784 responses: default: content: @@ -1404,49 +1404,49 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Update details for a specific user profile on our platform if it exists tags: - User Administration @@ -1463,7 +1463,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665078217885 + x-last-modified: 1665308784 responses: default: content: @@ -1473,56 +1473,56 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Bulk update details for a specific user profile on our platform if it exists tags: - User Administration summary: user profile for an API user - x-last-modified: 1663948686307 + x-last-modified: 1665308784 /users/login: post: operationId: user_login @@ -1535,53 +1535,53 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 tags: - Authentication summary: Login for users of our API - x-last-modified: 1663948709646 + x-last-modified: 1665308784 /users/logout: get: operationId: user_logout @@ -1594,46 +1594,46 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 tags: - Authentication summary: Logout for users of our API - x-last-modified: 1663948774846 + x-last-modified: 1665308784 /users/register: post: operationId: user_register @@ -1646,53 +1646,53 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 tags: - Account Registration summary: Registering as a new User to our API - x-last-modified: 1663948797787 + x-last-modified: 1665308784 /users/validate: description: "Validate API tokens, can give information about how long a token\ @@ -1708,42 +1708,42 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 tags: - Authentication - API Token Validation @@ -1758,54 +1758,54 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 tags: - Authentication - API Token Validation summary: Validation for a user account and api tokens used for our API - x-last-modified: 1663948876606 + x-last-modified: 1665308784 /application: get: operationId: get_information_collection_for_application @@ -1818,42 +1818,42 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve a list of available application information tags: - Internal @@ -1861,7 +1861,7 @@ paths: summary: "General information and data about Libre:Match app, e.g. API updates,\ \ possible upcoming maintenance and other news/stuff" - x-last-modified: 1663948904071 + x-last-modified: 1665308784 /application/statistics: get: operationId: get_stat_collection_for_application @@ -1874,42 +1874,42 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve a list of only application statistics tags: - Internal @@ -1917,7 +1917,7 @@ paths: summary: "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ \ amount of users, etc." - x-last-modified: 1663948946628 + x-last-modified: 1665308784 /application/status: get: operationId: get_status_collection_for_application @@ -1930,52 +1930,52 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "503": description: Service Unavailable - x-last-modified: 1665057340292 + x-last-modified: 1665308784 summary: Retrieve only application status tags: - Internal - Administration - Status Check summary: Status updates for health checks of our API - x-last-modified: 1663948961011 + x-last-modified: 1665308784 /games/{game_id}: get: operationId: get_details_for_game @@ -1990,7 +1990,7 @@ paths: schema: $ref: "#/components/schemas/GameId" style: simple - x-last-modified: 1663949717971 + x-last-modified: 1665308784 responses: default: content: @@ -2000,45 +2000,45 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve details for a game with a specific identifiers summary: "game-specific definitions, e.g. map names, civilisation names, translations" - x-last-modified: 1663950376911 + x-last-modified: 1665308784 /games/{game_id}/leaderboards: get: operationId: get_leaderboard_collection_for_game @@ -2053,7 +2053,7 @@ paths: schema: $ref: "#/components/schemas/GameId" style: simple - x-last-modified: 1663949717971 + x-last-modified: 1665308784 responses: default: content: @@ -2063,47 +2063,47 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve all leaderboards for a specific game tags: - Leaderboards summary: Collection of leaderboard data spanning over the complete game - x-last-modified: 1665053521883 + x-last-modified: 1665308784 /leaderboards/{leaderboard_id}: get: operationId: get_details_for_leaderboard @@ -2151,7 +2151,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949692803 + x-last-modified: 1665308784 responses: default: content: @@ -2161,47 +2161,47 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve details for a specific leaderboard tags: - Leaderboards summary: game-specific leaderboards on the Relic Link platform - x-last-modified: 1665053547091 + x-last-modified: 1665308784 /leaderboards/{leaderboard_id}/stats: get: operationId: get_stat_collection_for_leaderboard @@ -2217,7 +2217,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949692803 + x-last-modified: 1665308784 responses: default: content: @@ -2227,55 +2227,55 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve all stats on a specific leaderboard for a certain game tags: - Leaderboards - Statistics summary: Collection of stats for a specific leaderboard - x-last-modified: 1665053642553 + x-last-modified: 1665308784 /leaderboards/{leaderboard_id}/matches: get: operationId: get_match_collection_for_leaderboard @@ -2307,7 +2307,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949692803 + x-last-modified: 1665308784 responses: default: content: @@ -2317,48 +2317,48 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve all matches on a specific leaderboard for a certain game tags: - Leaderboards - Match data summary: Collection of match data for a specific leaderboard - x-last-modified: 1665053682780 + x-last-modified: 1665308784 /leaderboards: get: operationId: get_leaderboard_collection @@ -2371,48 +2371,48 @@ paths: description: Unauthorized access "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 summary: Retrieve all leaderboards tags: - Leaderboards - Information summary: Collection of all leaderboard data on the Relic Link platform - x-last-modified: 1665053727563 + x-last-modified: 1665308784 /tournaments/{tournament_id}: delete: description: "" @@ -2427,7 +2427,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -2443,42 +2443,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Remove a tournament for a specific game available on the Relic Link platform @@ -2496,7 +2496,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -2512,42 +2512,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve details for a tournament for a specific game available on the Relic Link platform @@ -2566,7 +2566,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -2582,49 +2582,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Partially update a tournament for a specific game available on the Relic Link platform @@ -2643,7 +2643,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -2659,54 +2659,54 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Update details for a tournament for a specific game tags: - Adminstration summary: game-specific tournaments - x-last-modified: 1665054574222 + x-last-modified: 1665308784 /users/{user_id}/stats: delete: description: "" @@ -2721,7 +2721,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665078217885 + x-last-modified: 1665308784 responses: default: content: @@ -2737,42 +2737,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Remove all stats for a specific user profile on our platform tags: - User Adminstration @@ -2788,7 +2788,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665078217885 + x-last-modified: 1665308784 responses: default: content: @@ -2804,42 +2804,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve all stats for a specific user profile on our platform tags: - Statistics @@ -2856,7 +2856,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665078217885 + x-last-modified: 1665308784 responses: default: content: @@ -2872,49 +2872,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Partially update stats for a specific user profile on our platform tags: - Adminstration @@ -2931,7 +2931,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665078217885 + x-last-modified: 1665308784 responses: default: content: @@ -2947,49 +2947,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Create a new stat for a specific user profile on our platform tags: - Adminstration @@ -3006,7 +3006,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665078217885 + x-last-modified: 1665308784 responses: default: content: @@ -3022,54 +3022,54 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Bulk update of stats for a specific user profile on our platform tags: - Adminstration summary: user profile for an API user - x-last-modified: 1665054653031 + x-last-modified: 1665308784 /tournaments/{tournament_id}/info: get: operationId: get_info_collection_for_tournament @@ -3083,7 +3083,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3099,49 +3099,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve all information for a specific tournament for a specific game tags: - Information - Tournaments - Tournament Administration summary: game-specific tournaments - x-last-modified: 1665054963238 + x-last-modified: 1665308784 /tournaments/{tournament_id}/stats: get: operationId: get_stat_collection_for_tournament @@ -3155,7 +3155,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3171,49 +3171,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve all statistics for a specific tournament for a specific game tags: - Statistics - Tournaments - Tournament Administration summary: game-specific tournaments - x-last-modified: 1665054963238 + x-last-modified: 1665308784 /tournaments/{tournament_id}/matches: get: operationId: get_match_collection_for_tournament @@ -3243,7 +3243,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3259,49 +3259,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve all match data for a specific tournament for a specific game tags: - Match data - Tournaments - Tournament Administration summary: game-specific tournaments - x-last-modified: 1665054963238 + x-last-modified: 1665308784 /tournaments/{tournament_id}/brackets: delete: description: "" @@ -3316,7 +3316,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3332,42 +3332,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Remove all brackets for a specific tournament for a specific game tags: - Tournament Administration @@ -3383,7 +3383,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3399,42 +3399,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve all brackets for a specific tournament for a specific game tags: - Information @@ -3456,7 +3456,7 @@ paths: pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" type: string style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3472,49 +3472,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform @@ -3534,7 +3534,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3550,49 +3550,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Create a new bracket for a specific tournament for a specific game available on the Relic Link platform @@ -3612,7 +3612,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3628,49 +3628,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform @@ -3678,7 +3678,7 @@ paths: - Administration - Tournament Administration summary: game-specific tournaments - x-last-modified: 1665054981775 + x-last-modified: 1665308784 /tournaments/{tournament_id}/admins: delete: description: "" @@ -3693,7 +3693,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3709,42 +3709,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Remove all admins for a specific tournament for a specific game tags: - Administration @@ -3761,7 +3761,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3777,42 +3777,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform @@ -3832,7 +3832,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3848,49 +3848,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Update details of admins for a specific tournament for a specific game available on the Relic Link platform @@ -3910,7 +3910,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -3926,49 +3926,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Create a new admin for a specific tournament for a specific game available on the Relic Link platform @@ -3988,7 +3988,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 responses: default: content: @@ -4004,55 +4004,55 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Bulk update of admins for a specific tournament for a specific game tags: - Administration - Tournament Administration summary: Endpoint for tournament admins - x-last-modified: 1665055638796 + x-last-modified: 1665308784 /teams: delete: description: "" @@ -4072,42 +4072,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Remove all teams tags: - Teams @@ -4129,42 +4129,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve all available teams tags: - Information @@ -4188,49 +4188,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Partial update of all teams tags: - Administration @@ -4253,49 +4253,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Create a new team tags: - Administration @@ -4318,55 +4318,55 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Bulk update of teams tags: - Administration - Team Administration summary: Endpoint for team information - x-last-modified: 1665138931985 + x-last-modified: 1665308784 /profiles/{relic_link_id}/settings: delete: description: "" @@ -4383,7 +4383,7 @@ paths: schema: $ref: "#/components/schemas/RelicLinkId" style: simple - x-last-modified: 1663949613648 + x-last-modified: 1665308784 responses: default: content: @@ -4399,42 +4399,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Remove all settings for a specific profile tags: - Profile Administration @@ -4453,7 +4453,7 @@ paths: schema: $ref: "#/components/schemas/RelicLinkId" style: simple - x-last-modified: 1663949613648 + x-last-modified: 1665308784 responses: default: content: @@ -4469,42 +4469,42 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve all settings for a specific profile tags: - Profile Administration @@ -4525,7 +4525,7 @@ paths: schema: $ref: "#/components/schemas/RelicLinkId" style: simple - x-last-modified: 1663949613648 + x-last-modified: 1665308784 responses: default: content: @@ -4541,49 +4541,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Update a specific setting for a specific profile from the Relic Link API @@ -4605,7 +4605,7 @@ paths: schema: $ref: "#/components/schemas/RelicLinkId" style: simple - x-last-modified: 1663949613648 + x-last-modified: 1665308784 responses: default: content: @@ -4621,49 +4621,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Create a new setting for a specific profile from the Relic Link API tags: - Profile Administration @@ -4683,7 +4683,7 @@ paths: schema: $ref: "#/components/schemas/RelicLinkId" style: simple - x-last-modified: 1663949613648 + x-last-modified: 1665308784 responses: default: content: @@ -4699,49 +4699,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Bulk update of settings for a specific profile from the Relic Link API @@ -4749,7 +4749,7 @@ paths: - Profile Administration - Administration summary: Collection of settings specifically for a certain Relic Link profile - x-last-modified: 1665138974395 + x-last-modified: 1665308784 /profiles/{relic_link_id}/stats: get: operationId: get_stat_collection_for_profile @@ -4765,7 +4765,7 @@ paths: schema: $ref: "#/components/schemas/RelicLinkId" style: simple - x-last-modified: 1663949613648 + x-last-modified: 1665308784 responses: default: content: @@ -4781,47 +4781,47 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve all stats for a specific profile tags: - Statistics summary: Collection of statistics specifically for a certain Relic Link profile - x-last-modified: 1665138997585 + x-last-modified: 1665308784 /teams/{team_id}: get: operationId: get_details_for_team @@ -4837,7 +4837,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665069480649 + x-last-modified: 1665308784 responses: default: content: @@ -4853,48 +4853,48 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve details of a team tags: - Teams - Team Administration summary: Team information - x-last-modified: 1665139023265 + x-last-modified: 1665308784 /teams/{team_id}/matches: get: operationId: get_match_collection_for_team @@ -4926,7 +4926,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665069480649 + x-last-modified: 1665308784 responses: default: content: @@ -4942,47 +4942,47 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve a list of matches for a specific team tags: - Match data summary: Collection of match information for a team - x-last-modified: 1665139050992 + x-last-modified: 1665308784 /teams/{team_id}/stats: get: operationId: get_stat_collection_for_team @@ -4998,7 +4998,7 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665069480649 + x-last-modified: 1665308784 responses: default: content: @@ -5014,49 +5014,49 @@ paths: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 summary: Retrieve a list of stats for a specific team tags: - Statistics - Teams - Team Administration summary: Collection of stats for a team - x-last-modified: 1665139090952 + x-last-modified: 1665308784 components: headers: Authorization: @@ -5160,7 +5160,7 @@ components: schema: $ref: "#/components/schemas/RelicLinkId" style: simple - x-last-modified: 1663949613648 + x-last-modified: 1665308784 tournament_id: deprecated: false description: The unique identifier (ULID) we use for tournaments @@ -5171,7 +5171,7 @@ components: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949674724 + x-last-modified: 1665308784 leaderboard_id: deprecated: false description: @@ -5184,7 +5184,7 @@ components: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1663949692803 + x-last-modified: 1665308784 game_id: deprecated: false description: @@ -5197,7 +5197,7 @@ components: schema: $ref: "#/components/schemas/GameId" style: simple - x-last-modified: 1663949717971 + x-last-modified: 1665308784 team_id: deprecated: false description: @@ -5210,7 +5210,7 @@ components: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665069480649 + x-last-modified: 1665308784 user_id: deprecated: false description: The unique identifier (ULID) we use for users of our API @@ -5221,108 +5221,108 @@ components: schema: $ref: "#/components/schemas/Ulid" style: simple - x-last-modified: 1665078217885 + x-last-modified: 1665308784 responses: "200": description: Operation succeeded - x-last-modified: 1665056670316 + x-last-modified: 1665308784 "201": description: Created - x-last-modified: 1665072508175 + x-last-modified: 1665308784 "202": content: application/json: schema: $ref: "#/components/schemas/Accepted" description: Accepted - x-last-modified: 1665057162357 + x-last-modified: 1665308784 "204": content: application/json: schema: $ref: "#/components/schemas/NoContent" description: No Content - x-last-modified: 1665056770881 + x-last-modified: 1665308784 "304": description: Not Modified - x-last-modified: 1665056864543 + x-last-modified: 1665308784 "400": content: application/json: schema: $ref: "#/components/schemas/IllegalInputError" description: Bad Request - x-last-modified: 1665057215110 + x-last-modified: 1665308784 "401": content: application/json: schema: $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access - x-last-modified: 1665072543221 + x-last-modified: 1665308784 "403": content: application/json: schema: $ref: "#/components/schemas/ForbiddenError" description: Forbidden - x-last-modified: 1665056800086 + x-last-modified: 1665308784 "404": content: application/json: schema: $ref: "#/components/schemas/NotFoundError" description: Entity not found - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "406": content: application/json: schema: $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable - x-last-modified: 1665056674861 + x-last-modified: 1665308784 "408": content: application/json: schema: $ref: "#/components/schemas/RequestTimeoutError" description: Request Timeout - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "415": content: application/json: schema: $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type - x-last-modified: 1665057248987 + x-last-modified: 1665308784 "429": content: application/json: schema: $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests - x-last-modified: 1665056827121 + x-last-modified: 1665308784 "500": content: application/json: schema: $ref: "#/components/schemas/ServerError" description: Server Error - x-last-modified: 1665056677455 + x-last-modified: 1665308784 "501": content: application/json: schema: $ref: "#/components/schemas/NotImplementedError" description: Not Implemented - x-last-modified: 1665058119290 + x-last-modified: 1665308784 "503": content: application/json: schema: $ref: "#/components/schemas/ServiceUnavailableError" description: Service Unavailable - x-last-modified: 1665057340292 + x-last-modified: 1665308784 schemas: SinceParam: additionalProperties: false @@ -5413,7 +5413,7 @@ components: required: - self type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 WwwAuthenticate: additionalProperties: false properties: @@ -5424,7 +5424,7 @@ components: required: - self type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 Md5: additionalProperties: false properties: @@ -5437,7 +5437,7 @@ components: required: - checksum type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 Timeframe: additionalProperties: false properties: @@ -5450,7 +5450,7 @@ components: required: - self type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 RelicLinkId: additionalProperties: false properties: @@ -5462,7 +5462,7 @@ components: required: - id type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 GameId: additionalProperties: false description: "Supported games by Relic Link API" @@ -5473,7 +5473,7 @@ components: required: - self type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 Ulid: additionalProperties: false properties: @@ -5487,7 +5487,7 @@ components: required: - ulid type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 UnsupportedMediaTypeError: additionalProperties: false properties: @@ -5504,7 +5504,7 @@ components: - message title: UnsupportedMediaTypeError type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 ServiceUnavailableError: additionalProperties: false properties: @@ -5518,7 +5518,7 @@ components: - code - message type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 NotImplementedError: additionalProperties: false properties: @@ -5535,7 +5535,7 @@ components: - message title: NotImplementedError type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 TooManyRequestsError: additionalProperties: false properties: @@ -5552,7 +5552,7 @@ components: - message title: TooManyRequestsError type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 RequestTimeoutError: additionalProperties: false properties: @@ -5566,7 +5566,7 @@ components: - code - message type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 NotAcceptableError: additionalProperties: false properties: @@ -5583,7 +5583,7 @@ components: - message title: NotAcceptableError type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 NotFoundError: additionalProperties: false properties: @@ -5600,7 +5600,7 @@ components: - message title: NotFoundError type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 ForbiddenError: additionalProperties: false properties: @@ -5617,7 +5617,7 @@ components: - message title: ForbiddenError type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 Accepted: additionalProperties: false properties: @@ -5631,7 +5631,7 @@ components: - code - message type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 NoContent: additionalProperties: false properties: @@ -5648,7 +5648,7 @@ components: - code - message type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 IllegalInputError: additionalProperties: false properties: @@ -5665,7 +5665,7 @@ components: - code - message type: object - x-last-modified: 1665056674054 + x-last-modified: 1665308784 UnauthorizedError: additionalProperties: false properties: @@ -5684,7 +5684,7 @@ components: - message title: UnauthorizedError type: object - x-last-modified: 1665056676293 + x-last-modified: 1665308784 ServerError: additionalProperties: false properties: @@ -5698,23 +5698,23 @@ components: - code - message type: object - x-last-modified: 1665056677454 + x-last-modified: 1665308784 securitySchemes: BasicAuth: description: "Example: \n> Authorization: " in: header name: BasicAuth type: apiKey - x-last-modified: 1663947718456 + x-last-modified: 1665308784 X-Api-Key: description: "Example: \n> X-Api-Key: ZGVtbzpwQDU1dzByZA==" in: header name: X-Api-Key type: apiKey - x-last-modified: 1663947718456 + x-last-modified: 1665308784 JWTAuth: bearerFormat: JWT description: "Example: \n> Authorization: Bearer " scheme: bearer type: http - x-last-modified: 1665071628782 + x-last-modified: 1665308784 From 0a02591361417b8e8b15bd776f41bc0d30d99cc3 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sun, 9 Oct 2022 12:11:26 +0200 Subject: [PATCH 15/63] Add query parameters to match up with aoe2.net feature set --- openapi.yaml | 208 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 203 insertions(+), 5 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 76a7d5f..54e1af6 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -33,7 +33,7 @@ paths: operationId: get_profile_information_from_search parameters: - deprecated: false - description: "First 10 characters of a search string for name" + description: "First 10 characters of a search string for name to search a `profile_id` for" explode: false in: query name: by_name @@ -42,7 +42,7 @@ paths: $ref: "#/components/schemas/SearchParam" x-last-modified: 1665308784 - deprecated: false - description: The Steam ID to search for + description: The Steam ID to search a `profile_id` for explode: false in: query name: by_steam_id @@ -368,6 +368,22 @@ paths: get: operationId: get_match_collection_for_game parameters: + - required: false + in: query + explode: false + deprecated: false + name: single_match + schema: + $ref: "#/components/schemas/MatchId" + description: "Match ID to filter for its details" + - required: false + in: query + explode: true + deprecated: false + name: status + schema: + $ref: "#/components/schemas/MatchStatus" + description: "Match status identifiers to filter for" - required: false in: query explode: false @@ -894,6 +910,30 @@ paths: schema: type: boolean description: "Only show exactly the last available match" + - required: false + in: query + explode: true + deprecated: false + name: status + schema: + $ref: "#/components/schemas/MatchStatus" + description: "Match status identifiers to filter for" + - required: false + in: query + explode: true + deprecated: false + name: game + schema: + $ref: "#/components/schemas/GameId" + description: "Game identifier to query for" + - required: false + in: query + explode: false + deprecated: false + name: start + schema: + $ref: "#/components/schemas/StartParam" + description: "Starting match" - required: false in: query explode: false @@ -901,7 +941,7 @@ paths: name: count schema: $ref: "#/components/schemas/CountParam" - description: "Number of leaderboard entries to get" + description: "Number of entries to get" - required: false in: query explode: false @@ -914,9 +954,9 @@ paths: description: The unique identifier used by the Relic Link API for a player on their platform - explode: false + explode: true in: path - name: relic_link_id + name: relic_link_ids required: true schema: $ref: "#/components/schemas/RelicLinkId" @@ -972,6 +1012,113 @@ paths: - Match data summary: match data for a certain Relic Link profile x-last-modified: 1665308784 + /profiles/{relic_link_id}/ledger: + get: + operationId: get_ledger_collection_for_profile + parameters: + - required: false + in: query + explode: true + deprecated: false + name: game + schema: + $ref: "#/components/schemas/GameId" + description: "Game identifier to query for" + - required: false + in: query + explode: false + deprecated: false + name: start + schema: + $ref: "#/components/schemas/StartParam" + description: "Starting match" + - required: false + in: query + explode: false + deprecated: false + name: leaderboard_id + schema: + $ref: "#/components/schemas/Ulid" + description: "Leaderboard identifier" + - required: false + in: query + explode: false + deprecated: false + name: count + schema: + $ref: "#/components/schemas/CountParam" + description: "Number of leaderboard entries to get" + - required: false + in: query + explode: false + deprecated: false + name: since + schema: + $ref: "#/components/schemas/SinceParam" + description: "Only show matches starting after this Unix timestamp" + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: true + in: path + name: relic_link_ids + required: true + schema: + $ref: "#/components/schemas/RelicLinkId" + style: simple + x-last-modified: 1665308784 + responses: + default: + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + "200": + description: Operation succeeded + x-last-modified: 1665308784 + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/UnauthorizedError" + description: Unauthorized access + x-last-modified: 1665308784 + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/ForbiddenError" + description: Forbidden + x-last-modified: 1665308784 + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/NotFoundError" + description: Entity not found + x-last-modified: 1665308784 + "406": + content: + application/json: + schema: + $ref: "#/components/schemas/NotAcceptableError" + description: Not acceptable + x-last-modified: 1665308784 + "429": + content: + application/json: + schema: + $ref: "#/components/schemas/TooManyRequestsError" + description: Too Many Requests + x-last-modified: 1665308784 + summary: Retrieve the rating ledger for a specific profile + tags: + - Match data + - Ratings + summary: Rating ledger a certain Relic Link profile + x-last-modified: 1665308784 /users: delete: description: "" @@ -2280,6 +2427,14 @@ paths: get: operationId: get_match_collection_for_leaderboard parameters: + - required: false + in: query + explode: true + deprecated: false + name: status + schema: + $ref: "#/components/schemas/MatchStatus" + description: "Match status identifiers to filter for" - required: false in: query explode: false @@ -3218,6 +3373,22 @@ paths: get: operationId: get_match_collection_for_tournament parameters: + - required: false + in: query + explode: true + deprecated: false + name: status + schema: + $ref: "#/components/schemas/MatchStatus" + description: "Match status identifiers to filter for" + - required: false + in: query + explode: true + deprecated: false + name: game + schema: + $ref: "#/components/schemas/GameId" + description: "Game identifier to query for" - required: false in: query explode: false @@ -4899,6 +5070,22 @@ paths: get: operationId: get_match_collection_for_team parameters: + - required: false + in: query + explode: true + deprecated: false + name: status + schema: + $ref: "#/components/schemas/MatchStatus" + description: "Match status identifiers to filter for" + - required: false + in: query + explode: true + deprecated: false + name: game + schema: + $ref: "#/components/schemas/GameId" + description: "Game identifier to query for" - required: false in: query explode: false @@ -5463,6 +5650,17 @@ components: - id type: object x-last-modified: 1665308784 + MatchStatus: + additionalProperties: false + description: "Match stati" + properties: + self: + type: string + enum: [draft, ongoing, finished] + required: + - self + type: object + x-last-modified: 1665308784 GameId: additionalProperties: false description: "Supported games by Relic Link API" From ac4d9253b072fa8d8e56a70159fceed2bdf965bd Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sun, 9 Oct 2022 12:19:41 +0200 Subject: [PATCH 16/63] Fix a few more security problems --- openapi.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 54e1af6..9d16e25 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -954,9 +954,9 @@ paths: description: The unique identifier used by the Relic Link API for a player on their platform - explode: true + explode: false in: path - name: relic_link_ids + name: relic_link_id required: true schema: $ref: "#/components/schemas/RelicLinkId" @@ -1060,9 +1060,9 @@ paths: description: The unique identifier used by the Relic Link API for a player on their platform - explode: true + explode: false in: path - name: relic_link_ids + name: relic_link_id required: true schema: $ref: "#/components/schemas/RelicLinkId" @@ -5528,7 +5528,6 @@ components: properties: self: format: uuid - maxLength: 36 type: string pattern: "^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$" required: @@ -5539,7 +5538,8 @@ components: properties: self: format: int64 - maxLength: 18 + maximum: 18 + minimum: 14 type: integer required: - self From b8a0c77372b60ce922481cea9de117e98b951ea4 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sun, 9 Oct 2022 12:38:26 +0200 Subject: [PATCH 17/63] Fix typo Adminstration=>Administration --- openapi.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 9d16e25..2727075 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -2638,7 +2638,7 @@ paths: Remove a tournament for a specific game available on the Relic Link platform tags: - - Adminstration + - Administration get: operationId: get_details_for_tournament parameters: @@ -2784,7 +2784,7 @@ paths: Partially update a tournament for a specific game available on the Relic Link platform tags: - - Adminstration + - Administration put: description: "" operationId: update_tournament_details @@ -2859,7 +2859,7 @@ paths: x-last-modified: 1665308784 summary: Update details for a tournament for a specific game tags: - - Adminstration + - Administration summary: game-specific tournaments x-last-modified: 1665308784 /users/{user_id}/stats: @@ -2930,7 +2930,7 @@ paths: x-last-modified: 1665308784 summary: Remove all stats for a specific user profile on our platform tags: - - User Adminstration + - User Administration get: operationId: get_stat_collection_for_user parameters: @@ -3072,7 +3072,7 @@ paths: x-last-modified: 1665308784 summary: Partially update stats for a specific user profile on our platform tags: - - Adminstration + - Administration post: description: "" operationId: create_new_user_stats @@ -3147,7 +3147,7 @@ paths: x-last-modified: 1665308784 summary: Create a new stat for a specific user profile on our platform tags: - - Adminstration + - Administration put: description: "" operationId: bulk_update_all_user_stats @@ -3222,7 +3222,7 @@ paths: x-last-modified: 1665308784 summary: Bulk update of stats for a specific user profile on our platform tags: - - Adminstration + - Administration summary: user profile for an API user x-last-modified: 1665308784 /tournaments/{tournament_id}/info: @@ -5656,7 +5656,7 @@ components: properties: self: type: string - enum: [draft, ongoing, finished] + enum: [drafting, ongoing, finished] required: - self type: object From f2f33f6e5bc8a6e7a2e19a48b7d6921a6f01e305 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sun, 9 Oct 2022 12:42:11 +0200 Subject: [PATCH 18/63] Commit new generation of server files --- .gitignore | 3 - .openapi-generator/FILES | 18 +- openapi.yaml | 3107 +++++++++-------- src/openapi_server/apis/administration_api.py | 179 + src/openapi_server/apis/adminstration_api.py | 209 -- src/openapi_server/apis/default_api.py | 4 +- src/openapi_server/apis/definition_api.py | 6 +- src/openapi_server/apis/information_api.py | 5 +- src/openapi_server/apis/leaderboards_api.py | 16 +- src/openapi_server/apis/match_data_api.py | 61 +- src/openapi_server/apis/ratings_api.py | 65 + ...ser_adminstration_api.py => search_api.py} | 19 +- .../apis/tournament_administration_api.py | 10 +- src/openapi_server/apis/tournaments_api.py | 10 +- .../apis/user_administration_api.py | 30 + src/openapi_server/main.py | 8 +- .../models/authorization_header.py | 8 +- .../models/{error.py => count_param.py} | 24 +- src/openapi_server/models/game_id.py | 24 + src/openapi_server/models/language_string.py | 39 + src/openapi_server/models/match_id.py | 29 + src/openapi_server/models/match_status.py | 24 + src/openapi_server/models/md5.py | 14 +- src/openapi_server/models/relic_link_id.py | 12 +- src/openapi_server/models/search_param.py | 34 + src/openapi_server/models/since_param.py | 34 + src/openapi_server/models/start_param.py | 34 + src/openapi_server/models/steam_id.py | 34 + src/openapi_server/models/timeframe.py | 14 +- src/openapi_server/models/www_authenticate.py | 8 +- tests/test_administration_api.py | 120 + tests/test_adminstration_api.py | 134 - tests/test_default_api.py | 1325 +------ tests/test_definition_api.py | 8 +- tests/test_information_api.py | 5 +- tests/test_leaderboards_api.py | 15 +- tests/test_match_data_api.py | 44 +- tests/test_ratings_api.py | 38 + ...dminstration_api.py => test_search_api.py} | 17 +- tests/test_tournament_administration_api.py | 9 +- tests/test_tournaments_api.py | 9 +- tests/test_user_administration_api.py | 21 + 42 files changed, 2518 insertions(+), 3309 deletions(-) delete mode 100644 src/openapi_server/apis/adminstration_api.py create mode 100644 src/openapi_server/apis/ratings_api.py rename src/openapi_server/apis/{user_adminstration_api.py => search_api.py} (72%) rename src/openapi_server/models/{error.py => count_param.py} (52%) create mode 100644 src/openapi_server/models/game_id.py create mode 100644 src/openapi_server/models/language_string.py create mode 100644 src/openapi_server/models/match_id.py create mode 100644 src/openapi_server/models/match_status.py create mode 100644 src/openapi_server/models/search_param.py create mode 100644 src/openapi_server/models/since_param.py create mode 100644 src/openapi_server/models/start_param.py create mode 100644 src/openapi_server/models/steam_id.py delete mode 100644 tests/test_adminstration_api.py create mode 100644 tests/test_ratings_api.py rename tests/{test_user_adminstration_api.py => test_search_api.py} (62%) diff --git a/.gitignore b/.gitignore index 9239921..a81c8ee 100644 --- a/.gitignore +++ b/.gitignore @@ -136,6 +136,3 @@ dmypy.json # Cython debug symbols cython_debug/ - -# VSCode/VSCodium -.vscode\settings.json \ No newline at end of file diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 5d95f60..9dffd87 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -10,7 +10,6 @@ setup.cfg src/openapi_server/apis/__init__.py src/openapi_server/apis/account_registration_api.py src/openapi_server/apis/administration_api.py -src/openapi_server/apis/adminstration_api.py src/openapi_server/apis/api_token_validation_api.py src/openapi_server/apis/authentication_api.py src/openapi_server/apis/database_api.py @@ -21,6 +20,8 @@ src/openapi_server/apis/internal_api.py src/openapi_server/apis/leaderboards_api.py src/openapi_server/apis/match_data_api.py src/openapi_server/apis/profile_administration_api.py +src/openapi_server/apis/ratings_api.py +src/openapi_server/apis/search_api.py src/openapi_server/apis/statistics_api.py src/openapi_server/apis/status_check_api.py src/openapi_server/apis/team_administration_api.py @@ -28,14 +29,18 @@ src/openapi_server/apis/teams_api.py src/openapi_server/apis/tournament_administration_api.py src/openapi_server/apis/tournaments_api.py src/openapi_server/apis/user_administration_api.py -src/openapi_server/apis/user_adminstration_api.py src/openapi_server/main.py src/openapi_server/models/__init__.py src/openapi_server/models/accepted.py src/openapi_server/models/authorization_header.py +src/openapi_server/models/count_param.py src/openapi_server/models/extra_models.py src/openapi_server/models/forbidden_error.py +src/openapi_server/models/game_id.py src/openapi_server/models/illegal_input_error.py +src/openapi_server/models/language_string.py +src/openapi_server/models/match_id.py +src/openapi_server/models/match_status.py src/openapi_server/models/md5.py src/openapi_server/models/no_content.py src/openapi_server/models/not_acceptable_error.py @@ -43,8 +48,12 @@ src/openapi_server/models/not_found_error.py src/openapi_server/models/not_implemented_error.py src/openapi_server/models/relic_link_id.py src/openapi_server/models/request_timeout_error.py +src/openapi_server/models/search_param.py src/openapi_server/models/server_error.py src/openapi_server/models/service_unavailable_error.py +src/openapi_server/models/since_param.py +src/openapi_server/models/start_param.py +src/openapi_server/models/steam_id.py src/openapi_server/models/timeframe.py src/openapi_server/models/too_many_requests_error.py src/openapi_server/models/ulid.py @@ -55,16 +64,18 @@ src/openapi_server/security_api.py tests/conftest.py tests/test_account_registration_api.py tests/test_administration_api.py -tests/test_adminstration_api.py tests/test_api_token_validation_api.py tests/test_authentication_api.py tests/test_database_api.py +tests/test_default_api.py tests/test_definition_api.py tests/test_information_api.py tests/test_internal_api.py tests/test_leaderboards_api.py tests/test_match_data_api.py tests/test_profile_administration_api.py +tests/test_ratings_api.py +tests/test_search_api.py tests/test_statistics_api.py tests/test_status_check_api.py tests/test_team_administration_api.py @@ -72,4 +83,3 @@ tests/test_teams_api.py tests/test_tournament_administration_api.py tests/test_tournaments_api.py tests/test_user_administration_api.py -tests/test_user_adminstration_api.py diff --git a/openapi.yaml b/openapi.yaml index 2727075..6dc3b4d 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -4,8 +4,7 @@ info: email: info@librematch.org name: Libre:Match Team url: https://librematch.org - description: - "stable, reliable and feature-rich API for match information, leaderboards,\ + description: "stable, reliable and feature-rich API for match information, leaderboards,\ \ and tournament organisation for the Age of Empires multiplayer community" license: name: GNU AGPLv3 @@ -16,46 +15,50 @@ info: x-logo: url: "" servers: - - description: Libre:Match Production Server v1 - url: https://api.librematch.org/v1 - x-last-modified: 1665308784 - - description: Libre:Match Development Server v1 - url: https://dev.librematch.org/v1 - x-last-modified: 1665308784 +- description: Libre:Match Production Server v1 + url: https://api.librematch.org/v1 + x-last-modified: 1665308784 +- description: Libre:Match Development Server v1 + url: https://dev.librematch.org/v1 + x-last-modified: 1665308784 security: - - BasicAuth: [] - - X-Api-Key: [] +- BasicAuth: [] +- X-Api-Key: [] paths: /profiles/search: - description: "Search endpoint" + description: Search endpoint get: - description: "Search for a profile by Steam ID or name, returns a single `profile_id` usable with other endpoints" + description: "Search for a profile by Steam ID or name, returns a single `profile_id`\ + \ usable with other endpoints" operationId: get_profile_information_from_search parameters: - - deprecated: false - description: "First 10 characters of a search string for name to search a `profile_id` for" - explode: false - in: query - name: by_name - required: false - schema: - $ref: "#/components/schemas/SearchParam" - x-last-modified: 1665308784 - - deprecated: false - description: The Steam ID to search a `profile_id` for - explode: false - in: query - name: by_steam_id - required: false - schema: - $ref: "#/components/schemas/SteamId" - x-last-modified: 1665308784 + - deprecated: false + description: First 10 characters of a search string for name to search a `profile_id` + for + explode: false + in: query + name: by_name + required: false + schema: + $ref: '#/components/schemas/SearchParam' + style: form + x-last-modified: 1665308784 + - deprecated: false + description: The Steam ID to search a `profile_id` for + explode: false + in: query + name: by_steam_id + required: false + schema: + $ref: '#/components/schemas/SteamId' + style: form + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -64,61 +67,61 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 tags: - - Search + - Search /dumps/{timeframe}: description: Download database dumps get: description: Download a database dump from a given timeframe operationId: get_database_dump_collection parameters: - - deprecated: false - description: The timeframe from which to download a database dump - explode: false - in: path - name: timeframe - required: true - schema: - $ref: "#/components/schemas/Timeframe" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The timeframe from which to download a database dump + explode: false + in: path + name: timeframe + required: true + schema: + $ref: '#/components/schemas/Timeframe' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -127,50 +130,50 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 tags: - - Database - - Statistics + - Database + - Statistics servers: - - description: Override base path for all operations with the /dumps path - url: https://dumps.librematch.org + - description: Override base path for all operations with the /dumps path + url: https://dumps.librematch.org /games: get: operationId: get_game_identifier_collection @@ -179,7 +182,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -188,71 +191,73 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve a list of all game identifiers for games tags: - - Information + - Information summary: Endpoint for game-specific data x-last-modified: 1665308784 /games/{game_id}/definitions: get: operationId: get_definition_collection_for_game parameters: - - in: query - deprecated: false - explode: false - name: language - required: false - schema: - $ref: "#/components/schemas/LanguageString" - description: "The language to query definitions for that are being used by the API (Default: 'en')" - - deprecated: false - description: The unique identifier we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - $ref: "#/components/schemas/GameId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: "The language to query definitions for that are being used by\ + \ the API (Default: 'en')" + explode: false + in: query + name: language + required: false + schema: + $ref: '#/components/schemas/LanguageString' + style: form + - deprecated: false + description: The unique identifier we use for games that use the Relic Link + API + explode: false + in: path + name: game_id + required: true + schema: + $ref: '#/components/schemas/GameId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -261,63 +266,63 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access. x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all available definitions for a specific game tags: - - Definition + - Definition summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1665308784 /games/{game_id}/info: get: operationId: get_info_collection_for_game parameters: - - deprecated: false - description: The unique identifier we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - $ref: "#/components/schemas/GameId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier we use for games that use the Relic Link + API + explode: false + in: path + name: game_id + required: true + schema: + $ref: '#/components/schemas/GameId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -326,97 +331,100 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access. x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all available information for a specific game tags: - - Information - summary: - "information about server maintenance times, DLC stuff, patch releases,\ + - Information + summary: "information about server maintenance times, DLC stuff, patch releases,\ \ etc." x-last-modified: 1665308784 /games/{game_id}/matches: get: operationId: get_match_collection_for_game parameters: - - required: false - in: query - explode: false - deprecated: false - name: single_match - schema: - $ref: "#/components/schemas/MatchId" - description: "Match ID to filter for its details" - - required: false - in: query - explode: true - deprecated: false - name: status - schema: - $ref: "#/components/schemas/MatchStatus" - description: "Match status identifiers to filter for" - - required: false - in: query - explode: false - deprecated: false - name: count - schema: - $ref: "#/components/schemas/CountParam" - description: "Number of leaderboard entries to get" - - required: false - in: query - explode: false - deprecated: false - name: since - schema: - $ref: "#/components/schemas/SinceParam" - description: "Only show matches starting after this Unix timestamp" - - deprecated: false - description: The unique identifier we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - $ref: "#/components/schemas/GameId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Match ID to filter for its details + explode: false + in: query + name: single_match + required: false + schema: + $ref: '#/components/schemas/MatchId' + style: form + - deprecated: false + description: Match status identifiers to filter for + explode: true + in: query + name: status + required: false + schema: + $ref: '#/components/schemas/MatchStatus' + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: '#/components/schemas/CountParam' + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: '#/components/schemas/SinceParam' + style: form + - deprecated: false + description: The unique identifier we use for games that use the Relic Link + API + explode: false + in: path + name: game_id + required: true + schema: + $ref: '#/components/schemas/GameId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -425,42 +433,41 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all matches for a specific game tags: - - Match data - summary: - "match data spanning over the complete game (all leaderboards, basically\ + - Match data + summary: "match data spanning over the complete game (all leaderboards, basically\ \ a log" x-last-modified: 1665308784 /tournaments: @@ -472,7 +479,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -481,47 +488,47 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Remove all tournaments tags: - - Tournament Administration + - Tournament Administration get: operationId: get_tournament_identifier_collection responses: @@ -529,7 +536,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -538,50 +545,49 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Retrieve all available tournaments for all games available on the Relic + summary: Retrieve all available tournaments for all games available on the Relic Link platform tags: - - Information - - Tournament Administration + - Information + - Tournament Administration patch: description: "" operationId: partial_update_tournaments @@ -590,7 +596,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -599,54 +605,54 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Partial update of tournaments tags: - - Tournament Administration + - Tournament Administration post: description: "" operationId: create_new_tournament @@ -655,7 +661,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -664,54 +670,54 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Create a new tournament for a game available on the Relic Link platform tags: - - Tournament Administration + - Tournament Administration put: description: "" operationId: bulk_update_all_tournaments @@ -720,7 +726,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -729,54 +735,54 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Bulk update of tournaments tags: - - Tournament Administration + - Tournament Administration summary: Endpoint for tournament information x-last-modified: 1665308784 /profiles: @@ -787,7 +793,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -796,64 +802,63 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all available profiles tags: - - Administration + - Administration summary: Endpoint for player profiles on the Relic Link platform x-last-modified: 1665308784 /profiles/{relic_link_id}: get: operationId: get_details_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: '#/components/schemas/RelicLinkId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -862,112 +867,117 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve the details for a specific profile tags: - - Information + - Information summary: Profile information for a Relic Link player_ID x-last-modified: 1665308784 /profiles/{relic_link_id}/matches: get: operationId: get_match_collection_for_profile parameters: - - required: false - in: query - explode: false - deprecated: false - name: last_match - schema: - type: boolean - description: "Only show exactly the last available match" - - required: false - in: query - explode: true - deprecated: false - name: status - schema: - $ref: "#/components/schemas/MatchStatus" - description: "Match status identifiers to filter for" - - required: false - in: query - explode: true - deprecated: false - name: game - schema: - $ref: "#/components/schemas/GameId" - description: "Game identifier to query for" - - required: false - in: query - explode: false - deprecated: false - name: start - schema: - $ref: "#/components/schemas/StartParam" - description: "Starting match" - - required: false - in: query - explode: false - deprecated: false - name: count - schema: - $ref: "#/components/schemas/CountParam" - description: "Number of entries to get" - - required: false - in: query - explode: false - deprecated: false - name: since - schema: - $ref: "#/components/schemas/SinceParam" - description: "Only show matches starting after this Unix timestamp" - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Only show exactly the last available match + explode: false + in: query + name: last_match + required: false + schema: + type: boolean + style: form + - deprecated: false + description: Match status identifiers to filter for + explode: true + in: query + name: status + required: false + schema: + $ref: '#/components/schemas/MatchStatus' + style: form + - deprecated: false + description: Game identifier to query for + explode: true + in: query + name: game + required: false + schema: + $ref: '#/components/schemas/GameId' + style: form + - deprecated: false + description: Starting match + explode: false + in: query + name: start + required: false + schema: + $ref: '#/components/schemas/StartParam' + style: form + - deprecated: false + description: Number of entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: '#/components/schemas/CountParam' + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: '#/components/schemas/SinceParam' + style: form + - deprecated: false + description: The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: '#/components/schemas/RelicLinkId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -976,104 +986,108 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all matches for a specific profile tags: - - Match data + - Match data summary: match data for a certain Relic Link profile x-last-modified: 1665308784 /profiles/{relic_link_id}/ledger: get: operationId: get_ledger_collection_for_profile parameters: - - required: false - in: query - explode: true - deprecated: false - name: game - schema: - $ref: "#/components/schemas/GameId" - description: "Game identifier to query for" - - required: false - in: query - explode: false - deprecated: false - name: start - schema: - $ref: "#/components/schemas/StartParam" - description: "Starting match" - - required: false - in: query - explode: false - deprecated: false - name: leaderboard_id - schema: - $ref: "#/components/schemas/Ulid" - description: "Leaderboard identifier" - - required: false - in: query - explode: false - deprecated: false - name: count - schema: - $ref: "#/components/schemas/CountParam" - description: "Number of leaderboard entries to get" - - required: false - in: query - explode: false - deprecated: false - name: since - schema: - $ref: "#/components/schemas/SinceParam" - description: "Only show matches starting after this Unix timestamp" - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Game identifier to query for + explode: true + in: query + name: game + required: false + schema: + $ref: '#/components/schemas/GameId' + style: form + - deprecated: false + description: Starting match + explode: false + in: query + name: start + required: false + schema: + $ref: '#/components/schemas/StartParam' + style: form + - deprecated: false + description: Leaderboard identifier + explode: false + in: query + name: leaderboard_id + required: false + schema: + $ref: '#/components/schemas/Ulid' + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: '#/components/schemas/CountParam' + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: '#/components/schemas/SinceParam' + style: form + - deprecated: false + description: The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: '#/components/schemas/RelicLinkId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1082,41 +1096,41 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve the rating ledger for a specific profile tags: - - Match data - - Ratings + - Match data + - Ratings summary: Rating ledger a certain Relic Link profile x-last-modified: 1665308784 /users: @@ -1128,7 +1142,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1137,40 +1151,40 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Remove all users from our platform tags: - - User Administration + - User Administration get: description: Authenticated Endpoint for Administrators or Libre:Match operationId: get_user_collection @@ -1179,7 +1193,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1188,40 +1202,40 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all users of our platform tags: - - User Administration + - User Administration patch: description: "" operationId: partial_update_all_users @@ -1230,7 +1244,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1239,47 +1253,47 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Partially update details for all user profiles tags: - - User Administration + - User Administration post: description: "" operationId: create_new_user @@ -1288,7 +1302,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1300,49 +1314,49 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Create a new user for our platform tags: - - Authentication - - Account Registration - - User Administration + - Authentication + - Account Registration + - User Administration put: description: "" operationId: bulk_update_all_users @@ -1351,7 +1365,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1360,47 +1374,47 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Bulk update of all users of our platform tags: - - User Administration + - User Administration summary: Endpoint for users of our API x-last-modified: 1665308784 /users/{user_id}: @@ -1408,22 +1422,22 @@ paths: description: "" operationId: remove_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1432,59 +1446,59 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Remove user from our platform if it exists tags: - - User Administration + - User Administration get: operationId: get_details_for_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1493,61 +1507,61 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve details for a specific user profile on our platform tags: - - Information - - User Administration + - Information + - User Administration patch: description: "" operationId: partial_update_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1556,67 +1570,67 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Update details for a specific user profile on our platform if it exists tags: - - User Administration + - User Administration put: description: "" operationId: bulk_update_all_user_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1625,49 +1639,48 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 - summary: - Bulk update details for a specific user profile on our platform if + summary: Bulk update details for a specific user profile on our platform if it exists tags: - - User Administration + - User Administration summary: user profile for an API user x-last-modified: 1665308784 /users/login: @@ -1678,7 +1691,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1687,46 +1700,46 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 tags: - - Authentication + - Authentication summary: Login for users of our API x-last-modified: 1665308784 /users/logout: @@ -1737,7 +1750,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1746,39 +1759,39 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 tags: - - Authentication + - Authentication summary: Logout for users of our API x-last-modified: 1665308784 /users/register: @@ -1789,7 +1802,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1798,51 +1811,50 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 tags: - - Account Registration + - Account Registration summary: Registering as a new User to our API x-last-modified: 1665308784 /users/validate: - description: - "Validate API tokens, can give information about how long a token\ + description: "Validate API tokens, can give information about how long a token\ \ is still valid and help automating updating a token" get: operationId: get_user_validation_details @@ -1851,7 +1863,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1860,40 +1872,40 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 tags: - - Authentication - - API Token Validation + - Authentication + - API Token Validation post: operationId: create_new_user_validation responses: @@ -1901,7 +1913,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1910,47 +1922,47 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 tags: - - Authentication - - API Token Validation + - Authentication + - API Token Validation summary: Validation for a user account and api tokens used for our API x-last-modified: 1665308784 /application: @@ -1961,7 +1973,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -1970,43 +1982,42 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve a list of available application information tags: - - Internal - - Administration - summary: - "General information and data about Libre:Match app, e.g. API updates,\ + - Internal + - Administration + summary: "General information and data about Libre:Match app, e.g. API updates,\ \ possible upcoming maintenance and other news/stuff" x-last-modified: 1665308784 /application/statistics: @@ -2017,7 +2028,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2026,43 +2037,42 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve a list of only application statistics tags: - - Internal - - Administration - summary: - "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ + - Internal + - Administration + summary: "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ \ amount of users, etc." x-last-modified: 1665308784 /application/status: @@ -2073,7 +2083,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2082,35 +2092,35 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "503": @@ -2118,32 +2128,32 @@ paths: x-last-modified: 1665308784 summary: Retrieve only application status tags: - - Internal - - Administration - - Status Check + - Internal + - Administration + - Status Check summary: Status updates for health checks of our API x-last-modified: 1665308784 /games/{game_id}: get: operationId: get_details_for_game parameters: - - deprecated: false - description: The unique identifier we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - $ref: "#/components/schemas/GameId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier we use for games that use the Relic Link + API + explode: false + in: path + name: game_id + required: true + schema: + $ref: '#/components/schemas/GameId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2152,35 +2162,35 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve details for a game with a specific identifiers @@ -2190,23 +2200,23 @@ paths: get: operationId: get_leaderboard_collection_for_game parameters: - - deprecated: false - description: The unique identifier we use for games that use the Relic - Link API - explode: false - in: path - name: game_id - required: true - schema: - $ref: "#/components/schemas/GameId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier we use for games that use the Relic Link + API + explode: false + in: path + name: game_id + required: true + schema: + $ref: '#/components/schemas/GameId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2215,96 +2225,99 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all leaderboards for a specific game tags: - - Leaderboards + - Leaderboards summary: Collection of leaderboard data spanning over the complete game x-last-modified: 1665308784 /leaderboards/{leaderboard_id}: get: operationId: get_details_for_leaderboard parameters: - - required: false - in: query - explode: false - deprecated: false - name: profile_id - schema: - $ref: "#/components/schemas/RelicLinkId" - description: "Search for a profile ID in a leaderboard" - - required: false - in: query - explode: false - deprecated: false - name: search - schema: - $ref: "#/components/schemas/SearchParam" - description: "Search for a name in a leaderboard" - - required: false - in: query - explode: false - deprecated: false - name: start - schema: - $ref: "#/components/schemas/StartParam" - description: "Starting rank" - - required: false - in: query - explode: false - deprecated: false - name: count - schema: - $ref: "#/components/schemas/CountParam" - description: "Number of leaderboard entries to get" - - deprecated: false - description: - The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Search for a profile ID in a leaderboard + explode: false + in: query + name: profile_id + required: false + schema: + $ref: '#/components/schemas/RelicLinkId' + style: form + - deprecated: false + description: Search for a name in a leaderboard + explode: false + in: query + name: search + required: false + schema: + $ref: '#/components/schemas/SearchParam' + style: form + - deprecated: false + description: Starting rank + explode: false + in: query + name: start + required: false + schema: + $ref: '#/components/schemas/StartParam' + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: '#/components/schemas/CountParam' + style: form + - deprecated: false + description: The unique identifier (ULID) we use for leaderboards of the Relic + Link API + explode: false + in: path + name: leaderboard_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2313,64 +2326,63 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve details for a specific leaderboard tags: - - Leaderboards + - Leaderboards summary: game-specific leaderboards on the Relic Link platform x-last-modified: 1665308784 /leaderboards/{leaderboard_id}/stats: get: operationId: get_stat_collection_for_leaderboard parameters: - - deprecated: false - description: - The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for leaderboards of the Relic + Link API + explode: false + in: path + name: leaderboard_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2379,96 +2391,98 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all stats on a specific leaderboard for a certain game tags: - - Leaderboards - - Statistics + - Leaderboards + - Statistics summary: Collection of stats for a specific leaderboard x-last-modified: 1665308784 /leaderboards/{leaderboard_id}/matches: get: operationId: get_match_collection_for_leaderboard parameters: - - required: false - in: query - explode: true - deprecated: false - name: status - schema: - $ref: "#/components/schemas/MatchStatus" - description: "Match status identifiers to filter for" - - required: false - in: query - explode: false - deprecated: false - name: count - schema: - $ref: "#/components/schemas/CountParam" - description: "Number of leaderboard entries to get" - - required: false - in: query - explode: false - deprecated: false - name: since - schema: - $ref: "#/components/schemas/SinceParam" - description: "Only show matches starting after this Unix timestamp" - - deprecated: false - description: - The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Match status identifiers to filter for + explode: true + in: query + name: status + required: false + schema: + $ref: '#/components/schemas/MatchStatus' + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: '#/components/schemas/CountParam' + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: '#/components/schemas/SinceParam' + style: form + - deprecated: false + description: The unique identifier (ULID) we use for leaderboards of the Relic + Link API + explode: false + in: path + name: leaderboard_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2477,41 +2491,41 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all matches on a specific leaderboard for a certain game tags: - - Leaderboards - - Match data + - Leaderboards + - Match data summary: Collection of match data for a specific leaderboard x-last-modified: 1665308784 /leaderboards: @@ -2522,7 +2536,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2531,41 +2545,41 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all leaderboards tags: - - Leaderboards - - Information + - Leaderboards + - Information summary: Collection of all leaderboard data on the Relic Link platform x-last-modified: 1665308784 /tournaments/{tournament_id}: @@ -2573,22 +2587,22 @@ paths: description: "" operationId: remove_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2596,68 +2610,67 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Remove a tournament for a specific game available on the Relic Link + summary: Remove a tournament for a specific game available on the Relic Link platform tags: - - Administration + - Administration get: operationId: get_details_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2665,69 +2678,68 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Retrieve details for a tournament for a specific game available on + summary: Retrieve details for a tournament for a specific game available on the Relic Link platform tags: - - Information + - Information patch: description: "" operationId: partial_update_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2735,76 +2747,75 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Partially update a tournament for a specific game available on the + summary: Partially update a tournament for a specific game available on the Relic Link platform tags: - - Administration + - Administration put: description: "" operationId: update_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2812,54 +2823,54 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Update details for a tournament for a specific game tags: - - Administration + - Administration summary: game-specific tournaments x-last-modified: 1665308784 /users/{user_id}/stats: @@ -2867,22 +2878,22 @@ paths: description: "" operationId: remove_all_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2890,66 +2901,66 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Remove all stats for a specific user profile on our platform tags: - - User Administration + - User Administration get: operationId: get_stat_collection_for_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -2957,67 +2968,67 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all stats for a specific user profile on our platform tags: - - Statistics + - Statistics patch: description: "" operationId: partial_update_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3025,74 +3036,74 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Partially update stats for a specific user profile on our platform tags: - - Administration + - Administration post: description: "" operationId: create_new_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3100,74 +3111,74 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Create a new stat for a specific user profile on our platform tags: - - Administration + - Administration put: description: "" operationId: bulk_update_all_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3175,76 +3186,76 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Bulk update of stats for a specific user profile on our platform tags: - - Administration + - Administration summary: user profile for an API user x-last-modified: 1665308784 /tournaments/{tournament_id}/info: get: operationId: get_info_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3252,71 +3263,71 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all information for a specific tournament for a specific game tags: - - Information - - Tournaments - - Tournament Administration + - Information + - Tournaments + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/stats: get: operationId: get_stat_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3324,103 +3335,107 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all statistics for a specific tournament for a specific game tags: - - Statistics - - Tournaments - - Tournament Administration + - Statistics + - Tournaments + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/matches: get: operationId: get_match_collection_for_tournament parameters: - - required: false - in: query - explode: true - deprecated: false - name: status - schema: - $ref: "#/components/schemas/MatchStatus" - description: "Match status identifiers to filter for" - - required: false - in: query - explode: true - deprecated: false - name: game - schema: - $ref: "#/components/schemas/GameId" - description: "Game identifier to query for" - - required: false - in: query - explode: false - deprecated: false - name: count - schema: - $ref: "#/components/schemas/CountParam" - description: "Number of leaderboard entries to get" - - required: false - in: query - explode: false - deprecated: false - name: since - schema: - $ref: "#/components/schemas/SinceParam" - description: "Only show matches starting after this Unix timestamp" - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Match status identifiers to filter for + explode: true + in: query + name: status + required: false + schema: + $ref: '#/components/schemas/MatchStatus' + style: form + - deprecated: false + description: Game identifier to query for + explode: true + in: query + name: game + required: false + schema: + $ref: '#/components/schemas/GameId' + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: '#/components/schemas/CountParam' + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: '#/components/schemas/SinceParam' + style: form + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3428,49 +3443,49 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all match data for a specific tournament for a specific game tags: - - Match data - - Tournaments - - Tournament Administration + - Match data + - Tournaments + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/brackets: @@ -3478,22 +3493,22 @@ paths: description: "" operationId: remove_all_brackets_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3501,66 +3516,66 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Remove all brackets for a specific tournament for a specific game tags: - - Tournament Administration + - Tournament Administration get: operationId: get_bracket_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3568,72 +3583,72 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all brackets for a specific tournament for a specific game tags: - - Information - - Tournaments - - Tournament Administration + - Information + - Tournaments + - Tournament Administration patch: description: "" operationId: partial_update_bracket_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - maxLength: 26 - pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" - type: string - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + maxLength: 26 + pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" + type: string + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3641,77 +3656,76 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Partial update all brackets for a specific tournament for a specific + summary: Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration post: description: "" operationId: create_new_bracket_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3719,77 +3733,76 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Create a new bracket for a specific tournament for a specific game + summary: Create a new bracket for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration put: description: "" operationId: bulk_update_all_brackets_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3797,57 +3810,56 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Bulk update all brackets for a specific tournament for a specific game + summary: Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/admins: @@ -3855,22 +3867,22 @@ paths: description: "" operationId: remove_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3878,67 +3890,67 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Remove all admins for a specific tournament for a specific game tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration get: operationId: get_admin_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -3946,70 +3958,69 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Retrieve all admins for a specific tournament for a specific game available + summary: Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration patch: description: "" operationId: partial_update_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4017,77 +4028,76 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Update details of admins for a specific tournament for a specific game + summary: Update details of admins for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration post: description: "" operationId: create_new_admin_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4095,77 +4105,76 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Create a new admin for a specific tournament for a specific game available + summary: Create a new admin for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration put: description: "" operationId: bulk_update_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4173,55 +4182,55 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Bulk update of admins for a specific tournament for a specific game tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration summary: Endpoint for tournament admins x-last-modified: 1665308784 /teams: @@ -4233,7 +4242,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4241,48 +4250,48 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Remove all teams tags: - - Teams - - Team Administration + - Teams + - Team Administration get: operationId: get_team_collection responses: @@ -4290,7 +4299,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4298,49 +4307,49 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all available teams tags: - - Information - - Teams - - Team Administration + - Information + - Teams + - Team Administration patch: description: "" operationId: partial_update_all_teams @@ -4349,7 +4358,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4357,55 +4366,55 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Partial update of all teams tags: - - Administration - - Team Administration + - Administration + - Team Administration post: description: "" operationId: create_new_team @@ -4414,7 +4423,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4422,55 +4431,55 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Create a new team tags: - - Administration - - Team Administration + - Administration + - Team Administration put: description: "" operationId: bulk_update_all_teams @@ -4479,7 +4488,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4487,55 +4496,55 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Bulk update of teams tags: - - Administration - - Team Administration + - Administration + - Team Administration summary: Endpoint for team information x-last-modified: 1665308784 /profiles/{relic_link_id}/settings: @@ -4543,24 +4552,23 @@ paths: description: "" operationId: remove_all_settings_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: '#/components/schemas/RelicLinkId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4568,69 +4576,68 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Remove all settings for a specific profile tags: - - Profile Administration - - Administration + - Profile Administration + - Administration get: operationId: get_setting_collection_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: '#/components/schemas/RelicLinkId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4638,71 +4645,70 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all settings for a specific profile tags: - - Profile Administration - - Administration - - Information + - Profile Administration + - Administration + - Information patch: description: "" operationId: partial_update_all_settings_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: '#/components/schemas/RelicLinkId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4710,79 +4716,77 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Update a specific setting for a specific profile from the Relic Link + summary: Update a specific setting for a specific profile from the Relic Link API tags: - - Profile Administration - - Administration + - Profile Administration + - Administration post: description: "" operationId: create_new_setting_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: '#/components/schemas/RelicLinkId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4790,77 +4794,76 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Create a new setting for a specific profile from the Relic Link API tags: - - Profile Administration - - Administration + - Profile Administration + - Administration put: description: "" operationId: bulk_update_all_settings_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: '#/components/schemas/RelicLinkId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4868,81 +4871,79 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 - summary: - Bulk update of settings for a specific profile from the Relic Link + summary: Bulk update of settings for a specific profile from the Relic Link API tags: - - Profile Administration - - Administration + - Profile Administration + - Administration summary: Collection of settings specifically for a certain Relic Link profile x-last-modified: 1665308784 /profiles/{relic_link_id}/stats: get: operationId: get_stat_collection_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: '#/components/schemas/RelicLinkId' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -4950,71 +4951,70 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all stats for a specific profile tags: - - Statistics + - Statistics summary: Collection of statistics specifically for a certain Relic Link profile x-last-modified: 1665308784 /teams/{team_id}: get: operationId: get_details_for_team parameters: - - deprecated: false - description: - The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: team_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for teams that play on games + using the Relic Link API + explode: false + in: path + name: team_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -5022,104 +5022,107 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve details of a team tags: - - Teams - - Team Administration + - Teams + - Team Administration summary: Team information x-last-modified: 1665308784 /teams/{team_id}/matches: get: operationId: get_match_collection_for_team parameters: - - required: false - in: query - explode: true - deprecated: false - name: status - schema: - $ref: "#/components/schemas/MatchStatus" - description: "Match status identifiers to filter for" - - required: false - in: query - explode: true - deprecated: false - name: game - schema: - $ref: "#/components/schemas/GameId" - description: "Game identifier to query for" - - required: false - in: query - explode: false - deprecated: false - name: count - schema: - $ref: "#/components/schemas/CountParam" - description: "Number of leaderboard entries to get" - - required: false - in: query - explode: false - deprecated: false - name: since - schema: - $ref: "#/components/schemas/SinceParam" - description: "Only show matches starting after this Unix timestamp" - - deprecated: false - description: - The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: team_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Match status identifiers to filter for + explode: true + in: query + name: status + required: false + schema: + $ref: '#/components/schemas/MatchStatus' + style: form + - deprecated: false + description: Game identifier to query for + explode: true + in: query + name: game + required: false + schema: + $ref: '#/components/schemas/GameId' + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: '#/components/schemas/CountParam' + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: '#/components/schemas/SinceParam' + style: form + - deprecated: false + description: The unique identifier (ULID) we use for teams that play on games + using the Relic Link API + explode: false + in: path + name: team_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -5127,71 +5130,70 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve a list of matches for a specific team tags: - - Match data + - Match data summary: Collection of match information for a team x-last-modified: 1665308784 /teams/{team_id}/stats: get: operationId: get_stat_collection_for_team parameters: - - deprecated: false - description: - The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: team_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for teams that play on games + using the Relic Link API + explode: false + in: path + name: team_id + required: true + schema: + $ref: '#/components/schemas/Ulid' + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access "200": description: Operation succeeded @@ -5199,49 +5201,49 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 summary: Retrieve a list of stats for a specific team tags: - - Statistics - - Teams - - Team Administration + - Statistics + - Teams + - Team Administration summary: Collection of stats for a team x-last-modified: 1665308784 components: @@ -5250,7 +5252,7 @@ components: description: Authorization header explode: false schema: - $ref: "#/components/schemas/AuthorizationHeader" + $ref: '#/components/schemas/AuthorizationHeader' style: simple X-RateLimit-Remaining: description: The number of remaining requests in the current period @@ -5259,15 +5261,14 @@ components: type: integer style: simple X-Transaction-ID: - description: - "When set by the client code with an alphanumeric value, the transaction\ + description: "When set by the client code with an alphanumeric value, the transaction\ \ ID is logged in the log files for debugging. \nWhen the client is not specifying\ \ this value, the server auto generates this value for the incoming request.\ \ \nThe main purpose is to filter various logs at once for a single transaction\ \ ID, to ease the debugging." explode: false schema: - $ref: "#/components/schemas/Ulid" + $ref: '#/components/schemas/Ulid' style: simple X-RateLimit-Limit: description: The number of allowed requests in the current period @@ -5276,8 +5277,7 @@ components: type: integer style: simple X-RateLimit-Reset: - description: - The number of seconds left in the current period until the rate + description: The number of seconds left in the current period until the rate limit resets explode: false schema: @@ -5285,8 +5285,7 @@ components: style: simple Pragma: deprecated: false - description: - Implementation-specific fields that may have various effects anywhere + description: Implementation-specific fields that may have various effects anywhere along the request-response chain. explode: false required: false @@ -5306,23 +5305,21 @@ components: style: simple If-None-Match: deprecated: false - description: - "Allows a 304 Not Modified to be returned if content is unchanged,\ + description: "Allows a 304 Not Modified to be returned if content is unchanged,\ \ see HTTP ETag." explode: false required: false schema: - $ref: "#/components/schemas/Md5" + $ref: '#/components/schemas/Md5' style: simple WWW-Authenticate: deprecated: false - description: - Defines the HTTP authentication methods ("challenges") that might + description: Defines the HTTP authentication methods ("challenges") that might be used to gain access to a specific resource explode: false required: false schema: - $ref: "#/components/schemas/WwwAuthenticate" + $ref: '#/components/schemas/WwwAuthenticate' style: simple Location: deprecated: false @@ -5337,15 +5334,14 @@ components: parameters: relic_link_id: deprecated: false - description: - The unique identifier used by the Relic Link API for a player on + description: The unique identifier used by the Relic Link API for a player on their platform explode: false in: path name: relic_link_id required: true schema: - $ref: "#/components/schemas/RelicLinkId" + $ref: '#/components/schemas/RelicLinkId' style: simple x-last-modified: 1665308784 tournament_id: @@ -5356,46 +5352,43 @@ components: name: tournament_id required: true schema: - $ref: "#/components/schemas/Ulid" + $ref: '#/components/schemas/Ulid' style: simple x-last-modified: 1665308784 leaderboard_id: deprecated: false - description: - The unique identifier (ULID) we use for leaderboards of the Relic + description: The unique identifier (ULID) we use for leaderboards of the Relic Link API explode: false in: path name: leaderboard_id required: true schema: - $ref: "#/components/schemas/Ulid" + $ref: '#/components/schemas/Ulid' style: simple x-last-modified: 1665308784 game_id: deprecated: false - description: - The unique identifier we use for games that use the Relic Link + description: The unique identifier we use for games that use the Relic Link API explode: false in: path name: game_id required: true schema: - $ref: "#/components/schemas/GameId" + $ref: '#/components/schemas/GameId' style: simple x-last-modified: 1665308784 team_id: deprecated: false - description: - The unique identifier (ULID) we use for teams that play on games + description: The unique identifier (ULID) we use for teams that play on games using the Relic Link API explode: false in: path name: team_id required: true schema: - $ref: "#/components/schemas/Ulid" + $ref: '#/components/schemas/Ulid' style: simple x-last-modified: 1665308784 user_id: @@ -5406,7 +5399,7 @@ components: name: user_id required: true schema: - $ref: "#/components/schemas/Ulid" + $ref: '#/components/schemas/Ulid' style: simple x-last-modified: 1665308784 responses: @@ -5420,14 +5413,14 @@ components: content: application/json: schema: - $ref: "#/components/schemas/Accepted" + $ref: '#/components/schemas/Accepted' description: Accepted x-last-modified: 1665308784 "204": content: application/json: schema: - $ref: "#/components/schemas/NoContent" + $ref: '#/components/schemas/NoContent' description: No Content x-last-modified: 1665308784 "304": @@ -5437,77 +5430,77 @@ components: content: application/json: schema: - $ref: "#/components/schemas/IllegalInputError" + $ref: '#/components/schemas/IllegalInputError' description: Bad Request x-last-modified: 1665308784 "401": content: application/json: schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: '#/components/schemas/UnauthorizedError' description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: "#/components/schemas/ForbiddenError" + $ref: '#/components/schemas/ForbiddenError' description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: "#/components/schemas/NotFoundError" + $ref: '#/components/schemas/NotFoundError' description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: "#/components/schemas/NotAcceptableError" + $ref: '#/components/schemas/NotAcceptableError' description: Not acceptable x-last-modified: 1665308784 "408": content: application/json: schema: - $ref: "#/components/schemas/RequestTimeoutError" + $ref: '#/components/schemas/RequestTimeoutError' description: Request Timeout x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" + $ref: '#/components/schemas/UnsupportedMediaTypeError' description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: "#/components/schemas/TooManyRequestsError" + $ref: '#/components/schemas/TooManyRequestsError' description: Too Many Requests x-last-modified: 1665308784 "500": content: application/json: schema: - $ref: "#/components/schemas/ServerError" + $ref: '#/components/schemas/ServerError' description: Server Error x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: "#/components/schemas/NotImplementedError" + $ref: '#/components/schemas/NotImplementedError' description: Not Implemented x-last-modified: 1665308784 "503": content: application/json: schema: - $ref: "#/components/schemas/ServiceUnavailableError" + $ref: '#/components/schemas/ServiceUnavailableError' description: Service Unavailable x-last-modified: 1665308784 schemas: @@ -5516,22 +5509,23 @@ components: properties: self: format: int64 - minimum: 1602232026 # 2 years ago - maximum: 1980923226 # in 10 years - type: integer + maximum: 1980923226 + minimum: 1602232026 pattern: "" + type: integer required: - - self + - self type: object MatchId: additionalProperties: false properties: self: format: uuid + pattern: "^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b\ + -[0-9a-fA-F]{12}$" type: string - pattern: "^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$" required: - - self + - self type: object SteamId: additionalProperties: false @@ -5542,41 +5536,41 @@ components: minimum: 14 type: integer required: - - self + - self type: object SearchParam: additionalProperties: false - description: "First 10 characters of a search string" + description: First 10 characters of a search string properties: self: format: string - pattern: "^.{10}$" maxLength: 10 + pattern: "^.{10}$" type: string required: - - self + - self type: object CountParam: additionalProperties: false properties: self: format: int32 - minimum: 1 maximum: 10000 + minimum: 1 type: integer required: - - self + - self type: object StartParam: additionalProperties: false properties: self: format: int64 - minimum: 1 maximum: 999999999 + minimum: 1 type: integer required: - - self + - self type: object LanguageString: additionalProperties: false @@ -5588,7 +5582,7 @@ components: pattern: "^([a-z]{2}){1}\b(-[A-Z]{2}){0,1}$" type: string required: - - self + - self type: object AuthorizationHeader: additionalProperties: false @@ -5598,7 +5592,7 @@ components: maxLength: 33 type: string required: - - self + - self type: object x-last-modified: 1665308784 WwwAuthenticate: @@ -5609,7 +5603,7 @@ components: maxLength: 33 type: string required: - - self + - self type: object x-last-modified: 1665308784 Md5: @@ -5622,7 +5616,7 @@ components: pattern: "^[a-fA-F0-9]{32}$" type: string required: - - checksum + - checksum type: object x-last-modified: 1665308784 Timeframe: @@ -5632,10 +5626,10 @@ components: format: string maxLength: 15 maximum: 15 - pattern: ^\d\d\d\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])$ + pattern: "^\\d\\d\\d\\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])$" type: string required: - - self + - self type: object x-last-modified: 1665308784 RelicLinkId: @@ -5647,29 +5641,36 @@ components: minimum: 0 type: integer required: - - id + - id type: object x-last-modified: 1665308784 MatchStatus: additionalProperties: false - description: "Match stati" + description: Match stati properties: self: + enum: + - drafting + - ongoing + - finished type: string - enum: [drafting, ongoing, finished] required: - - self + - self type: object x-last-modified: 1665308784 GameId: additionalProperties: false - description: "Supported games by Relic Link API" + description: Supported games by Relic Link API properties: self: + enum: + - aoe1de + - aoe2de + - aoe3de + - aoe4 type: string - enum: [aoe1de, aoe2de, aoe3de, aoe4] required: - - self + - self type: object x-last-modified: 1665308784 Ulid: @@ -5683,7 +5684,7 @@ components: pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" type: string required: - - ulid + - ulid type: object x-last-modified: 1665308784 UnsupportedMediaTypeError: @@ -5698,8 +5699,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: UnsupportedMediaTypeError type: object x-last-modified: 1665308784 @@ -5713,8 +5714,8 @@ components: minimum: 503 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 NotImplementedError: @@ -5729,8 +5730,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: NotImplementedError type: object x-last-modified: 1665308784 @@ -5746,8 +5747,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: TooManyRequestsError type: object x-last-modified: 1665308784 @@ -5761,8 +5762,8 @@ components: minimum: 408 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 NotAcceptableError: @@ -5777,8 +5778,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: NotAcceptableError type: object x-last-modified: 1665308784 @@ -5794,8 +5795,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: NotFoundError type: object x-last-modified: 1665308784 @@ -5811,8 +5812,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: ForbiddenError type: object x-last-modified: 1665308784 @@ -5826,8 +5827,8 @@ components: minimum: 202 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 NoContent: @@ -5843,8 +5844,8 @@ components: minimum: 204 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 IllegalInputError: @@ -5860,8 +5861,8 @@ components: minimum: 400 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 UnauthorizedError: @@ -5878,8 +5879,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: UnauthorizedError type: object x-last-modified: 1665308784 @@ -5893,8 +5894,8 @@ components: minimum: 500 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 securitySchemes: diff --git a/src/openapi_server/apis/administration_api.py b/src/openapi_server/apis/administration_api.py index 945ec7c..d66648e 100644 --- a/src/openapi_server/apis/administration_api.py +++ b/src/openapi_server/apis/administration_api.py @@ -150,6 +150,36 @@ async def bulk_update_all_teams( ... +@router.put( + "/users/{user_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration"], + summary="Bulk update of stats for a specific user profile on our platform", + response_model_by_alias=True, +) +async def bulk_update_all_user_stats( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + @router.post( "/tournaments/{tournament_id}/admins", responses={ @@ -269,6 +299,36 @@ async def create_new_team( ... +@router.post( + "/users/{user_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration"], + summary="Create a new stat for a specific user profile on our platform", + response_model_by_alias=True, +) +async def create_new_user_stats( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + @router.get( "/tournaments/{tournament_id}/admins", responses={ @@ -549,6 +609,66 @@ async def partial_update_bracket_for_tournament( ... +@router.patch( + "/tournaments/{tournament_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration"], + summary="Partially update a tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def partial_update_tournament_details( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.patch( + "/users/{user_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration"], + summary="Partially update stats for a specific user profile on our platform", + response_model_by_alias=True, +) +async def partial_update_user_stats( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + @router.delete( "/tournaments/{tournament_id}/admins", responses={ @@ -605,3 +725,62 @@ async def remove_all_settings_for_profile( ) -> None: """""" ... + + +@router.delete( + "/tournaments/{tournament_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration"], + summary="Remove a tournament for a specific game available on the Relic Link platform", + response_model_by_alias=True, +) +async def remove_tournament_details( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + +@router.put( + "/tournaments/{tournament_id}", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Administration"], + summary="Update details for a tournament for a specific game", + response_model_by_alias=True, +) +async def update_tournament_details( + tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... diff --git a/src/openapi_server/apis/adminstration_api.py b/src/openapi_server/apis/adminstration_api.py deleted file mode 100644 index d2cab06..0000000 --- a/src/openapi_server/apis/adminstration_api.py +++ /dev/null @@ -1,209 +0,0 @@ -# coding: utf-8 - -from typing import Dict, List # noqa: F401 - -from fastapi import ( # noqa: F401 - APIRouter, - Body, - Cookie, - Depends, - Form, - Header, - Path, - Query, - Response, - Security, - status, -) - -from openapi_server.models.extra_models import TokenModel # noqa: F401 -from openapi_server.models.forbidden_error import ForbiddenError -from openapi_server.models.not_acceptable_error import NotAcceptableError -from openapi_server.models.not_found_error import NotFoundError -from openapi_server.models.not_implemented_error import NotImplementedError -from openapi_server.models.too_many_requests_error import TooManyRequestsError -from openapi_server.models.ulid import Ulid -from openapi_server.models.unauthorized_error import UnauthorizedError -from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError -from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key - -router = APIRouter() - - -@router.put( - "/users/{user_id}/stats", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, - 403: {"model": ForbiddenError, "description": "Forbidden"}, - 404: {"model": NotFoundError, "description": "Entity not found"}, - 406: {"model": NotAcceptableError, "description": "Not acceptable"}, - 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, - 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, - 501: {"model": NotImplementedError, "description": "Not Implemented"}, - 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, - }, - tags=["Adminstration"], - summary="Bulk update of stats for a specific user profile on our platform", - response_model_by_alias=True, -) -async def bulk_update_all_user_stats( - user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_BasicAuth: TokenModel = Security( - get_token_BasicAuth - ), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.post( - "/users/{user_id}/stats", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, - 403: {"model": ForbiddenError, "description": "Forbidden"}, - 404: {"model": NotFoundError, "description": "Entity not found"}, - 406: {"model": NotAcceptableError, "description": "Not acceptable"}, - 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, - 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, - 501: {"model": NotImplementedError, "description": "Not Implemented"}, - 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, - }, - tags=["Adminstration"], - summary="Create a new stat for a specific user profile on our platform", - response_model_by_alias=True, -) -async def create_new_user_stats( - user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_BasicAuth: TokenModel = Security( - get_token_BasicAuth - ), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.patch( - "/tournaments/{tournament_id}", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, - 403: {"model": ForbiddenError, "description": "Forbidden"}, - 404: {"model": NotFoundError, "description": "Entity not found"}, - 406: {"model": NotAcceptableError, "description": "Not acceptable"}, - 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, - 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, - 501: {"model": NotImplementedError, "description": "Not Implemented"}, - 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, - }, - tags=["Adminstration"], - summary="Partially update a tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def partial_update_tournament_details( - tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_BasicAuth: TokenModel = Security( - get_token_BasicAuth - ), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.patch( - "/users/{user_id}/stats", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, - 403: {"model": ForbiddenError, "description": "Forbidden"}, - 404: {"model": NotFoundError, "description": "Entity not found"}, - 406: {"model": NotAcceptableError, "description": "Not acceptable"}, - 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, - 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, - 501: {"model": NotImplementedError, "description": "Not Implemented"}, - 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, - }, - tags=["Adminstration"], - summary="Partially update stats for a specific user profile on our platform", - response_model_by_alias=True, -) -async def partial_update_user_stats( - user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), - token_BasicAuth: TokenModel = Security( - get_token_BasicAuth - ), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.delete( - "/tournaments/{tournament_id}", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, - 403: {"model": ForbiddenError, "description": "Forbidden"}, - 404: {"model": NotFoundError, "description": "Entity not found"}, - 406: {"model": NotAcceptableError, "description": "Not acceptable"}, - 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, - 501: {"model": NotImplementedError, "description": "Not Implemented"}, - 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, - }, - tags=["Adminstration"], - summary="Remove a tournament for a specific game available on the Relic Link platform", - response_model_by_alias=True, -) -async def remove_tournament_details( - tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_BasicAuth: TokenModel = Security( - get_token_BasicAuth - ), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... - - -@router.put( - "/tournaments/{tournament_id}", - responses={ - 200: {"description": "Operation succeeded"}, - 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, - 403: {"model": ForbiddenError, "description": "Forbidden"}, - 404: {"model": NotFoundError, "description": "Entity not found"}, - 406: {"model": NotAcceptableError, "description": "Not acceptable"}, - 415: {"model": UnsupportedMediaTypeError, "description": "Unsupported Media Type"}, - 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, - 501: {"model": NotImplementedError, "description": "Not Implemented"}, - 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, - }, - tags=["Adminstration"], - summary="Update details for a tournament for a specific game", - response_model_by_alias=True, -) -async def update_tournament_details( - tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), - token_BasicAuth: TokenModel = Security( - get_token_BasicAuth - ), - token_X-Api-Key: TokenModel = Security( - get_token_X-Api-Key - ), -) -> None: - """""" - ... diff --git a/src/openapi_server/apis/default_api.py b/src/openapi_server/apis/default_api.py index 0284cf4..14436e1 100644 --- a/src/openapi_server/apis/default_api.py +++ b/src/openapi_server/apis/default_api.py @@ -18,10 +18,10 @@ from openapi_server.models.extra_models import TokenModel # noqa: F401 from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.game_id import GameId from openapi_server.models.not_acceptable_error import NotAcceptableError from openapi_server.models.not_found_error import NotFoundError from openapi_server.models.too_many_requests_error import TooManyRequestsError -from openapi_server.models.ulid import Ulid from openapi_server.models.unauthorized_error import UnauthorizedError from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key @@ -44,7 +44,7 @@ response_model_by_alias=True, ) async def get_details_for_game( - game_id: Ulid = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), + game_id: GameId = Path(None, description="The unique identifier we use for games that use the Relic Link API"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), diff --git a/src/openapi_server/apis/definition_api.py b/src/openapi_server/apis/definition_api.py index fec02a4..b9ce3b1 100644 --- a/src/openapi_server/apis/definition_api.py +++ b/src/openapi_server/apis/definition_api.py @@ -18,10 +18,11 @@ from openapi_server.models.extra_models import TokenModel # noqa: F401 from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.game_id import GameId +from openapi_server.models.language_string import LanguageString from openapi_server.models.not_acceptable_error import NotAcceptableError from openapi_server.models.not_found_error import NotFoundError from openapi_server.models.too_many_requests_error import TooManyRequestsError -from openapi_server.models.ulid import Ulid from openapi_server.models.unauthorized_error import UnauthorizedError from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key @@ -44,7 +45,8 @@ response_model_by_alias=True, ) async def get_definition_collection_for_game( - game_id: Ulid = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), + game_id: GameId = Path(None, description="The unique identifier we use for games that use the Relic Link API"), + language: LanguageString = Query(None, description="The language to query definitions for that are being used by the API (Default: 'en')"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), diff --git a/src/openapi_server/apis/information_api.py b/src/openapi_server/apis/information_api.py index 7634576..7499d6e 100644 --- a/src/openapi_server/apis/information_api.py +++ b/src/openapi_server/apis/information_api.py @@ -18,6 +18,7 @@ from openapi_server.models.extra_models import TokenModel # noqa: F401 from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.game_id import GameId from openapi_server.models.not_acceptable_error import NotAcceptableError from openapi_server.models.not_found_error import NotFoundError from openapi_server.models.not_implemented_error import NotImplementedError @@ -43,7 +44,7 @@ 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, }, tags=["Information","Tournaments","Tournament Administration"], - summary="Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform", + summary="Retrieve all brackets for a specific tournament for a specific game", response_model_by_alias=True, ) async def get_bracket_collection_for_tournament( @@ -182,7 +183,7 @@ async def get_game_identifier_collection( response_model_by_alias=True, ) async def get_info_collection_for_game( - game_id: Ulid = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), + game_id: GameId = Path(None, description="The unique identifier we use for games that use the Relic Link API"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), diff --git a/src/openapi_server/apis/leaderboards_api.py b/src/openapi_server/apis/leaderboards_api.py index a6dd2de..3669d09 100644 --- a/src/openapi_server/apis/leaderboards_api.py +++ b/src/openapi_server/apis/leaderboards_api.py @@ -17,10 +17,17 @@ ) from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.count_param import CountParam from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.game_id import GameId +from openapi_server.models.match_status import MatchStatus from openapi_server.models.not_acceptable_error import NotAcceptableError from openapi_server.models.not_found_error import NotFoundError from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.relic_link_id import RelicLinkId +from openapi_server.models.search_param import SearchParam +from openapi_server.models.since_param import SinceParam +from openapi_server.models.start_param import StartParam from openapi_server.models.too_many_requests_error import TooManyRequestsError from openapi_server.models.ulid import Ulid from openapi_server.models.unauthorized_error import UnauthorizedError @@ -46,6 +53,10 @@ ) async def get_details_for_leaderboard( leaderboard_id: Ulid = Path(None, description="The unique identifier (ULID) we use for leaderboards of the Relic Link API"), + profile_id: RelicLinkId = Query(None, description="Search for a profile ID in a leaderboard"), + search: SearchParam = Query(None, description="Search for a name in a leaderboard"), + start: StartParam = Query(None, description="Starting rank"), + count: CountParam = Query(None, description="Number of leaderboard entries to get"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), @@ -98,7 +109,7 @@ async def get_leaderboard_collection( response_model_by_alias=True, ) async def get_leaderboard_collection_for_game( - game_id: Ulid = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), + game_id: GameId = Path(None, description="The unique identifier we use for games that use the Relic Link API"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), @@ -126,6 +137,9 @@ async def get_leaderboard_collection_for_game( ) async def get_match_collection_for_leaderboard( leaderboard_id: Ulid = Path(None, description="The unique identifier (ULID) we use for leaderboards of the Relic Link API"), + status: MatchStatus = Query(None, description="Match status identifiers to filter for"), + count: CountParam = Query(None, description="Number of leaderboard entries to get"), + since: SinceParam = Query(None, description="Only show matches starting after this Unix timestamp"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), diff --git a/src/openapi_server/apis/match_data_api.py b/src/openapi_server/apis/match_data_api.py index bcc0c0f..b69d926 100644 --- a/src/openapi_server/apis/match_data_api.py +++ b/src/openapi_server/apis/match_data_api.py @@ -17,11 +17,17 @@ ) from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.count_param import CountParam from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.game_id import GameId +from openapi_server.models.match_id import MatchId +from openapi_server.models.match_status import MatchStatus from openapi_server.models.not_acceptable_error import NotAcceptableError from openapi_server.models.not_found_error import NotFoundError from openapi_server.models.not_implemented_error import NotImplementedError from openapi_server.models.relic_link_id import RelicLinkId +from openapi_server.models.since_param import SinceParam +from openapi_server.models.start_param import StartParam from openapi_server.models.too_many_requests_error import TooManyRequestsError from openapi_server.models.ulid import Ulid from openapi_server.models.unauthorized_error import UnauthorizedError @@ -30,6 +36,38 @@ router = APIRouter() +@router.get( + "/profiles/{relic_link_id}/ledger", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Match data","Ratings"], + summary="Retrieve the rating ledger for a specific profile", + response_model_by_alias=True, +) +async def get_ledger_collection_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + game: GameId = Query(None, description="Game identifier to query for"), + start: StartParam = Query(None, description="Starting match"), + leaderboard_id: Ulid = Query(None, description="Leaderboard identifier"), + count: CountParam = Query(None, description="Number of leaderboard entries to get"), + since: SinceParam = Query(None, description="Only show matches starting after this Unix timestamp"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... + + @router.get( "/games/{game_id}/matches", responses={ @@ -46,7 +84,11 @@ response_model_by_alias=True, ) async def get_match_collection_for_game( - game_id: Ulid = Path(None, description="The unique identifier (ULID) we use for games that use the Relic Link API"), + game_id: GameId = Path(None, description="The unique identifier we use for games that use the Relic Link API"), + single_match: MatchId = Query(None, description="Match ID to filter for its details"), + status: MatchStatus = Query(None, description="Match status identifiers to filter for"), + count: CountParam = Query(None, description="Number of leaderboard entries to get"), + since: SinceParam = Query(None, description="Only show matches starting after this Unix timestamp"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), @@ -74,6 +116,9 @@ async def get_match_collection_for_game( ) async def get_match_collection_for_leaderboard( leaderboard_id: Ulid = Path(None, description="The unique identifier (ULID) we use for leaderboards of the Relic Link API"), + status: MatchStatus = Query(None, description="Match status identifiers to filter for"), + count: CountParam = Query(None, description="Number of leaderboard entries to get"), + since: SinceParam = Query(None, description="Only show matches starting after this Unix timestamp"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), @@ -101,6 +146,12 @@ async def get_match_collection_for_leaderboard( ) async def get_match_collection_for_profile( relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + last_match: bool = Query(None, description="Only show exactly the last available match"), + status: MatchStatus = Query(None, description="Match status identifiers to filter for"), + game: GameId = Query(None, description="Game identifier to query for"), + start: StartParam = Query(None, description="Starting match"), + count: CountParam = Query(None, description="Number of entries to get"), + since: SinceParam = Query(None, description="Only show matches starting after this Unix timestamp"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), @@ -129,6 +180,10 @@ async def get_match_collection_for_profile( ) async def get_match_collection_for_team( team_id: Ulid = Path(None, description="The unique identifier (ULID) we use for teams that play on games using the Relic Link API"), + status: MatchStatus = Query(None, description="Match status identifiers to filter for"), + game: GameId = Query(None, description="Game identifier to query for"), + count: CountParam = Query(None, description="Number of leaderboard entries to get"), + since: SinceParam = Query(None, description="Only show matches starting after this Unix timestamp"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), @@ -157,6 +212,10 @@ async def get_match_collection_for_team( ) async def get_match_collection_for_tournament( tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + status: MatchStatus = Query(None, description="Match status identifiers to filter for"), + game: GameId = Query(None, description="Game identifier to query for"), + count: CountParam = Query(None, description="Number of leaderboard entries to get"), + since: SinceParam = Query(None, description="Only show matches starting after this Unix timestamp"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), diff --git a/src/openapi_server/apis/ratings_api.py b/src/openapi_server/apis/ratings_api.py new file mode 100644 index 0000000..d548da8 --- /dev/null +++ b/src/openapi_server/apis/ratings_api.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +from typing import Dict, List # noqa: F401 + +from fastapi import ( # noqa: F401 + APIRouter, + Body, + Cookie, + Depends, + Form, + Header, + Path, + Query, + Response, + Security, + status, +) + +from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.count_param import CountParam +from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.game_id import GameId +from openapi_server.models.not_acceptable_error import NotAcceptableError +from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.relic_link_id import RelicLinkId +from openapi_server.models.since_param import SinceParam +from openapi_server.models.start_param import StartParam +from openapi_server.models.too_many_requests_error import TooManyRequestsError +from openapi_server.models.ulid import Ulid +from openapi_server.models.unauthorized_error import UnauthorizedError +from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key + +router = APIRouter() + + +@router.get( + "/profiles/{relic_link_id}/ledger", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["Match data","Ratings"], + summary="Retrieve the rating ledger for a specific profile", + response_model_by_alias=True, +) +async def get_ledger_collection_for_profile( + relic_link_id: RelicLinkId = Path(None, description="The unique identifier used by the Relic Link API for a player on their platform"), + game: GameId = Query(None, description="Game identifier to query for"), + start: StartParam = Query(None, description="Starting match"), + leaderboard_id: Ulid = Query(None, description="Leaderboard identifier"), + count: CountParam = Query(None, description="Number of leaderboard entries to get"), + since: SinceParam = Query(None, description="Only show matches starting after this Unix timestamp"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + ... diff --git a/src/openapi_server/apis/user_adminstration_api.py b/src/openapi_server/apis/search_api.py similarity index 72% rename from src/openapi_server/apis/user_adminstration_api.py rename to src/openapi_server/apis/search_api.py index a78c34a..5930f1a 100644 --- a/src/openapi_server/apis/user_adminstration_api.py +++ b/src/openapi_server/apis/search_api.py @@ -20,17 +20,17 @@ from openapi_server.models.forbidden_error import ForbiddenError from openapi_server.models.not_acceptable_error import NotAcceptableError from openapi_server.models.not_found_error import NotFoundError -from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.search_param import SearchParam +from openapi_server.models.steam_id import SteamId from openapi_server.models.too_many_requests_error import TooManyRequestsError -from openapi_server.models.ulid import Ulid from openapi_server.models.unauthorized_error import UnauthorizedError from openapi_server.security_api import get_token_BasicAuth, get_token_X-Api-Key router = APIRouter() -@router.delete( - "/users/{user_id}/stats", +@router.get( + "/profiles/search", responses={ 200: {"description": "Operation succeeded"}, 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, @@ -38,15 +38,14 @@ 404: {"model": NotFoundError, "description": "Entity not found"}, 406: {"model": NotAcceptableError, "description": "Not acceptable"}, 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, - 501: {"model": NotImplementedError, "description": "Not Implemented"}, 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, }, - tags=["User Adminstration"], - summary="Remove all stats for a specific user profile on our platform", + tags=["Search"], response_model_by_alias=True, ) -async def remove_all_user_stats( - user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), +async def get_profile_information_from_search( + by_name: SearchParam = Query(None, description="First 10 characters of a search string for name to search a `profile_id` for"), + by_steam_id: SteamId = Query(None, description="The Steam ID to search a `profile_id` for"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), @@ -54,5 +53,5 @@ async def remove_all_user_stats( get_token_X-Api-Key ), ) -> None: - """""" + """Search for a profile by Steam ID or name, returns a single `profile_id` usable with other endpoints""" ... diff --git a/src/openapi_server/apis/tournament_administration_api.py b/src/openapi_server/apis/tournament_administration_api.py index 7669ac5..7b99d3b 100644 --- a/src/openapi_server/apis/tournament_administration_api.py +++ b/src/openapi_server/apis/tournament_administration_api.py @@ -17,10 +17,14 @@ ) from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.count_param import CountParam from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.game_id import GameId +from openapi_server.models.match_status import MatchStatus from openapi_server.models.not_acceptable_error import NotAcceptableError from openapi_server.models.not_found_error import NotFoundError from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.since_param import SinceParam from openapi_server.models.too_many_requests_error import TooManyRequestsError from openapi_server.models.ulid import Ulid from openapi_server.models.unauthorized_error import UnauthorizedError @@ -249,7 +253,7 @@ async def get_admin_collection_for_tournament( 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, }, tags=["Information","Tournaments","Tournament Administration"], - summary="Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform", + summary="Retrieve all brackets for a specific tournament for a specific game", response_model_by_alias=True, ) async def get_bracket_collection_for_tournament( @@ -310,6 +314,10 @@ async def get_info_collection_for_tournament( ) async def get_match_collection_for_tournament( tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + status: MatchStatus = Query(None, description="Match status identifiers to filter for"), + game: GameId = Query(None, description="Game identifier to query for"), + count: CountParam = Query(None, description="Number of leaderboard entries to get"), + since: SinceParam = Query(None, description="Only show matches starting after this Unix timestamp"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), diff --git a/src/openapi_server/apis/tournaments_api.py b/src/openapi_server/apis/tournaments_api.py index 10e6a43..6f1ac5f 100644 --- a/src/openapi_server/apis/tournaments_api.py +++ b/src/openapi_server/apis/tournaments_api.py @@ -17,10 +17,14 @@ ) from openapi_server.models.extra_models import TokenModel # noqa: F401 +from openapi_server.models.count_param import CountParam from openapi_server.models.forbidden_error import ForbiddenError +from openapi_server.models.game_id import GameId +from openapi_server.models.match_status import MatchStatus from openapi_server.models.not_acceptable_error import NotAcceptableError from openapi_server.models.not_found_error import NotFoundError from openapi_server.models.not_implemented_error import NotImplementedError +from openapi_server.models.since_param import SinceParam from openapi_server.models.too_many_requests_error import TooManyRequestsError from openapi_server.models.ulid import Ulid from openapi_server.models.unauthorized_error import UnauthorizedError @@ -42,7 +46,7 @@ 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, }, tags=["Information","Tournaments","Tournament Administration"], - summary="Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform", + summary="Retrieve all brackets for a specific tournament for a specific game", response_model_by_alias=True, ) async def get_bracket_collection_for_tournament( @@ -103,6 +107,10 @@ async def get_info_collection_for_tournament( ) async def get_match_collection_for_tournament( tournament_id: Ulid = Path(None, description="The unique identifier (ULID) we use for tournaments"), + status: MatchStatus = Query(None, description="Match status identifiers to filter for"), + game: GameId = Query(None, description="Game identifier to query for"), + count: CountParam = Query(None, description="Number of leaderboard entries to get"), + since: SinceParam = Query(None, description="Only show matches starting after this Unix timestamp"), token_BasicAuth: TokenModel = Security( get_token_BasicAuth ), diff --git a/src/openapi_server/apis/user_administration_api.py b/src/openapi_server/apis/user_administration_api.py index d0a7cb7..4b61fc9 100644 --- a/src/openapi_server/apis/user_administration_api.py +++ b/src/openapi_server/apis/user_administration_api.py @@ -20,6 +20,7 @@ from openapi_server.models.forbidden_error import ForbiddenError from openapi_server.models.not_acceptable_error import NotAcceptableError from openapi_server.models.not_found_error import NotFoundError +from openapi_server.models.not_implemented_error import NotImplementedError from openapi_server.models.too_many_requests_error import TooManyRequestsError from openapi_server.models.ulid import Ulid from openapi_server.models.unauthorized_error import UnauthorizedError @@ -226,6 +227,35 @@ async def partial_update_user( ... +@router.delete( + "/users/{user_id}/stats", + responses={ + 200: {"description": "Operation succeeded"}, + 401: {"model": UnauthorizedError, "description": "Unauthorized access"}, + 403: {"model": ForbiddenError, "description": "Forbidden"}, + 404: {"model": NotFoundError, "description": "Entity not found"}, + 406: {"model": NotAcceptableError, "description": "Not acceptable"}, + 429: {"model": TooManyRequestsError, "description": "Too Many Requests"}, + 501: {"model": NotImplementedError, "description": "Not Implemented"}, + 200: {"model": UnauthorizedError, "description": "Unauthorized access"}, + }, + tags=["User Administration"], + summary="Remove all stats for a specific user profile on our platform", + response_model_by_alias=True, +) +async def remove_all_user_stats( + user_id: Ulid = Path(None, description="The unique identifier (ULID) we use for users of our API"), + token_BasicAuth: TokenModel = Security( + get_token_BasicAuth + ), + token_X-Api-Key: TokenModel = Security( + get_token_X-Api-Key + ), +) -> None: + """""" + ... + + @router.delete( "/users", responses={ diff --git a/src/openapi_server/main.py b/src/openapi_server/main.py index 5bcb32b..b9b3f8e 100644 --- a/src/openapi_server/main.py +++ b/src/openapi_server/main.py @@ -16,7 +16,6 @@ from openapi_server.apis.api_token_validation_api import router as APITokenValidationApiRouter from openapi_server.apis.account_registration_api import router as AccountRegistrationApiRouter from openapi_server.apis.administration_api import router as AdministrationApiRouter -from openapi_server.apis.adminstration_api import router as AdminstrationApiRouter from openapi_server.apis.authentication_api import router as AuthenticationApiRouter from openapi_server.apis.database_api import router as DatabaseApiRouter from openapi_server.apis.definition_api import router as DefinitionApiRouter @@ -25,6 +24,8 @@ from openapi_server.apis.leaderboards_api import router as LeaderboardsApiRouter from openapi_server.apis.match_data_api import router as MatchDataApiRouter from openapi_server.apis.profile_administration_api import router as ProfileAdministrationApiRouter +from openapi_server.apis.ratings_api import router as RatingsApiRouter +from openapi_server.apis.search_api import router as SearchApiRouter from openapi_server.apis.statistics_api import router as StatisticsApiRouter from openapi_server.apis.status_check_api import router as StatusCheckApiRouter from openapi_server.apis.team_administration_api import router as TeamAdministrationApiRouter @@ -32,7 +33,6 @@ from openapi_server.apis.tournament_administration_api import router as TournamentAdministrationApiRouter from openapi_server.apis.tournaments_api import router as TournamentsApiRouter from openapi_server.apis.user_administration_api import router as UserAdministrationApiRouter -from openapi_server.apis.user_adminstration_api import router as UserAdminstrationApiRouter from openapi_server.apis.default_api import router as DefaultApiRouter app = FastAPI( @@ -44,7 +44,6 @@ app.include_router(APITokenValidationApiRouter) app.include_router(AccountRegistrationApiRouter) app.include_router(AdministrationApiRouter) -app.include_router(AdminstrationApiRouter) app.include_router(AuthenticationApiRouter) app.include_router(DatabaseApiRouter) app.include_router(DefinitionApiRouter) @@ -53,6 +52,8 @@ app.include_router(LeaderboardsApiRouter) app.include_router(MatchDataApiRouter) app.include_router(ProfileAdministrationApiRouter) +app.include_router(RatingsApiRouter) +app.include_router(SearchApiRouter) app.include_router(StatisticsApiRouter) app.include_router(StatusCheckApiRouter) app.include_router(TeamAdministrationApiRouter) @@ -60,5 +61,4 @@ app.include_router(TournamentAdministrationApiRouter) app.include_router(TournamentsApiRouter) app.include_router(UserAdministrationApiRouter) -app.include_router(UserAdminstrationApiRouter) app.include_router(DefaultApiRouter) diff --git a/src/openapi_server/models/authorization_header.py b/src/openapi_server/models/authorization_header.py index 1f05b28..c9cbc77 100644 --- a/src/openapi_server/models/authorization_header.py +++ b/src/openapi_server/models/authorization_header.py @@ -16,13 +16,13 @@ class AuthorizationHeader(BaseModel): AuthorizationHeader - a model defined in OpenAPI - authorization_header: The authorization_header of this AuthorizationHeader. + _self: The _self of this AuthorizationHeader. """ - authorization_header: str = Field(alias="AuthorizationHeader") + _self: str = Field(alias="self") - @validator("authorization_header") - def authorization_header_max_length(cls, value): + @validator("_self") + def _self_max_length(cls, value): assert len(value) <= 33 return value diff --git a/src/openapi_server/models/error.py b/src/openapi_server/models/count_param.py similarity index 52% rename from src/openapi_server/models/error.py rename to src/openapi_server/models/count_param.py index e6f1953..7342349 100644 --- a/src/openapi_server/models/error.py +++ b/src/openapi_server/models/count_param.py @@ -9,28 +9,26 @@ from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 -class Error(BaseModel): +class CountParam(BaseModel): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually. - Error - a model defined in OpenAPI + CountParam - a model defined in OpenAPI - message: The message of this Error. - code: The code of this Error. + _self: The _self of this CountParam. """ - message: str = Field(alias="message") - code: int = Field(alias="code") + _self: int = Field(alias="self") - @validator("code") - def code_max(cls, value): - assert value <= 600 + @validator("_self") + def _self_max(cls, value): + assert value <= 10000 return value - @validator("code") - def code_min(cls, value): - assert value >= 100 + @validator("_self") + def _self_min(cls, value): + assert value >= 1 return value -Error.update_forward_refs() +CountParam.update_forward_refs() diff --git a/src/openapi_server/models/game_id.py b/src/openapi_server/models/game_id.py new file mode 100644 index 0000000..1ae3121 --- /dev/null +++ b/src/openapi_server/models/game_id.py @@ -0,0 +1,24 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class GameId(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + GameId - a model defined in OpenAPI + + _self: The _self of this GameId. + """ + + _self: str = Field(alias="self") + +GameId.update_forward_refs() diff --git a/src/openapi_server/models/language_string.py b/src/openapi_server/models/language_string.py new file mode 100644 index 0000000..82f73ea --- /dev/null +++ b/src/openapi_server/models/language_string.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class LanguageString(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + LanguageString - a model defined in OpenAPI + + _self: The _self of this LanguageString. + """ + + _self: str = Field(alias="self") + + @validator("_self") + def _self_min_length(cls, value): + assert len(value) >= 2 + return value + + @validator("_self") + def _self_max_length(cls, value): + assert len(value) <= 5 + return value + + @validator("_self") + def _self_pattern(cls, value): + assert value is not None and re.match(r"^([a-z]{2}){1}(-[A-Z]{2}){0,1}$", value) + return value + +LanguageString.update_forward_refs() diff --git a/src/openapi_server/models/match_id.py b/src/openapi_server/models/match_id.py new file mode 100644 index 0000000..eed0af4 --- /dev/null +++ b/src/openapi_server/models/match_id.py @@ -0,0 +1,29 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class MatchId(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + MatchId - a model defined in OpenAPI + + _self: The _self of this MatchId. + """ + + _self: str = Field(alias="self") + + @validator("_self") + def _self_pattern(cls, value): + assert value is not None and re.match(r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", value) + return value + +MatchId.update_forward_refs() diff --git a/src/openapi_server/models/match_status.py b/src/openapi_server/models/match_status.py new file mode 100644 index 0000000..c55eb57 --- /dev/null +++ b/src/openapi_server/models/match_status.py @@ -0,0 +1,24 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class MatchStatus(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + MatchStatus - a model defined in OpenAPI + + _self: The _self of this MatchStatus. + """ + + _self: str = Field(alias="self") + +MatchStatus.update_forward_refs() diff --git a/src/openapi_server/models/md5.py b/src/openapi_server/models/md5.py index 7f2fa47..46c8bcb 100644 --- a/src/openapi_server/models/md5.py +++ b/src/openapi_server/models/md5.py @@ -16,19 +16,19 @@ class Md5(BaseModel): Md5 - a model defined in OpenAPI - md5: The md5 of this Md5. + checksum: The checksum of this Md5. """ - md5: str = Field(alias="Md5") + checksum: str = Field(alias="checksum") - @validator("md5") - def md5_max_length(cls, value): + @validator("checksum") + def checksum_max_length(cls, value): assert len(value) <= 33 return value - @validator("md5") - def md5_pattern(cls, value): - assert value is not None and re.match(r"^[A-F0-9]{32}$", value) + @validator("checksum") + def checksum_pattern(cls, value): + assert value is not None and re.match(r"^[a-fA-F0-9]{32}$", value) return value Md5.update_forward_refs() diff --git a/src/openapi_server/models/relic_link_id.py b/src/openapi_server/models/relic_link_id.py index 7c0c5a4..b40164e 100644 --- a/src/openapi_server/models/relic_link_id.py +++ b/src/openapi_server/models/relic_link_id.py @@ -16,18 +16,18 @@ class RelicLinkId(BaseModel): RelicLinkId - a model defined in OpenAPI - relic_link_id: The relic_link_id of this RelicLinkId. + id: The id of this RelicLinkId. """ - relic_link_id: int = Field(alias="relic_link_id") + id: int = Field(alias="id") - @validator("relic_link_id") - def relic_link_id_max(cls, value): + @validator("id") + def id_max(cls, value): assert value <= 999999999 return value - @validator("relic_link_id") - def relic_link_id_min(cls, value): + @validator("id") + def id_min(cls, value): assert value >= 0 return value diff --git a/src/openapi_server/models/search_param.py b/src/openapi_server/models/search_param.py new file mode 100644 index 0000000..9d32bb7 --- /dev/null +++ b/src/openapi_server/models/search_param.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class SearchParam(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + SearchParam - a model defined in OpenAPI + + _self: The _self of this SearchParam. + """ + + _self: str = Field(alias="self") + + @validator("_self") + def _self_max_length(cls, value): + assert len(value) <= 10 + return value + + @validator("_self") + def _self_pattern(cls, value): + assert value is not None and re.match(r"^.{10}$", value) + return value + +SearchParam.update_forward_refs() diff --git a/src/openapi_server/models/since_param.py b/src/openapi_server/models/since_param.py new file mode 100644 index 0000000..c635d3d --- /dev/null +++ b/src/openapi_server/models/since_param.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class SinceParam(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + SinceParam - a model defined in OpenAPI + + _self: The _self of this SinceParam. + """ + + _self: int = Field(alias="self") + + @validator("_self") + def _self_max(cls, value): + assert value <= 1980923226 + return value + + @validator("_self") + def _self_min(cls, value): + assert value >= 1602232026 + return value + +SinceParam.update_forward_refs() diff --git a/src/openapi_server/models/start_param.py b/src/openapi_server/models/start_param.py new file mode 100644 index 0000000..5c81562 --- /dev/null +++ b/src/openapi_server/models/start_param.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class StartParam(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + StartParam - a model defined in OpenAPI + + _self: The _self of this StartParam. + """ + + _self: int = Field(alias="self") + + @validator("_self") + def _self_max(cls, value): + assert value <= 999999999 + return value + + @validator("_self") + def _self_min(cls, value): + assert value >= 1 + return value + +StartParam.update_forward_refs() diff --git a/src/openapi_server/models/steam_id.py b/src/openapi_server/models/steam_id.py new file mode 100644 index 0000000..df30097 --- /dev/null +++ b/src/openapi_server/models/steam_id.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +from __future__ import annotations +from datetime import date, datetime # noqa: F401 + +import re # noqa: F401 +from typing import Any, Dict, List, Optional # noqa: F401 + +from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator # noqa: F401 + + +class SteamId(BaseModel): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + + SteamId - a model defined in OpenAPI + + _self: The _self of this SteamId. + """ + + _self: int = Field(alias="self") + + @validator("_self") + def _self_max(cls, value): + assert value <= 18 + return value + + @validator("_self") + def _self_min(cls, value): + assert value >= 14 + return value + +SteamId.update_forward_refs() diff --git a/src/openapi_server/models/timeframe.py b/src/openapi_server/models/timeframe.py index 0ac6b1b..76059a0 100644 --- a/src/openapi_server/models/timeframe.py +++ b/src/openapi_server/models/timeframe.py @@ -16,19 +16,19 @@ class Timeframe(BaseModel): Timeframe - a model defined in OpenAPI - timeframe: The timeframe of this Timeframe. + _self: The _self of this Timeframe. """ - timeframe: str = Field(alias="timeframe") + _self: str = Field(alias="self") - @validator("timeframe") - def timeframe_max_length(cls, value): + @validator("_self") + def _self_max_length(cls, value): assert len(value) <= 15 return value - @validator("timeframe") - def timeframe_pattern(cls, value): - assert value is not None and re.match(r"^example-TODO$", value) + @validator("_self") + def _self_pattern(cls, value): + assert value is not None and re.match(r"^\d\d\d\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])$", value) return value Timeframe.update_forward_refs() diff --git a/src/openapi_server/models/www_authenticate.py b/src/openapi_server/models/www_authenticate.py index 6b53584..8d3bc46 100644 --- a/src/openapi_server/models/www_authenticate.py +++ b/src/openapi_server/models/www_authenticate.py @@ -16,13 +16,13 @@ class WwwAuthenticate(BaseModel): WwwAuthenticate - a model defined in OpenAPI - www_authenticate: The www_authenticate of this WwwAuthenticate. + _self: The _self of this WwwAuthenticate. """ - www_authenticate: str = Field(alias="WwwAuthenticate") + _self: str = Field(alias="self") - @validator("www_authenticate") - def www_authenticate_max_length(cls, value): + @validator("_self") + def _self_max_length(cls, value): assert len(value) <= 33 return value diff --git a/tests/test_administration_api.py b/tests/test_administration_api.py index f7a8541..d524e27 100644 --- a/tests/test_administration_api.py +++ b/tests/test_administration_api.py @@ -94,6 +94,26 @@ def test_bulk_update_all_teams(client: TestClient): #assert response.status_code == 200 +def test_bulk_update_all_user_stats(client: TestClient): + """Test case for bulk_update_all_user_stats + + Bulk update of stats for a specific user profile on our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + def test_create_new_admin_for_tournament(client: TestClient): """Test case for create_new_admin_for_tournament @@ -174,6 +194,26 @@ def test_create_new_team(client: TestClient): #assert response.status_code == 200 +def test_create_new_user_stats(client: TestClient): + """Test case for create_new_user_stats + + Create a new stat for a specific user profile on our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "POST", + "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + def test_get_admin_collection_for_tournament(client: TestClient): """Test case for get_admin_collection_for_tournament @@ -374,6 +414,46 @@ def test_partial_update_bracket_for_tournament(client: TestClient): #assert response.status_code == 200 +def test_partial_update_tournament_details(client: TestClient): + """Test case for partial_update_tournament_details + + Partially update a tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/tournaments/{tournament_id}".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_partial_update_user_stats(client: TestClient): + """Test case for partial_update_user_stats + + Partially update stats for a specific user profile on our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PATCH", + "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + def test_remove_all_admins_for_tournament(client: TestClient): """Test case for remove_all_admins_for_tournament @@ -413,3 +493,43 @@ def test_remove_all_settings_for_profile(client: TestClient): # uncomment below to assert the status code of the HTTP response #assert response.status_code == 200 + +def test_remove_tournament_details(client: TestClient): + """Test case for remove_tournament_details + + Remove a tournament for a specific game available on the Relic Link platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/tournaments/{tournament_id}".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + +def test_update_tournament_details(client: TestClient): + """Test case for update_tournament_details + + Update details for a tournament for a specific game + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "PUT", + "/tournaments/{tournament_id}".format(tournament_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_adminstration_api.py b/tests/test_adminstration_api.py deleted file mode 100644 index 34abfb4..0000000 --- a/tests/test_adminstration_api.py +++ /dev/null @@ -1,134 +0,0 @@ -# coding: utf-8 - -from fastapi.testclient import TestClient - - -from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 -from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 -from openapi_server.models.not_found_error import NotFoundError # noqa: F401 -from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 -from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 -from openapi_server.models.ulid import Ulid # noqa: F401 -from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 -from openapi_server.models.unsupported_media_type_error import UnsupportedMediaTypeError # noqa: F401 - - -def test_bulk_update_all_user_stats(client: TestClient): - """Test case for bulk_update_all_user_stats - - Bulk update of stats for a specific user profile on our platform - """ - - headers = { - "BasicAuth": "special-key", - "X-Api-Key": "special-key", - } - response = client.request( - "PUT", - "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_create_new_user_stats(client: TestClient): - """Test case for create_new_user_stats - - Create a new stat for a specific user profile on our platform - """ - - headers = { - "BasicAuth": "special-key", - "X-Api-Key": "special-key", - } - response = client.request( - "POST", - "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_partial_update_tournament_details(client: TestClient): - """Test case for partial_update_tournament_details - - Partially update a tournament for a specific game available on the Relic Link platform - """ - - headers = { - "BasicAuth": "special-key", - "X-Api-Key": "special-key", - } - response = client.request( - "PATCH", - "/tournaments/{tournament_id}".format(tournament_id={'key': openapi_server.Ulid()}), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_partial_update_user_stats(client: TestClient): - """Test case for partial_update_user_stats - - Partially update stats for a specific user profile on our platform - """ - - headers = { - "BasicAuth": "special-key", - "X-Api-Key": "special-key", - } - response = client.request( - "PATCH", - "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_remove_tournament_details(client: TestClient): - """Test case for remove_tournament_details - - Remove a tournament for a specific game available on the Relic Link platform - """ - - headers = { - "BasicAuth": "special-key", - "X-Api-Key": "special-key", - } - response = client.request( - "DELETE", - "/tournaments/{tournament_id}".format(tournament_id={'key': openapi_server.Ulid()}), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_update_tournament_details(client: TestClient): - """Test case for update_tournament_details - - Update details for a tournament for a specific game - """ - - headers = { - "BasicAuth": "special-key", - "X-Api-Key": "special-key", - } - response = client.request( - "PUT", - "/tournaments/{tournament_id}".format(tournament_id={'key': openapi_server.Ulid()}), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - diff --git a/tests/test_default_api.py b/tests/test_default_api.py index cfcce25..242dceb 100644 --- a/tests/test_default_api.py +++ b/tests/test_default_api.py @@ -3,1332 +3,27 @@ from fastapi.testclient import TestClient +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.game_id import GameId # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 -def test_bulk_update_all_admins_for_tournament(client: TestClient): - """Test case for bulk_update_all_admins_for_tournament - - Bulk update of admins for a specific tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PUT", - "/tournaments/{tournament_id}/admins".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_bulk_update_all_brackets_for_tournament(client: TestClient): - """Test case for bulk_update_all_brackets_for_tournament - - Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PUT", - "/tournaments/{tournament_id}/brackets".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_bulk_update_all_settings_for_profile(client: TestClient): - """Test case for bulk_update_all_settings_for_profile - - Bulk update of settings for a specific profile from the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PUT", - "/profiles/{relic_link_id}/settings".format(relic_link_id=56), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_bulk_update_all_teams(client: TestClient): - """Test case for bulk_update_all_teams - - Bulk update of teams - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PUT", - "/teams", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_bulk_update_all_tournaments(client: TestClient): - """Test case for bulk_update_all_tournaments - - Bulk update of tournaments - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PUT", - "/tournaments", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_bulk_update_all_user_details(client: TestClient): - """Test case for bulk_update_all_user_details - - Bulk update details for a specific user profile on our platform if it exists - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PUT", - "/users/{user_id}".format(user_id='user_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_bulk_update_all_user_stats(client: TestClient): - """Test case for bulk_update_all_user_stats - - Bulk update of stats for a specific user profile on our platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PUT", - "/users/{user_id}/stats".format(user_id='user_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_bulk_update_all_users(client: TestClient): - """Test case for bulk_update_all_users - - Bulk update of all users of our platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PUT", - "/users", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_create_new_admin_for_tournament(client: TestClient): - """Test case for create_new_admin_for_tournament - - Create a new admin for a specific tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "POST", - "/tournaments/{tournament_id}/admins".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_create_new_bracket_for_tournament(client: TestClient): - """Test case for create_new_bracket_for_tournament - - Create a new bracket for a specific tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "POST", - "/tournaments/{tournament_id}/brackets".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_create_new_setting_for_profile(client: TestClient): - """Test case for create_new_setting_for_profile - - Create a new setting for a specific profile from the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "POST", - "/profiles/{relic_link_id}/settings".format(relic_link_id=56), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_create_new_team(client: TestClient): - """Test case for create_new_team - - Create a new team - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "POST", - "/teams", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_create_new_tournament(client: TestClient): - """Test case for create_new_tournament - - Create a new tournament for a game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "POST", - "/tournaments", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_create_new_user(client: TestClient): - """Test case for create_new_user - - Create a new user for our platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "POST", - "/users", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_create_new_user_stats(client: TestClient): - """Test case for create_new_user_stats - - Create a new stat for a specific user profile on our platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "POST", - "/users/{user_id}/stats".format(user_id='user_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_create_new_user_validation(client: TestClient): - """Test case for create_new_user_validation - - - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "POST", - "/users/validate", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_admin_collection_for_tournament(client: TestClient): - """Test case for get_admin_collection_for_tournament - - Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/tournaments/{tournament_id}/admins".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_bracket_collection_for_tournament(client: TestClient): - """Test case for get_bracket_collection_for_tournament - - Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/tournaments/{tournament_id}/brackets".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_definition_collection_for_game(client: TestClient): - """Test case for get_definition_collection_for_game - - Retrieve all available definitions for a specific game using Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/games/{game_id}/definitions".format(game_id='game_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_details_for_game(client: TestClient): - """Test case for get_details_for_game - - Retrieve details for a game with a specific identifier using Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/games/{game_id}".format(game_id='game_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_details_for_leaderboard(client: TestClient): - """Test case for get_details_for_leaderboard - - Retrieve details for a specific leaderboard - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/leaderboards/{leaderboard_id}".format(leaderboard_id='leaderboard_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_details_for_profile(client: TestClient): - """Test case for get_details_for_profile - - Retrieve the details for a specific profile from the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/profiles/{relic_link_id}".format(relic_link_id=56), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_details_for_team(client: TestClient): - """Test case for get_details_for_team - - Retrieve details of a team - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/teams/{team_id}".format(game_id='game_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_details_for_tournament(client: TestClient): - """Test case for get_details_for_tournament - - Retrieve details for a tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/tournaments/{tournament_id}".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_details_for_user(client: TestClient): - """Test case for get_details_for_user - - Retrieve details for a specific user profile on our platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/users/{user_id}".format(user_id='user_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_game_identifier_collection(client: TestClient): - """Test case for get_game_identifier_collection - - Retrieve a list of all game identifiers for games using Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/games", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_info_collection_for_game(client: TestClient): - """Test case for get_info_collection_for_game - - Retrieve all available information for a specific game using Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/games/{game_id}/info".format(game_id='game_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_info_collection_for_tournament(client: TestClient): - """Test case for get_info_collection_for_tournament - - Retrieve all information for a specific tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/tournaments/{tournament_id}/info".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_information_collection_for_application(client: TestClient): - """Test case for get_information_collection_for_application - - Retrieve a list of available application information - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/application", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_leaderboard_collection(client: TestClient): - """Test case for get_leaderboard_collection - - Retrieve all leaderboards hosted on the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/leaderboards", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_leaderboard_collection_for_game(client: TestClient): - """Test case for get_leaderboard_collection_for_game - - Retrieve all leaderboards for a specific game using Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/games/{game_id}/leaderboards".format(game_id='game_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_match_collection_for_game(client: TestClient): - """Test case for get_match_collection_for_game - - Retrieve all matches for a specific game using Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/games/{game_id}/matches".format(game_id='game_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_match_collection_for_leaderboard(client: TestClient): - """Test case for get_match_collection_for_leaderboard - - Retrieve all matches on a specific leaderboard for a certain game hosted on the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/leaderboards/{leaderboard_id}/matches".format(leaderboard_id='leaderboard_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_match_collection_for_profile(client: TestClient): - """Test case for get_match_collection_for_profile - - Retrieve all matches for a specific profile from the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/profiles/{relic_link_id}/matches".format(relic_link_id=56), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_match_collection_for_team(client: TestClient): - """Test case for get_match_collection_for_team - - Retrieve a list of matches for a specific team - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/teams/{team_id}/matches".format(game_id='game_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_profile_collection(client: TestClient): - """Test case for get_profile_collection - - Retrieve all available profiles from the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/profiles", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_setting_collection_for_profile(client: TestClient): - """Test case for get_setting_collection_for_profile - - Retrieve all settings for a specific profile from the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/profiles/{relic_link_id}/settings".format(relic_link_id=56), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_stat_collection_for_application(client: TestClient): - """Test case for get_stat_collection_for_application - - Retrieve a list of only application statistics - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/application/statistics", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_stat_collection_for_leaderboard(client: TestClient): - """Test case for get_stat_collection_for_leaderboard - - Retrieve all stats on a specific leaderboard for a certain game hosted on the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/leaderboards/{leaderboard_id}/stats".format(leaderboard_id='leaderboard_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_stat_collection_for_profile(client: TestClient): - """Test case for get_stat_collection_for_profile - - Retrieve all stats for a specific profile from the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/profiles/{relic_link_id}/stats".format(relic_link_id=56), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_stat_collection_for_team(client: TestClient): - """Test case for get_stat_collection_for_team - - Retrieve a list of stats for a specific team - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/teams/{team_id}/stats".format(game_id='game_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_stat_collection_for_user(client: TestClient): - """Test case for get_stat_collection_for_user - - Retrieve all stats for a specific user profile on our platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/users/{user_id}/stats".format(user_id='user_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_status_collection_for_application(client: TestClient): - """Test case for get_status_collection_for_application - - Retrieve only application status - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/application/status", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_team_collection(client: TestClient): - """Test case for get_team_collection - - Retrieve all available teams - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/teams", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_tournament_details_for_game(client: TestClient): - """Test case for get_tournament_details_for_game - - Retrieve all available tournaments for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/tournaments/{game_id}".format(game_id='game_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_tournament_identifier_collection(client: TestClient): - """Test case for get_tournament_identifier_collection - - Retrieve all available tournaments for all games available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/tournaments", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_user_collection(client: TestClient): - """Test case for get_user_collection - - Retrieve all users of our platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/users", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_get_user_validation_details(client: TestClient): - """Test case for get_user_validation_details - - - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "GET", - "/users/validate", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_partial_update_all_admins_for_tournament(client: TestClient): - """Test case for partial_update_all_admins_for_tournament - - Update details of admins for a specific tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PATCH", - "/tournaments/{tournament_id}/admins".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_partial_update_all_settings_for_profile(client: TestClient): - """Test case for partial_update_all_settings_for_profile - - Update a specific setting for a specific profile from the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PATCH", - "/profiles/{relic_link_id}/settings".format(relic_link_id=56), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_partial_update_all_teams(client: TestClient): - """Test case for partial_update_all_teams - - Partial update of all teams - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PATCH", - "/teams", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_partial_update_all_users(client: TestClient): - """Test case for partial_update_all_users - - Partially update details for all user profiles - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PATCH", - "/users", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_partial_update_bracket_for_tournament(client: TestClient): - """Test case for partial_update_bracket_for_tournament - - Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PATCH", - "/tournaments/{tournament_id}/brackets".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_partial_update_tournament_details(client: TestClient): - """Test case for partial_update_tournament_details - - Partially update a tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PATCH", - "/tournaments/{tournament_id}".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_partial_update_tournaments(client: TestClient): - """Test case for partial_update_tournaments - - Partial update of tournaments - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PATCH", - "/tournaments", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_partial_update_user(client: TestClient): - """Test case for partial_update_user - - Update details for a specific user profile on our platform if it exists - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PATCH", - "/users/{user_id}".format(user_id='user_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_partial_update_user_stats(client: TestClient): - """Test case for partial_update_user_stats - - Partially update stats for a specific user profile on our platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PATCH", - "/users/{user_id}/stats".format(user_id='user_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_remove_all_admins_for_tournament(client: TestClient): - """Test case for remove_all_admins_for_tournament - - Remove all admins for a specific tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "DELETE", - "/tournaments/{tournament_id}/admins".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_remove_all_brackets_for_tournament(client: TestClient): - """Test case for remove_all_brackets_for_tournament - - Remove all brackets for a specific tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "DELETE", - "/tournaments/{tournament_id}/brackets".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_remove_all_settings_for_profile(client: TestClient): - """Test case for remove_all_settings_for_profile - - Remove all settings for a specific profile from the Relic Link API - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "DELETE", - "/profiles/{relic_link_id}/settings".format(relic_link_id=56), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_remove_all_teams(client: TestClient): - """Test case for remove_all_teams - - Remove all teams - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "DELETE", - "/teams", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_remove_all_tournaments(client: TestClient): - """Test case for remove_all_tournaments - - Remove all tournaments - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "DELETE", - "/tournaments", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_remove_all_user_stats(client: TestClient): - """Test case for remove_all_user_stats - - Remove all stats for a specific user profile on our platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "DELETE", - "/users/{user_id}/stats".format(user_id='user_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_remove_all_users(client: TestClient): - """Test case for remove_all_users - - Remove all users from our platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "DELETE", - "/users", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_remove_tournament_details(client: TestClient): - """Test case for remove_tournament_details - - Remove a tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "DELETE", - "/tournaments/{tournament_id}".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_remove_user(client: TestClient): - """Test case for remove_user - - Remove user from our platform if it exists - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "DELETE", - "/users/{user_id}".format(user_id='user_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_update_tournament_details(client: TestClient): - """Test case for update_tournament_details - - Update details for a tournament for a specific game available on the Relic Link platform - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "PUT", - "/tournaments/{tournament_id}".format(tournament_id='tournament_id_example'), - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_user_login(client: TestClient): - """Test case for user_login - - - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "POST", - "/users/login", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_user_logout(client: TestClient): - """Test case for user_logout +def test_get_details_for_game(client: TestClient): + """Test case for get_details_for_game - + Retrieve details for a game with a specific identifiers """ headers = { + "BasicAuth": "special-key", "X-Api-Key": "special-key", } response = client.request( "GET", - "/users/logout", - headers=headers, - ) - - # uncomment below to assert the status code of the HTTP response - #assert response.status_code == 200 - - -def test_user_register(client: TestClient): - """Test case for user_register - - - """ - - headers = { - "X-Api-Key": "special-key", - } - response = client.request( - "POST", - "/users/register", + "/games/{game_id}".format(game_id={'key': openapi_server.GameId()}), headers=headers, ) diff --git a/tests/test_definition_api.py b/tests/test_definition_api.py index 779bedf..e6d8045 100644 --- a/tests/test_definition_api.py +++ b/tests/test_definition_api.py @@ -4,10 +4,11 @@ from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.game_id import GameId # noqa: F401 +from openapi_server.models.language_string import LanguageString # noqa: F401 from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 from openapi_server.models.not_found_error import NotFoundError # noqa: F401 from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 -from openapi_server.models.ulid import Ulid # noqa: F401 from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 @@ -16,15 +17,16 @@ def test_get_definition_collection_for_game(client: TestClient): Retrieve all available definitions for a specific game """ - + params = [("language", {'key': openapi_server.LanguageString()})] headers = { "BasicAuth": "special-key", "X-Api-Key": "special-key", } response = client.request( "GET", - "/games/{game_id}/definitions".format(game_id={'key': openapi_server.Ulid()}), + "/games/{game_id}/definitions".format(game_id={'key': openapi_server.GameId()}), headers=headers, + params=params, ) # uncomment below to assert the status code of the HTTP response diff --git a/tests/test_information_api.py b/tests/test_information_api.py index d5d8751..485a479 100644 --- a/tests/test_information_api.py +++ b/tests/test_information_api.py @@ -4,6 +4,7 @@ from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.game_id import GameId # noqa: F401 from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 from openapi_server.models.not_found_error import NotFoundError # noqa: F401 from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 @@ -16,7 +17,7 @@ def test_get_bracket_collection_for_tournament(client: TestClient): """Test case for get_bracket_collection_for_tournament - Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform + Retrieve all brackets for a specific tournament for a specific game """ headers = { @@ -125,7 +126,7 @@ def test_get_info_collection_for_game(client: TestClient): } response = client.request( "GET", - "/games/{game_id}/info".format(game_id={'key': openapi_server.Ulid()}), + "/games/{game_id}/info".format(game_id={'key': openapi_server.GameId()}), headers=headers, ) diff --git a/tests/test_leaderboards_api.py b/tests/test_leaderboards_api.py index 95b15ec..607b1a5 100644 --- a/tests/test_leaderboards_api.py +++ b/tests/test_leaderboards_api.py @@ -3,10 +3,17 @@ from fastapi.testclient import TestClient +from openapi_server.models.count_param import CountParam # noqa: F401 from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.game_id import GameId # noqa: F401 +from openapi_server.models.match_status import MatchStatus # noqa: F401 from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 from openapi_server.models.not_found_error import NotFoundError # noqa: F401 from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.relic_link_id import RelicLinkId # noqa: F401 +from openapi_server.models.search_param import SearchParam # noqa: F401 +from openapi_server.models.since_param import SinceParam # noqa: F401 +from openapi_server.models.start_param import StartParam # noqa: F401 from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 from openapi_server.models.ulid import Ulid # noqa: F401 from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 @@ -17,7 +24,7 @@ def test_get_details_for_leaderboard(client: TestClient): Retrieve details for a specific leaderboard """ - + params = [("profile_id", {'key': openapi_server.RelicLinkId()}), ("search", {'key': openapi_server.SearchParam()}), ("start", {'key': openapi_server.StartParam()}), ("count", {'key': openapi_server.CountParam()})] headers = { "BasicAuth": "special-key", "X-Api-Key": "special-key", @@ -26,6 +33,7 @@ def test_get_details_for_leaderboard(client: TestClient): "GET", "/leaderboards/{leaderboard_id}".format(leaderboard_id={'key': openapi_server.Ulid()}), headers=headers, + params=params, ) # uncomment below to assert the status code of the HTTP response @@ -64,7 +72,7 @@ def test_get_leaderboard_collection_for_game(client: TestClient): } response = client.request( "GET", - "/games/{game_id}/leaderboards".format(game_id={'key': openapi_server.Ulid()}), + "/games/{game_id}/leaderboards".format(game_id={'key': openapi_server.GameId()}), headers=headers, ) @@ -77,7 +85,7 @@ def test_get_match_collection_for_leaderboard(client: TestClient): Retrieve all matches on a specific leaderboard for a certain game """ - + params = [("status", {'key': openapi_server.MatchStatus()}), ("count", {'key': openapi_server.CountParam()}), ("since", {'key': openapi_server.SinceParam()})] headers = { "BasicAuth": "special-key", "X-Api-Key": "special-key", @@ -86,6 +94,7 @@ def test_get_match_collection_for_leaderboard(client: TestClient): "GET", "/leaderboards/{leaderboard_id}/matches".format(leaderboard_id={'key': openapi_server.Ulid()}), headers=headers, + params=params, ) # uncomment below to assert the status code of the HTTP response diff --git a/tests/test_match_data_api.py b/tests/test_match_data_api.py index 04e1423..ae39b83 100644 --- a/tests/test_match_data_api.py +++ b/tests/test_match_data_api.py @@ -3,30 +3,58 @@ from fastapi.testclient import TestClient +from openapi_server.models.count_param import CountParam # noqa: F401 from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.game_id import GameId # noqa: F401 +from openapi_server.models.match_id import MatchId # noqa: F401 +from openapi_server.models.match_status import MatchStatus # noqa: F401 from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 from openapi_server.models.not_found_error import NotFoundError # noqa: F401 from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 from openapi_server.models.relic_link_id import RelicLinkId # noqa: F401 +from openapi_server.models.since_param import SinceParam # noqa: F401 +from openapi_server.models.start_param import StartParam # noqa: F401 from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 from openapi_server.models.ulid import Ulid # noqa: F401 from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 +def test_get_ledger_collection_for_profile(client: TestClient): + """Test case for get_ledger_collection_for_profile + + Retrieve the rating ledger for a specific profile + """ + params = [("game", {'key': openapi_server.GameId()}), ("start", {'key': openapi_server.StartParam()}), ("leaderboard_id", {'key': openapi_server.Ulid()}), ("count", {'key': openapi_server.CountParam()}), ("since", {'key': openapi_server.SinceParam()})] + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/profiles/{relic_link_id}/ledger".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + params=params, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + def test_get_match_collection_for_game(client: TestClient): """Test case for get_match_collection_for_game Retrieve all matches for a specific game """ - + params = [("single_match", {'key': openapi_server.MatchId()}), ("status", {'key': openapi_server.MatchStatus()}), ("count", {'key': openapi_server.CountParam()}), ("since", {'key': openapi_server.SinceParam()})] headers = { "BasicAuth": "special-key", "X-Api-Key": "special-key", } response = client.request( "GET", - "/games/{game_id}/matches".format(game_id={'key': openapi_server.Ulid()}), + "/games/{game_id}/matches".format(game_id={'key': openapi_server.GameId()}), headers=headers, + params=params, ) # uncomment below to assert the status code of the HTTP response @@ -38,7 +66,7 @@ def test_get_match_collection_for_leaderboard(client: TestClient): Retrieve all matches on a specific leaderboard for a certain game """ - + params = [("status", {'key': openapi_server.MatchStatus()}), ("count", {'key': openapi_server.CountParam()}), ("since", {'key': openapi_server.SinceParam()})] headers = { "BasicAuth": "special-key", "X-Api-Key": "special-key", @@ -47,6 +75,7 @@ def test_get_match_collection_for_leaderboard(client: TestClient): "GET", "/leaderboards/{leaderboard_id}/matches".format(leaderboard_id={'key': openapi_server.Ulid()}), headers=headers, + params=params, ) # uncomment below to assert the status code of the HTTP response @@ -58,7 +87,7 @@ def test_get_match_collection_for_profile(client: TestClient): Retrieve all matches for a specific profile """ - + params = [("last_match", True), ("status", {'key': openapi_server.MatchStatus()}), ("game", {'key': openapi_server.GameId()}), ("start", {'key': openapi_server.StartParam()}), ("count", {'key': openapi_server.CountParam()}), ("since", {'key': openapi_server.SinceParam()})] headers = { "BasicAuth": "special-key", "X-Api-Key": "special-key", @@ -67,6 +96,7 @@ def test_get_match_collection_for_profile(client: TestClient): "GET", "/profiles/{relic_link_id}/matches".format(relic_link_id={'key': openapi_server.RelicLinkId()}), headers=headers, + params=params, ) # uncomment below to assert the status code of the HTTP response @@ -78,7 +108,7 @@ def test_get_match_collection_for_team(client: TestClient): Retrieve a list of matches for a specific team """ - + params = [("status", {'key': openapi_server.MatchStatus()}), ("game", {'key': openapi_server.GameId()}), ("count", {'key': openapi_server.CountParam()}), ("since", {'key': openapi_server.SinceParam()})] headers = { "BasicAuth": "special-key", "X-Api-Key": "special-key", @@ -87,6 +117,7 @@ def test_get_match_collection_for_team(client: TestClient): "GET", "/teams/{team_id}/matches".format(team_id={'key': openapi_server.Ulid()}), headers=headers, + params=params, ) # uncomment below to assert the status code of the HTTP response @@ -98,7 +129,7 @@ def test_get_match_collection_for_tournament(client: TestClient): Retrieve all match data for a specific tournament for a specific game """ - + params = [("status", {'key': openapi_server.MatchStatus()}), ("game", {'key': openapi_server.GameId()}), ("count", {'key': openapi_server.CountParam()}), ("since", {'key': openapi_server.SinceParam()})] headers = { "BasicAuth": "special-key", "X-Api-Key": "special-key", @@ -107,6 +138,7 @@ def test_get_match_collection_for_tournament(client: TestClient): "GET", "/tournaments/{tournament_id}/matches".format(tournament_id={'key': openapi_server.Ulid()}), headers=headers, + params=params, ) # uncomment below to assert the status code of the HTTP response diff --git a/tests/test_ratings_api.py b/tests/test_ratings_api.py new file mode 100644 index 0000000..def5bab --- /dev/null +++ b/tests/test_ratings_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +from fastapi.testclient import TestClient + + +from openapi_server.models.count_param import CountParam # noqa: F401 +from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.game_id import GameId # noqa: F401 +from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 +from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.relic_link_id import RelicLinkId # noqa: F401 +from openapi_server.models.since_param import SinceParam # noqa: F401 +from openapi_server.models.start_param import StartParam # noqa: F401 +from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 +from openapi_server.models.ulid import Ulid # noqa: F401 +from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 + + +def test_get_ledger_collection_for_profile(client: TestClient): + """Test case for get_ledger_collection_for_profile + + Retrieve the rating ledger for a specific profile + """ + params = [("game", {'key': openapi_server.GameId()}), ("start", {'key': openapi_server.StartParam()}), ("leaderboard_id", {'key': openapi_server.Ulid()}), ("count", {'key': openapi_server.CountParam()}), ("since", {'key': openapi_server.SinceParam()})] + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "GET", + "/profiles/{relic_link_id}/ledger".format(relic_link_id={'key': openapi_server.RelicLinkId()}), + headers=headers, + params=params, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + diff --git a/tests/test_user_adminstration_api.py b/tests/test_search_api.py similarity index 62% rename from tests/test_user_adminstration_api.py rename to tests/test_search_api.py index a25a3dd..0583208 100644 --- a/tests/test_user_adminstration_api.py +++ b/tests/test_search_api.py @@ -6,26 +6,27 @@ from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 from openapi_server.models.not_found_error import NotFoundError # noqa: F401 -from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.search_param import SearchParam # noqa: F401 +from openapi_server.models.steam_id import SteamId # noqa: F401 from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 -from openapi_server.models.ulid import Ulid # noqa: F401 from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 -def test_remove_all_user_stats(client: TestClient): - """Test case for remove_all_user_stats +def test_get_profile_information_from_search(client: TestClient): + """Test case for get_profile_information_from_search - Remove all stats for a specific user profile on our platform + """ - + params = [("by_name", {'key': openapi_server.SearchParam()}), ("by_steam_id", {'key': openapi_server.SteamId()})] headers = { "BasicAuth": "special-key", "X-Api-Key": "special-key", } response = client.request( - "DELETE", - "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), + "GET", + "/profiles/search", headers=headers, + params=params, ) # uncomment below to assert the status code of the HTTP response diff --git a/tests/test_tournament_administration_api.py b/tests/test_tournament_administration_api.py index 3d98afd..a64f942 100644 --- a/tests/test_tournament_administration_api.py +++ b/tests/test_tournament_administration_api.py @@ -3,10 +3,14 @@ from fastapi.testclient import TestClient +from openapi_server.models.count_param import CountParam # noqa: F401 from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.game_id import GameId # noqa: F401 +from openapi_server.models.match_status import MatchStatus # noqa: F401 from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 from openapi_server.models.not_found_error import NotFoundError # noqa: F401 from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.since_param import SinceParam # noqa: F401 from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 from openapi_server.models.ulid import Ulid # noqa: F401 from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 @@ -156,7 +160,7 @@ def test_get_admin_collection_for_tournament(client: TestClient): def test_get_bracket_collection_for_tournament(client: TestClient): """Test case for get_bracket_collection_for_tournament - Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform + Retrieve all brackets for a specific tournament for a specific game """ headers = { @@ -198,7 +202,7 @@ def test_get_match_collection_for_tournament(client: TestClient): Retrieve all match data for a specific tournament for a specific game """ - + params = [("status", {'key': openapi_server.MatchStatus()}), ("game", {'key': openapi_server.GameId()}), ("count", {'key': openapi_server.CountParam()}), ("since", {'key': openapi_server.SinceParam()})] headers = { "BasicAuth": "special-key", "X-Api-Key": "special-key", @@ -207,6 +211,7 @@ def test_get_match_collection_for_tournament(client: TestClient): "GET", "/tournaments/{tournament_id}/matches".format(tournament_id={'key': openapi_server.Ulid()}), headers=headers, + params=params, ) # uncomment below to assert the status code of the HTTP response diff --git a/tests/test_tournaments_api.py b/tests/test_tournaments_api.py index 4f4704c..a13799e 100644 --- a/tests/test_tournaments_api.py +++ b/tests/test_tournaments_api.py @@ -3,10 +3,14 @@ from fastapi.testclient import TestClient +from openapi_server.models.count_param import CountParam # noqa: F401 from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 +from openapi_server.models.game_id import GameId # noqa: F401 +from openapi_server.models.match_status import MatchStatus # noqa: F401 from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 from openapi_server.models.not_found_error import NotFoundError # noqa: F401 from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 +from openapi_server.models.since_param import SinceParam # noqa: F401 from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 from openapi_server.models.ulid import Ulid # noqa: F401 from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 @@ -15,7 +19,7 @@ def test_get_bracket_collection_for_tournament(client: TestClient): """Test case for get_bracket_collection_for_tournament - Retrieve all brackets for a specific tournament for a specific game available on the Relic Link platform + Retrieve all brackets for a specific tournament for a specific game """ headers = { @@ -57,7 +61,7 @@ def test_get_match_collection_for_tournament(client: TestClient): Retrieve all match data for a specific tournament for a specific game """ - + params = [("status", {'key': openapi_server.MatchStatus()}), ("game", {'key': openapi_server.GameId()}), ("count", {'key': openapi_server.CountParam()}), ("since", {'key': openapi_server.SinceParam()})] headers = { "BasicAuth": "special-key", "X-Api-Key": "special-key", @@ -66,6 +70,7 @@ def test_get_match_collection_for_tournament(client: TestClient): "GET", "/tournaments/{tournament_id}/matches".format(tournament_id={'key': openapi_server.Ulid()}), headers=headers, + params=params, ) # uncomment below to assert the status code of the HTTP response diff --git a/tests/test_user_administration_api.py b/tests/test_user_administration_api.py index 516b1e1..d23450a 100644 --- a/tests/test_user_administration_api.py +++ b/tests/test_user_administration_api.py @@ -6,6 +6,7 @@ from openapi_server.models.forbidden_error import ForbiddenError # noqa: F401 from openapi_server.models.not_acceptable_error import NotAcceptableError # noqa: F401 from openapi_server.models.not_found_error import NotFoundError # noqa: F401 +from openapi_server.models.not_implemented_error import NotImplementedError # noqa: F401 from openapi_server.models.too_many_requests_error import TooManyRequestsError # noqa: F401 from openapi_server.models.ulid import Ulid # noqa: F401 from openapi_server.models.unauthorized_error import UnauthorizedError # noqa: F401 @@ -152,6 +153,26 @@ def test_partial_update_user(client: TestClient): #assert response.status_code == 200 +def test_remove_all_user_stats(client: TestClient): + """Test case for remove_all_user_stats + + Remove all stats for a specific user profile on our platform + """ + + headers = { + "BasicAuth": "special-key", + "X-Api-Key": "special-key", + } + response = client.request( + "DELETE", + "/users/{user_id}/stats".format(user_id={'key': openapi_server.Ulid()}), + headers=headers, + ) + + # uncomment below to assert the status code of the HTTP response + #assert response.status_code == 200 + + def test_remove_all_users(client: TestClient): """Test case for remove_all_users From 8c0379adf25015a94ec90583ceeba593b3e2c4e7 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 11 Oct 2022 20:37:10 +0200 Subject: [PATCH 19/63] Fix typo --- openapi.yaml | 3132 +++++++++++++++++++++++++------------------------- 1 file changed, 1592 insertions(+), 1540 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 6dc3b4d..d154f28 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -4,7 +4,8 @@ info: email: info@librematch.org name: Libre:Match Team url: https://librematch.org - description: "stable, reliable and feature-rich API for match information, leaderboards,\ + description: + "stable, reliable and feature-rich API for match information, leaderboards,\ \ and tournament organisation for the Age of Empires multiplayer community" license: name: GNU AGPLv3 @@ -15,50 +16,52 @@ info: x-logo: url: "" servers: -- description: Libre:Match Production Server v1 - url: https://api.librematch.org/v1 - x-last-modified: 1665308784 -- description: Libre:Match Development Server v1 - url: https://dev.librematch.org/v1 - x-last-modified: 1665308784 + - description: Libre:Match Production Server v1 + url: https://api.librematch.org/v1 + x-last-modified: 1665308784 + - description: Libre:Match Development Server v1 + url: https://dev.librematch.org/v1 + x-last-modified: 1665308784 security: -- BasicAuth: [] -- X-Api-Key: [] + - BasicAuth: [] + - X-Api-Key: [] paths: /profiles/search: description: Search endpoint get: - description: "Search for a profile by Steam ID or name, returns a single `profile_id`\ + description: + "Search for a profile by Steam ID or name, returns a single `profile_id`\ \ usable with other endpoints" operationId: get_profile_information_from_search parameters: - - deprecated: false - description: First 10 characters of a search string for name to search a `profile_id` - for - explode: false - in: query - name: by_name - required: false - schema: - $ref: '#/components/schemas/SearchParam' - style: form - x-last-modified: 1665308784 - - deprecated: false - description: The Steam ID to search a `profile_id` for - explode: false - in: query - name: by_steam_id - required: false - schema: - $ref: '#/components/schemas/SteamId' - style: form - x-last-modified: 1665308784 + - deprecated: false + description: + First 10 characters of a search string for name to search a `profile_id` + for + explode: false + in: query + name: by_name + required: false + schema: + $ref: "#/components/schemas/SearchParam" + style: form + x-last-modified: 1665308784 + - deprecated: false + description: The Steam ID to search a `profile_id` for + explode: false + in: query + name: by_steam_id + required: false + schema: + $ref: "#/components/schemas/SteamId" + style: form + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -67,61 +70,61 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 tags: - - Search + - Search /dumps/{timeframe}: description: Download database dumps get: description: Download a database dump from a given timeframe operationId: get_database_dump_collection parameters: - - deprecated: false - description: The timeframe from which to download a database dump - explode: false - in: path - name: timeframe - required: true - schema: - $ref: '#/components/schemas/Timeframe' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The timeframe from which to download a database dump + explode: false + in: path + name: timeframe + required: true + schema: + $ref: "#/components/schemas/Timeframe" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -130,50 +133,50 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 tags: - - Database - - Statistics + - Database + - Statistics servers: - - description: Override base path for all operations with the /dumps path - url: https://dumps.librematch.org + - description: Override base path for all operations with the /dumps path + url: https://dumps.librematch.org /games: get: operationId: get_game_identifier_collection @@ -182,7 +185,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -191,73 +194,75 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve a list of all game identifiers for games tags: - - Information + - Information summary: Endpoint for game-specific data x-last-modified: 1665308784 /games/{game_id}/definitions: get: operationId: get_definition_collection_for_game parameters: - - deprecated: false - description: "The language to query definitions for that are being used by\ - \ the API (Default: 'en')" - explode: false - in: query - name: language - required: false - schema: - $ref: '#/components/schemas/LanguageString' - style: form - - deprecated: false - description: The unique identifier we use for games that use the Relic Link - API - explode: false - in: path - name: game_id - required: true - schema: - $ref: '#/components/schemas/GameId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + "The language to query definitions for that are being used by\ + \ the API (Default: 'en')" + explode: false + in: query + name: language + required: false + schema: + $ref: "#/components/schemas/LanguageString" + style: form + - deprecated: false + description: + The unique identifier we use for games that use the Relic Link + API + explode: false + in: path + name: game_id + required: true + schema: + $ref: "#/components/schemas/GameId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -266,63 +271,64 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all available definitions for a specific game tags: - - Definition + - Definition summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1665308784 /games/{game_id}/info: get: operationId: get_info_collection_for_game parameters: - - deprecated: false - description: The unique identifier we use for games that use the Relic Link - API - explode: false - in: path - name: game_id - required: true - schema: - $ref: '#/components/schemas/GameId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier we use for games that use the Relic Link + API + explode: false + in: path + name: game_id + required: true + schema: + $ref: "#/components/schemas/GameId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -331,100 +337,102 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all available information for a specific game tags: - - Information - summary: "information about server maintenance times, DLC stuff, patch releases,\ + - Information + summary: + "information about server maintenance times, DLC stuff, patch releases,\ \ etc." x-last-modified: 1665308784 /games/{game_id}/matches: get: operationId: get_match_collection_for_game parameters: - - deprecated: false - description: Match ID to filter for its details - explode: false - in: query - name: single_match - required: false - schema: - $ref: '#/components/schemas/MatchId' - style: form - - deprecated: false - description: Match status identifiers to filter for - explode: true - in: query - name: status - required: false - schema: - $ref: '#/components/schemas/MatchStatus' - style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: '#/components/schemas/CountParam' - style: form - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: '#/components/schemas/SinceParam' - style: form - - deprecated: false - description: The unique identifier we use for games that use the Relic Link - API - explode: false - in: path - name: game_id - required: true - schema: - $ref: '#/components/schemas/GameId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Match ID to filter for its details + explode: false + in: query + name: single_match + required: false + schema: + $ref: "#/components/schemas/MatchId" + style: form + - deprecated: false + description: Match status identifiers to filter for + explode: true + in: query + name: status + required: false + schema: + $ref: "#/components/schemas/MatchStatus" + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: "#/components/schemas/CountParam" + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: "#/components/schemas/SinceParam" + style: form + - deprecated: false + description: + The unique identifier we use for games that use the Relic Link + API + explode: false + in: path + name: game_id + required: true + schema: + $ref: "#/components/schemas/GameId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -433,41 +441,42 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all matches for a specific game tags: - - Match data - summary: "match data spanning over the complete game (all leaderboards, basically\ + - Match data + summary: + "match data spanning over the complete game (all leaderboards, basically\ \ a log" x-last-modified: 1665308784 /tournaments: @@ -479,7 +488,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -488,47 +497,47 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Remove all tournaments tags: - - Tournament Administration + - Tournament Administration get: operationId: get_tournament_identifier_collection responses: @@ -536,7 +545,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -545,49 +554,50 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Retrieve all available tournaments for all games available on the Relic + summary: + Retrieve all available tournaments for all games available on the Relic Link platform tags: - - Information - - Tournament Administration + - Information + - Tournament Administration patch: description: "" operationId: partial_update_tournaments @@ -596,7 +606,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -605,54 +615,54 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Partial update of tournaments tags: - - Tournament Administration + - Tournament Administration post: description: "" operationId: create_new_tournament @@ -661,7 +671,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -670,54 +680,54 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Create a new tournament for a game available on the Relic Link platform tags: - - Tournament Administration + - Tournament Administration put: description: "" operationId: bulk_update_all_tournaments @@ -726,7 +736,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -735,54 +745,54 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Bulk update of tournaments tags: - - Tournament Administration + - Tournament Administration summary: Endpoint for tournament information x-last-modified: 1665308784 /profiles: @@ -793,7 +803,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -802,63 +812,64 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all available profiles tags: - - Administration + - Administration summary: Endpoint for player profiles on the Relic Link platform x-last-modified: 1665308784 /profiles/{relic_link_id}: get: operationId: get_details_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: '#/components/schemas/RelicLinkId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: "#/components/schemas/RelicLinkId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -867,117 +878,118 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve the details for a specific profile tags: - - Information + - Information summary: Profile information for a Relic Link player_ID x-last-modified: 1665308784 /profiles/{relic_link_id}/matches: get: operationId: get_match_collection_for_profile parameters: - - deprecated: false - description: Only show exactly the last available match - explode: false - in: query - name: last_match - required: false - schema: - type: boolean - style: form - - deprecated: false - description: Match status identifiers to filter for - explode: true - in: query - name: status - required: false - schema: - $ref: '#/components/schemas/MatchStatus' - style: form - - deprecated: false - description: Game identifier to query for - explode: true - in: query - name: game - required: false - schema: - $ref: '#/components/schemas/GameId' - style: form - - deprecated: false - description: Starting match - explode: false - in: query - name: start - required: false - schema: - $ref: '#/components/schemas/StartParam' - style: form - - deprecated: false - description: Number of entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: '#/components/schemas/CountParam' - style: form - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: '#/components/schemas/SinceParam' - style: form - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: '#/components/schemas/RelicLinkId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Only show exactly the last available match + explode: false + in: query + name: last_match + required: false + schema: + type: boolean + style: form + - deprecated: false + description: Match status identifiers to filter for + explode: true + in: query + name: status + required: false + schema: + $ref: "#/components/schemas/MatchStatus" + style: form + - deprecated: false + description: Game identifier to query for + explode: true + in: query + name: game + required: false + schema: + $ref: "#/components/schemas/GameId" + style: form + - deprecated: false + description: Starting match + explode: false + in: query + name: start + required: false + schema: + $ref: "#/components/schemas/StartParam" + style: form + - deprecated: false + description: Number of entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: "#/components/schemas/CountParam" + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: "#/components/schemas/SinceParam" + style: form + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: "#/components/schemas/RelicLinkId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -986,108 +998,109 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all matches for a specific profile tags: - - Match data + - Match data summary: match data for a certain Relic Link profile x-last-modified: 1665308784 /profiles/{relic_link_id}/ledger: get: operationId: get_ledger_collection_for_profile parameters: - - deprecated: false - description: Game identifier to query for - explode: true - in: query - name: game - required: false - schema: - $ref: '#/components/schemas/GameId' - style: form - - deprecated: false - description: Starting match - explode: false - in: query - name: start - required: false - schema: - $ref: '#/components/schemas/StartParam' - style: form - - deprecated: false - description: Leaderboard identifier - explode: false - in: query - name: leaderboard_id - required: false - schema: - $ref: '#/components/schemas/Ulid' - style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: '#/components/schemas/CountParam' - style: form - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: '#/components/schemas/SinceParam' - style: form - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: '#/components/schemas/RelicLinkId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Game identifier to query for + explode: true + in: query + name: game + required: false + schema: + $ref: "#/components/schemas/GameId" + style: form + - deprecated: false + description: Starting match + explode: false + in: query + name: start + required: false + schema: + $ref: "#/components/schemas/StartParam" + style: form + - deprecated: false + description: Leaderboard identifier + explode: false + in: query + name: leaderboard_id + required: false + schema: + $ref: "#/components/schemas/Ulid" + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: "#/components/schemas/CountParam" + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: "#/components/schemas/SinceParam" + style: form + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: "#/components/schemas/RelicLinkId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1096,41 +1109,41 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve the rating ledger for a specific profile tags: - - Match data - - Ratings + - Match data + - Ratings summary: Rating ledger a certain Relic Link profile x-last-modified: 1665308784 /users: @@ -1142,7 +1155,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1151,40 +1164,40 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Remove all users from our platform tags: - - User Administration + - User Administration get: description: Authenticated Endpoint for Administrators or Libre:Match operationId: get_user_collection @@ -1193,7 +1206,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1202,40 +1215,40 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all users of our platform tags: - - User Administration + - User Administration patch: description: "" operationId: partial_update_all_users @@ -1244,7 +1257,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1253,47 +1266,47 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Partially update details for all user profiles tags: - - User Administration + - User Administration post: description: "" operationId: create_new_user @@ -1302,7 +1315,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1314,49 +1327,49 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Create a new user for our platform tags: - - Authentication - - Account Registration - - User Administration + - Authentication + - Account Registration + - User Administration put: description: "" operationId: bulk_update_all_users @@ -1365,7 +1378,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1374,47 +1387,47 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Bulk update of all users of our platform tags: - - User Administration + - User Administration summary: Endpoint for users of our API x-last-modified: 1665308784 /users/{user_id}: @@ -1422,22 +1435,22 @@ paths: description: "" operationId: remove_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1446,59 +1459,59 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Remove user from our platform if it exists tags: - - User Administration + - User Administration get: operationId: get_details_for_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1507,61 +1520,61 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve details for a specific user profile on our platform tags: - - Information - - User Administration + - Information + - User Administration patch: description: "" operationId: partial_update_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1570,67 +1583,67 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Update details for a specific user profile on our platform if it exists tags: - - User Administration + - User Administration put: description: "" operationId: bulk_update_all_user_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1639,48 +1652,49 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 - summary: Bulk update details for a specific user profile on our platform if + summary: + Bulk update details for a specific user profile on our platform if it exists tags: - - User Administration + - User Administration summary: user profile for an API user x-last-modified: 1665308784 /users/login: @@ -1691,7 +1705,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1700,46 +1714,46 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 tags: - - Authentication + - Authentication summary: Login for users of our API x-last-modified: 1665308784 /users/logout: @@ -1750,7 +1764,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1759,39 +1773,39 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 tags: - - Authentication + - Authentication summary: Logout for users of our API x-last-modified: 1665308784 /users/register: @@ -1802,7 +1816,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1811,50 +1825,51 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 tags: - - Account Registration + - Account Registration summary: Registering as a new User to our API x-last-modified: 1665308784 /users/validate: - description: "Validate API tokens, can give information about how long a token\ + description: + "Validate API tokens, can give information about how long a token\ \ is still valid and help automating updating a token" get: operationId: get_user_validation_details @@ -1863,7 +1878,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1872,40 +1887,40 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 tags: - - Authentication - - API Token Validation + - Authentication + - API Token Validation post: operationId: create_new_user_validation responses: @@ -1913,7 +1928,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1922,47 +1937,47 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 tags: - - Authentication - - API Token Validation + - Authentication + - API Token Validation summary: Validation for a user account and api tokens used for our API x-last-modified: 1665308784 /application: @@ -1973,7 +1988,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -1982,42 +1997,43 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve a list of available application information tags: - - Internal - - Administration - summary: "General information and data about Libre:Match app, e.g. API updates,\ + - Internal + - Administration + summary: + "General information and data about Libre:Match app, e.g. API updates,\ \ possible upcoming maintenance and other news/stuff" x-last-modified: 1665308784 /application/statistics: @@ -2028,7 +2044,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2037,42 +2053,43 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve a list of only application statistics tags: - - Internal - - Administration - summary: "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ + - Internal + - Administration + summary: + "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ \ amount of users, etc." x-last-modified: 1665308784 /application/status: @@ -2083,7 +2100,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2092,35 +2109,35 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "503": @@ -2128,32 +2145,33 @@ paths: x-last-modified: 1665308784 summary: Retrieve only application status tags: - - Internal - - Administration - - Status Check + - Internal + - Administration + - Status Check summary: Status updates for health checks of our API x-last-modified: 1665308784 /games/{game_id}: get: operationId: get_details_for_game parameters: - - deprecated: false - description: The unique identifier we use for games that use the Relic Link - API - explode: false - in: path - name: game_id - required: true - schema: - $ref: '#/components/schemas/GameId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier we use for games that use the Relic Link + API + explode: false + in: path + name: game_id + required: true + schema: + $ref: "#/components/schemas/GameId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2162,35 +2180,35 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve details for a game with a specific identifiers @@ -2200,23 +2218,24 @@ paths: get: operationId: get_leaderboard_collection_for_game parameters: - - deprecated: false - description: The unique identifier we use for games that use the Relic Link - API - explode: false - in: path - name: game_id - required: true - schema: - $ref: '#/components/schemas/GameId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier we use for games that use the Relic Link + API + explode: false + in: path + name: game_id + required: true + schema: + $ref: "#/components/schemas/GameId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2225,99 +2244,100 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all leaderboards for a specific game tags: - - Leaderboards + - Leaderboards summary: Collection of leaderboard data spanning over the complete game x-last-modified: 1665308784 /leaderboards/{leaderboard_id}: get: operationId: get_details_for_leaderboard parameters: - - deprecated: false - description: Search for a profile ID in a leaderboard - explode: false - in: query - name: profile_id - required: false - schema: - $ref: '#/components/schemas/RelicLinkId' - style: form - - deprecated: false - description: Search for a name in a leaderboard - explode: false - in: query - name: search - required: false - schema: - $ref: '#/components/schemas/SearchParam' - style: form - - deprecated: false - description: Starting rank - explode: false - in: query - name: start - required: false - schema: - $ref: '#/components/schemas/StartParam' - style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: '#/components/schemas/CountParam' - style: form - - deprecated: false - description: The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Search for a profile ID in a leaderboard + explode: false + in: query + name: profile_id + required: false + schema: + $ref: "#/components/schemas/RelicLinkId" + style: form + - deprecated: false + description: Search for a name in a leaderboard + explode: false + in: query + name: search + required: false + schema: + $ref: "#/components/schemas/SearchParam" + style: form + - deprecated: false + description: Starting rank + explode: false + in: query + name: start + required: false + schema: + $ref: "#/components/schemas/StartParam" + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: "#/components/schemas/CountParam" + style: form + - deprecated: false + description: + The unique identifier (ULID) we use for leaderboards of the Relic + Link API + explode: false + in: path + name: leaderboard_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2326,63 +2346,64 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve details for a specific leaderboard tags: - - Leaderboards + - Leaderboards summary: game-specific leaderboards on the Relic Link platform x-last-modified: 1665308784 /leaderboards/{leaderboard_id}/stats: get: operationId: get_stat_collection_for_leaderboard parameters: - - deprecated: false - description: The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier (ULID) we use for leaderboards of the Relic + Link API + explode: false + in: path + name: leaderboard_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2391,98 +2412,99 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all stats on a specific leaderboard for a certain game tags: - - Leaderboards - - Statistics + - Leaderboards + - Statistics summary: Collection of stats for a specific leaderboard x-last-modified: 1665308784 /leaderboards/{leaderboard_id}/matches: get: operationId: get_match_collection_for_leaderboard parameters: - - deprecated: false - description: Match status identifiers to filter for - explode: true - in: query - name: status - required: false - schema: - $ref: '#/components/schemas/MatchStatus' - style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: '#/components/schemas/CountParam' - style: form - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: '#/components/schemas/SinceParam' - style: form - - deprecated: false - description: The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Match status identifiers to filter for + explode: true + in: query + name: status + required: false + schema: + $ref: "#/components/schemas/MatchStatus" + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: "#/components/schemas/CountParam" + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: "#/components/schemas/SinceParam" + style: form + - deprecated: false + description: + The unique identifier (ULID) we use for leaderboards of the Relic + Link API + explode: false + in: path + name: leaderboard_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2491,41 +2513,41 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all matches on a specific leaderboard for a certain game tags: - - Leaderboards - - Match data + - Leaderboards + - Match data summary: Collection of match data for a specific leaderboard x-last-modified: 1665308784 /leaderboards: @@ -2536,7 +2558,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2545,41 +2567,41 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 summary: Retrieve all leaderboards tags: - - Leaderboards - - Information + - Leaderboards + - Information summary: Collection of all leaderboard data on the Relic Link platform x-last-modified: 1665308784 /tournaments/{tournament_id}: @@ -2587,22 +2609,22 @@ paths: description: "" operationId: remove_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2610,67 +2632,68 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Remove a tournament for a specific game available on the Relic Link + summary: + Remove a tournament for a specific game available on the Relic Link platform tags: - - Administration + - Administration get: operationId: get_details_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2678,68 +2701,69 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Retrieve details for a tournament for a specific game available on + summary: + Retrieve details for a tournament for a specific game available on the Relic Link platform tags: - - Information + - Information patch: description: "" operationId: partial_update_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2747,75 +2771,76 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Partially update a tournament for a specific game available on the + summary: + Partially update a tournament for a specific game available on the Relic Link platform tags: - - Administration + - Administration put: description: "" operationId: update_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2823,54 +2848,54 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Update details for a tournament for a specific game tags: - - Administration + - Administration summary: game-specific tournaments x-last-modified: 1665308784 /users/{user_id}/stats: @@ -2878,22 +2903,22 @@ paths: description: "" operationId: remove_all_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2901,66 +2926,66 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Remove all stats for a specific user profile on our platform tags: - - User Administration + - User Administration get: operationId: get_stat_collection_for_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -2968,67 +2993,67 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all stats for a specific user profile on our platform tags: - - Statistics + - Statistics patch: description: "" operationId: partial_update_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3036,74 +3061,74 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Partially update stats for a specific user profile on our platform tags: - - Administration + - Administration post: description: "" operationId: create_new_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3111,74 +3136,74 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Create a new stat for a specific user profile on our platform tags: - - Administration + - Administration put: description: "" operationId: bulk_update_all_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for users of our API + explode: false + in: path + name: user_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3186,76 +3211,76 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Bulk update of stats for a specific user profile on our platform tags: - - Administration + - Administration summary: user profile for an API user x-last-modified: 1665308784 /tournaments/{tournament_id}/info: get: operationId: get_info_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3263,71 +3288,71 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all information for a specific tournament for a specific game tags: - - Information - - Tournaments - - Tournament Administration + - Information + - Tournaments + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/stats: get: operationId: get_stat_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3335,107 +3360,107 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all statistics for a specific tournament for a specific game tags: - - Statistics - - Tournaments - - Tournament Administration + - Statistics + - Tournaments + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/matches: get: operationId: get_match_collection_for_tournament parameters: - - deprecated: false - description: Match status identifiers to filter for - explode: true - in: query - name: status - required: false - schema: - $ref: '#/components/schemas/MatchStatus' - style: form - - deprecated: false - description: Game identifier to query for - explode: true - in: query - name: game - required: false - schema: - $ref: '#/components/schemas/GameId' - style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: '#/components/schemas/CountParam' - style: form - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: '#/components/schemas/SinceParam' - style: form - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Match status identifiers to filter for + explode: true + in: query + name: status + required: false + schema: + $ref: "#/components/schemas/MatchStatus" + style: form + - deprecated: false + description: Game identifier to query for + explode: true + in: query + name: game + required: false + schema: + $ref: "#/components/schemas/GameId" + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: "#/components/schemas/CountParam" + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: "#/components/schemas/SinceParam" + style: form + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3443,49 +3468,49 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all match data for a specific tournament for a specific game tags: - - Match data - - Tournaments - - Tournament Administration + - Match data + - Tournaments + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/brackets: @@ -3493,22 +3518,22 @@ paths: description: "" operationId: remove_all_brackets_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3516,66 +3541,66 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Remove all brackets for a specific tournament for a specific game tags: - - Tournament Administration + - Tournament Administration get: operationId: get_bracket_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3583,72 +3608,72 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all brackets for a specific tournament for a specific game tags: - - Information - - Tournaments - - Tournament Administration + - Information + - Tournaments + - Tournament Administration patch: description: "" operationId: partial_update_bracket_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - maxLength: 26 - pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" - type: string - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + format: ulid + maxLength: 26 + pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" + type: string + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3656,76 +3681,77 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Partial update all brackets for a specific tournament for a specific + summary: + Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration post: description: "" operationId: create_new_bracket_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3733,76 +3759,77 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Create a new bracket for a specific tournament for a specific game + summary: + Create a new bracket for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration put: description: "" operationId: bulk_update_all_brackets_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3810,56 +3837,57 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Bulk update all brackets for a specific tournament for a specific game + summary: + Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/admins: @@ -3867,22 +3895,22 @@ paths: description: "" operationId: remove_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3890,67 +3918,67 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Remove all admins for a specific tournament for a specific game tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration get: operationId: get_admin_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -3958,69 +3986,70 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Retrieve all admins for a specific tournament for a specific game available + summary: + Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration patch: description: "" operationId: partial_update_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4028,76 +4057,77 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Update details of admins for a specific tournament for a specific game + summary: + Update details of admins for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration post: description: "" operationId: create_new_admin_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4105,76 +4135,77 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Create a new admin for a specific tournament for a specific game available + summary: + Create a new admin for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration put: description: "" operationId: bulk_update_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: The unique identifier (ULID) we use for tournaments + explode: false + in: path + name: tournament_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4182,55 +4213,55 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Bulk update of admins for a specific tournament for a specific game tags: - - Administration - - Tournament Administration + - Administration + - Tournament Administration summary: Endpoint for tournament admins x-last-modified: 1665308784 /teams: @@ -4242,7 +4273,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4250,48 +4281,48 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Remove all teams tags: - - Teams - - Team Administration + - Teams + - Team Administration get: operationId: get_team_collection responses: @@ -4299,7 +4330,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4307,49 +4338,49 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all available teams tags: - - Information - - Teams - - Team Administration + - Information + - Teams + - Team Administration patch: description: "" operationId: partial_update_all_teams @@ -4358,7 +4389,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4366,55 +4397,55 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Partial update of all teams tags: - - Administration - - Team Administration + - Administration + - Team Administration post: description: "" operationId: create_new_team @@ -4423,7 +4454,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4431,55 +4462,55 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Create a new team tags: - - Administration - - Team Administration + - Administration + - Team Administration put: description: "" operationId: bulk_update_all_teams @@ -4488,7 +4519,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4496,55 +4527,55 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Bulk update of teams tags: - - Administration - - Team Administration + - Administration + - Team Administration summary: Endpoint for team information x-last-modified: 1665308784 /profiles/{relic_link_id}/settings: @@ -4552,23 +4583,24 @@ paths: description: "" operationId: remove_all_settings_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: '#/components/schemas/RelicLinkId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: "#/components/schemas/RelicLinkId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4576,68 +4608,69 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Remove all settings for a specific profile tags: - - Profile Administration - - Administration + - Profile Administration + - Administration get: operationId: get_setting_collection_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: '#/components/schemas/RelicLinkId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: "#/components/schemas/RelicLinkId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4645,70 +4678,71 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all settings for a specific profile tags: - - Profile Administration - - Administration - - Information + - Profile Administration + - Administration + - Information patch: description: "" operationId: partial_update_all_settings_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: '#/components/schemas/RelicLinkId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: "#/components/schemas/RelicLinkId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4716,77 +4750,79 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Update a specific setting for a specific profile from the Relic Link + summary: + Update a specific setting for a specific profile from the Relic Link API tags: - - Profile Administration - - Administration + - Profile Administration + - Administration post: description: "" operationId: create_new_setting_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: '#/components/schemas/RelicLinkId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: "#/components/schemas/RelicLinkId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4794,76 +4830,77 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Create a new setting for a specific profile from the Relic Link API tags: - - Profile Administration - - Administration + - Profile Administration + - Administration put: description: "" operationId: bulk_update_all_settings_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: '#/components/schemas/RelicLinkId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: "#/components/schemas/RelicLinkId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4871,79 +4908,81 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 - summary: Bulk update of settings for a specific profile from the Relic Link + summary: + Bulk update of settings for a specific profile from the Relic Link API tags: - - Profile Administration - - Administration + - Profile Administration + - Administration summary: Collection of settings specifically for a certain Relic Link profile x-last-modified: 1665308784 /profiles/{relic_link_id}/stats: get: operationId: get_stat_collection_for_profile parameters: - - deprecated: false - description: The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: '#/components/schemas/RelicLinkId' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier used by the Relic Link API for a player + on their platform + explode: false + in: path + name: relic_link_id + required: true + schema: + $ref: "#/components/schemas/RelicLinkId" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -4951,70 +4990,71 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve all stats for a specific profile tags: - - Statistics + - Statistics summary: Collection of statistics specifically for a certain Relic Link profile x-last-modified: 1665308784 /teams/{team_id}: get: operationId: get_details_for_team parameters: - - deprecated: false - description: The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: team_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier (ULID) we use for teams that play on games + using the Relic Link API + explode: false + in: path + name: team_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -5022,107 +5062,108 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve details of a team tags: - - Teams - - Team Administration + - Teams + - Team Administration summary: Team information x-last-modified: 1665308784 /teams/{team_id}/matches: get: operationId: get_match_collection_for_team parameters: - - deprecated: false - description: Match status identifiers to filter for - explode: true - in: query - name: status - required: false - schema: - $ref: '#/components/schemas/MatchStatus' - style: form - - deprecated: false - description: Game identifier to query for - explode: true - in: query - name: game - required: false - schema: - $ref: '#/components/schemas/GameId' - style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: '#/components/schemas/CountParam' - style: form - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: '#/components/schemas/SinceParam' - style: form - - deprecated: false - description: The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: team_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: Match status identifiers to filter for + explode: true + in: query + name: status + required: false + schema: + $ref: "#/components/schemas/MatchStatus" + style: form + - deprecated: false + description: Game identifier to query for + explode: true + in: query + name: game + required: false + schema: + $ref: "#/components/schemas/GameId" + style: form + - deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: "#/components/schemas/CountParam" + style: form + - deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: "#/components/schemas/SinceParam" + style: form + - deprecated: false + description: + The unique identifier (ULID) we use for teams that play on games + using the Relic Link API + explode: false + in: path + name: team_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -5130,70 +5171,71 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve a list of matches for a specific team tags: - - Match data + - Match data summary: Collection of match information for a team x-last-modified: 1665308784 /teams/{team_id}/stats: get: operationId: get_stat_collection_for_team parameters: - - deprecated: false - description: The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: team_id - required: true - schema: - $ref: '#/components/schemas/Ulid' - style: simple - x-last-modified: 1665308784 + - deprecated: false + description: + The unique identifier (ULID) we use for teams that play on games + using the Relic Link API + explode: false + in: path + name: team_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: default: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access "200": description: Operation succeeded @@ -5201,49 +5243,49 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 summary: Retrieve a list of stats for a specific team tags: - - Statistics - - Teams - - Team Administration + - Statistics + - Teams + - Team Administration summary: Collection of stats for a team x-last-modified: 1665308784 components: @@ -5252,7 +5294,7 @@ components: description: Authorization header explode: false schema: - $ref: '#/components/schemas/AuthorizationHeader' + $ref: "#/components/schemas/AuthorizationHeader" style: simple X-RateLimit-Remaining: description: The number of remaining requests in the current period @@ -5261,14 +5303,15 @@ components: type: integer style: simple X-Transaction-ID: - description: "When set by the client code with an alphanumeric value, the transaction\ + description: + "When set by the client code with an alphanumeric value, the transaction\ \ ID is logged in the log files for debugging. \nWhen the client is not specifying\ \ this value, the server auto generates this value for the incoming request.\ \ \nThe main purpose is to filter various logs at once for a single transaction\ \ ID, to ease the debugging." explode: false schema: - $ref: '#/components/schemas/Ulid' + $ref: "#/components/schemas/Ulid" style: simple X-RateLimit-Limit: description: The number of allowed requests in the current period @@ -5277,7 +5320,8 @@ components: type: integer style: simple X-RateLimit-Reset: - description: The number of seconds left in the current period until the rate + description: + The number of seconds left in the current period until the rate limit resets explode: false schema: @@ -5285,7 +5329,8 @@ components: style: simple Pragma: deprecated: false - description: Implementation-specific fields that may have various effects anywhere + description: + Implementation-specific fields that may have various effects anywhere along the request-response chain. explode: false required: false @@ -5305,21 +5350,23 @@ components: style: simple If-None-Match: deprecated: false - description: "Allows a 304 Not Modified to be returned if content is unchanged,\ + description: + "Allows a 304 Not Modified to be returned if content is unchanged,\ \ see HTTP ETag." explode: false required: false schema: - $ref: '#/components/schemas/Md5' + $ref: "#/components/schemas/Md5" style: simple WWW-Authenticate: deprecated: false - description: Defines the HTTP authentication methods ("challenges") that might + description: + Defines the HTTP authentication methods ("challenges") that might be used to gain access to a specific resource explode: false required: false schema: - $ref: '#/components/schemas/WwwAuthenticate' + $ref: "#/components/schemas/WwwAuthenticate" style: simple Location: deprecated: false @@ -5334,14 +5381,15 @@ components: parameters: relic_link_id: deprecated: false - description: The unique identifier used by the Relic Link API for a player on + description: + The unique identifier used by the Relic Link API for a player on their platform explode: false in: path name: relic_link_id required: true schema: - $ref: '#/components/schemas/RelicLinkId' + $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1665308784 tournament_id: @@ -5352,43 +5400,46 @@ components: name: tournament_id required: true schema: - $ref: '#/components/schemas/Ulid' + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665308784 leaderboard_id: deprecated: false - description: The unique identifier (ULID) we use for leaderboards of the Relic + description: + The unique identifier (ULID) we use for leaderboards of the Relic Link API explode: false in: path name: leaderboard_id required: true schema: - $ref: '#/components/schemas/Ulid' + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665308784 game_id: deprecated: false - description: The unique identifier we use for games that use the Relic Link + description: + The unique identifier we use for games that use the Relic Link API explode: false in: path name: game_id required: true schema: - $ref: '#/components/schemas/GameId' + $ref: "#/components/schemas/GameId" style: simple x-last-modified: 1665308784 team_id: deprecated: false - description: The unique identifier (ULID) we use for teams that play on games + description: + The unique identifier (ULID) we use for teams that play on games using the Relic Link API explode: false in: path name: team_id required: true schema: - $ref: '#/components/schemas/Ulid' + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665308784 user_id: @@ -5399,7 +5450,7 @@ components: name: user_id required: true schema: - $ref: '#/components/schemas/Ulid' + $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665308784 responses: @@ -5413,14 +5464,14 @@ components: content: application/json: schema: - $ref: '#/components/schemas/Accepted' + $ref: "#/components/schemas/Accepted" description: Accepted x-last-modified: 1665308784 "204": content: application/json: schema: - $ref: '#/components/schemas/NoContent' + $ref: "#/components/schemas/NoContent" description: No Content x-last-modified: 1665308784 "304": @@ -5430,77 +5481,77 @@ components: content: application/json: schema: - $ref: '#/components/schemas/IllegalInputError' + $ref: "#/components/schemas/IllegalInputError" description: Bad Request x-last-modified: 1665308784 "401": content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access x-last-modified: 1665308784 "403": content: application/json: schema: - $ref: '#/components/schemas/ForbiddenError' + $ref: "#/components/schemas/ForbiddenError" description: Forbidden x-last-modified: 1665308784 "404": content: application/json: schema: - $ref: '#/components/schemas/NotFoundError' + $ref: "#/components/schemas/NotFoundError" description: Entity not found x-last-modified: 1665308784 "406": content: application/json: schema: - $ref: '#/components/schemas/NotAcceptableError' + $ref: "#/components/schemas/NotAcceptableError" description: Not acceptable x-last-modified: 1665308784 "408": content: application/json: schema: - $ref: '#/components/schemas/RequestTimeoutError' + $ref: "#/components/schemas/RequestTimeoutError" description: Request Timeout x-last-modified: 1665308784 "415": content: application/json: schema: - $ref: '#/components/schemas/UnsupportedMediaTypeError' + $ref: "#/components/schemas/UnsupportedMediaTypeError" description: Unsupported Media Type x-last-modified: 1665308784 "429": content: application/json: schema: - $ref: '#/components/schemas/TooManyRequestsError' + $ref: "#/components/schemas/TooManyRequestsError" description: Too Many Requests x-last-modified: 1665308784 "500": content: application/json: schema: - $ref: '#/components/schemas/ServerError' + $ref: "#/components/schemas/ServerError" description: Server Error x-last-modified: 1665308784 "501": content: application/json: schema: - $ref: '#/components/schemas/NotImplementedError' + $ref: "#/components/schemas/NotImplementedError" description: Not Implemented x-last-modified: 1665308784 "503": content: application/json: schema: - $ref: '#/components/schemas/ServiceUnavailableError' + $ref: "#/components/schemas/ServiceUnavailableError" description: Service Unavailable x-last-modified: 1665308784 schemas: @@ -5514,18 +5565,19 @@ components: pattern: "" type: integer required: - - self + - self type: object MatchId: additionalProperties: false properties: self: format: uuid - pattern: "^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b\ + pattern: + "^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b\ -[0-9a-fA-F]{12}$" type: string required: - - self + - self type: object SteamId: additionalProperties: false @@ -5536,7 +5588,7 @@ components: minimum: 14 type: integer required: - - self + - self type: object SearchParam: additionalProperties: false @@ -5548,7 +5600,7 @@ components: pattern: "^.{10}$" type: string required: - - self + - self type: object CountParam: additionalProperties: false @@ -5559,7 +5611,7 @@ components: minimum: 1 type: integer required: - - self + - self type: object StartParam: additionalProperties: false @@ -5570,7 +5622,7 @@ components: minimum: 1 type: integer required: - - self + - self type: object LanguageString: additionalProperties: false @@ -5582,7 +5634,7 @@ components: pattern: "^([a-z]{2}){1}\b(-[A-Z]{2}){0,1}$" type: string required: - - self + - self type: object AuthorizationHeader: additionalProperties: false @@ -5592,7 +5644,7 @@ components: maxLength: 33 type: string required: - - self + - self type: object x-last-modified: 1665308784 WwwAuthenticate: @@ -5603,7 +5655,7 @@ components: maxLength: 33 type: string required: - - self + - self type: object x-last-modified: 1665308784 Md5: @@ -5616,7 +5668,7 @@ components: pattern: "^[a-fA-F0-9]{32}$" type: string required: - - checksum + - checksum type: object x-last-modified: 1665308784 Timeframe: @@ -5629,7 +5681,7 @@ components: pattern: "^\\d\\d\\d\\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])$" type: string required: - - self + - self type: object x-last-modified: 1665308784 RelicLinkId: @@ -5641,21 +5693,21 @@ components: minimum: 0 type: integer required: - - id + - id type: object x-last-modified: 1665308784 MatchStatus: additionalProperties: false - description: Match stati + description: Match statuses properties: self: enum: - - drafting - - ongoing - - finished + - drafting + - ongoing + - finished type: string required: - - self + - self type: object x-last-modified: 1665308784 GameId: @@ -5664,13 +5716,13 @@ components: properties: self: enum: - - aoe1de - - aoe2de - - aoe3de - - aoe4 + - aoe1de + - aoe2de + - aoe3de + - aoe4 type: string required: - - self + - self type: object x-last-modified: 1665308784 Ulid: @@ -5684,7 +5736,7 @@ components: pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" type: string required: - - ulid + - ulid type: object x-last-modified: 1665308784 UnsupportedMediaTypeError: @@ -5699,8 +5751,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: UnsupportedMediaTypeError type: object x-last-modified: 1665308784 @@ -5714,8 +5766,8 @@ components: minimum: 503 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 NotImplementedError: @@ -5730,8 +5782,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: NotImplementedError type: object x-last-modified: 1665308784 @@ -5747,8 +5799,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: TooManyRequestsError type: object x-last-modified: 1665308784 @@ -5762,8 +5814,8 @@ components: minimum: 408 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 NotAcceptableError: @@ -5778,8 +5830,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: NotAcceptableError type: object x-last-modified: 1665308784 @@ -5795,8 +5847,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: NotFoundError type: object x-last-modified: 1665308784 @@ -5812,8 +5864,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: ForbiddenError type: object x-last-modified: 1665308784 @@ -5827,8 +5879,8 @@ components: minimum: 202 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 NoContent: @@ -5844,8 +5896,8 @@ components: minimum: 204 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 IllegalInputError: @@ -5861,8 +5913,8 @@ components: minimum: 400 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 UnauthorizedError: @@ -5879,8 +5931,8 @@ components: title: code type: integer required: - - code - - message + - code + - message title: UnauthorizedError type: object x-last-modified: 1665308784 @@ -5894,8 +5946,8 @@ components: minimum: 500 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665308784 securitySchemes: From 5f20b834300b895e06031cfcce53bf7224dfbd7d Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Wed, 12 Oct 2022 22:59:29 +0200 Subject: [PATCH 20/63] Changes to search parameter --- openapi.yaml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/openapi.yaml b/openapi.yaml index d154f28..36407e0 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -34,13 +34,22 @@ paths: \ usable with other endpoints" operationId: get_profile_information_from_search parameters: + - deprecated: false + description: If only exact matches should be returned + explode: false + in: query + name: exact + required: false + schema: + type: boolean + x-last-modified: 1665308784 - deprecated: false description: First 10 characters of a search string for name to search a `profile_id` for explode: false in: query - name: by_name + name: by_alias required: false schema: $ref: "#/components/schemas/SearchParam" @@ -918,6 +927,15 @@ paths: get: operationId: get_match_collection_for_profile parameters: + - deprecated: false + description: Match ID to filter for its details + explode: false + in: query + name: single_match + required: false + schema: + $ref: "#/components/schemas/MatchId" + style: form - deprecated: false description: Only show exactly the last available match explode: false From 979cee911f39d76d76a9666644449ef7973a5f8f Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Wed, 12 Oct 2022 22:59:41 +0200 Subject: [PATCH 21/63] Add draft responses --- .../_id/matches_single_match_compact.json | 219 ++++++++++++++++++ .../responses/profiles/search_by_alias.json | 142 ++++++++++++ .../profiles/search_by_steam_id.json | 124 ++++++++++ 3 files changed, 485 insertions(+) create mode 100644 docs/design/responses/profiles/_id/matches_single_match_compact.json create mode 100644 docs/design/responses/profiles/search_by_alias.json create mode 100644 docs/design/responses/profiles/search_by_steam_id.json diff --git a/docs/design/responses/profiles/_id/matches_single_match_compact.json b/docs/design/responses/profiles/_id/matches_single_match_compact.json new file mode 100644 index 0000000..895c1f3 --- /dev/null +++ b/docs/design/responses/profiles/_id/matches_single_match_compact.json @@ -0,0 +1,219 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6", + "rel": [ + "item" + ] + }, + "desc": "Showing 1 of 1 match.", + "offset": 0, + "limit": 25, + "size": 1, + "first": null, + "previous": null, + "next": null, + "last": null, + "filters": { + "single_match": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "language": "en", + "style": "compact", + "last_match": false, + "status": null, + "game": null, + "start": null, + "count": null, + "since": null + }, + "value": { + "match_id": 48838946, + "status": "finished", + "started_at": "2022-10-03T15:41:38.000Z", + "finished_at": "2022-10-03T15:50:38.000Z", + "duration": 540, + "settings": { + "map_name": { + "value": "Chaos Pit", + "language": "en" + }, + "map_size": { + "value": "Tiny", + "language": "en" + }, + "map_visibility": { + "value": "Normal", + "language": "en" + }, + "resources": { + "value": "Standard", + "language": "en" + }, + "population": 200, + "game_speed": { + "value": "Normal", + "language": "en" + }, + "starting_age": { + "value": "Standard", + "language": "en" + }, + "ending_age": { + "value": "Standard", + "language": "en" + }, + "treaty_length": null, + "victory_condition": { + "value": "Conquest", + "language": "en" + }, + "lock_teams": true, + "team_together": true, + "team_positions": false, + "shared_exploration": false, + "handicap": false, + "lock_speed": true, + "allow_cheats": false, + "turbo_mode": false, + "full_tech_tree": false, + "empire_wars_mode": false, + "sudden_death_mode": false, + "regicide_mode": false, + "record_game": true + }, + "leaderboard": { + "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "rm_1v1", + "rel": [ + "collection" + ] + }, + "rematch": true, + "server": "India", + "rating_average": 2022, + "patch_version": "", + "related": [ + { + "Endpoints_need_support (TODO)": "same civ matchups, same opponents, same map" + } + ], + "match_size": 2, + "teams": [ + [ + { + "self": { + "profile": { + "href": "https://api.librematch.org/v1/profiles/196240", + "rel": [ + "item" + ] + }, + "verified": true, + "first_name": "", + "last_name": "", + "alias": "TheViper", + "country_code": "no", + "profile_id": 196240, + "steam_id": "", + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "stats": { + "rank": 4, + "rating_max": 2600, + "rating": 2400, + "win_rate": 67.8, + "streak": 2, + "games_count": 264, + "wins_count": 174, + "losses_count": 90, + "drops_count": 2, + "rank_level": null, + "rating_history": null, + "civ_history": null, + "map_history": null + } + }, + "number": "", + "civilization": "", + "colour": { + "value": "yellow", + "language": "en" + }, + "result_win": true + } + ], + [ + { + "self": { + "profile": { + "href": "https://api.librematch.org/v1/profiles/196240", + "rel": [ + "item" + ] + }, + "verified": true, + "first_name": "", + "last_name": "", + "alias": "TheViper", + "country_code": "no", + "profile_id": 196240, + "steam_id": "", + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "stats": { + "rank": 4, + "rating_max": 2600, + "rating": 2400, + "win_rate": 67.8, + "streak": 2, + "games_count": 264, + "wins_count": 174, + "losses_count": 90, + "drops_count": 2, + "rank_level": null, + "rating_history": null, + "civ_history": null, + "map_history": null + } + }, + "number": "", + "civilization": "", + "colour": { + "value": "yellow", + "language": "en" + }, + "result_win": true + } + ] + ] + } +} \ No newline at end of file diff --git a/docs/design/responses/profiles/search_by_alias.json b/docs/design/responses/profiles/search_by_alias.json new file mode 100644 index 0000000..1988e05 --- /dev/null +++ b/docs/design/responses/profiles/search_by_alias.json @@ -0,0 +1,142 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/profiles/search?by_name=TheViper", + "rel": [ + "collection" + ] + }, + "desc": "Showing 25 of 218 profiles. Use the 'next' link for the next page.", + "offset": 0, + "limit": 25, + "size": 218, + "first": { + "href": "https://api.librematch.org/v1/profiles/search?by_name=TheViper", + "rel": [ + "collection" + ] + }, + "previous": null, + "next": { + "href": "https://api.librematch.org/v1/profiles/search?by_name=TheViper&offset=25", + "rel": [ + "collection" + ] + }, + "last": { + "href": "https://api.librematch.org/v1/profiles/search?by_name=TheViper&offset=200", + "rel": [ + "collection" + ] + }, + "filters": { + "by_name": "TheViper", + "by_steam_id": null, + "exact": false + }, + "value": [ + { + "self": { + "href": "https://api.librematch.org/v1/profiles/196240" + }, + "verified": true, + "first_name": "", + "last_name": "", + "alias": "TheViper", + "country_code": "no", + "profile_id": 196240, + "steam_id": "", + "last_matches": [ + { + "aoe2de": { + "datetime": "2022-04-19T08:36:35.000Z", + "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6" + } + }, + { + "aoe4": { + "datetime": "2022-04-20T08:38:35.000Z", + "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6" + } + } + ], + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "socials": [ + { + "discord": { + "href": "" + } + }, + { + "twitter": { + "href": "" + } + }, + { + "youtube": { + "href": "" + } + }, + { + "twitch": { + "href": "" + } + }, + { + "fbgaming": { + "href": "" + } + }, + { + "instagram": { + "href": "" + } + }, + { + "liquipedia": { + "href": "" + } + }, + { + "esportsearnings": { + "href": "" + } + }, + { + "aoeelo": { + "href": "" + } + }, + { + "discord_id": { + "href": "" + } + }, + { + "douyu": { + "href": "" + } + } + ] + }, + { + "...": "items 2-24 omitted for brevity" + } + ] +} \ No newline at end of file diff --git a/docs/design/responses/profiles/search_by_steam_id.json b/docs/design/responses/profiles/search_by_steam_id.json new file mode 100644 index 0000000..2e068bb --- /dev/null +++ b/docs/design/responses/profiles/search_by_steam_id.json @@ -0,0 +1,124 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/profiles/search?by_id=196240", + "rel": [ + "collection" + ] + }, + "desc": "Showing 1 of 1 profile.", + "offset": 0, + "limit": 25, + "size": 1, + "first": null, + "previous": null, + "next": null, + "last": null, + "filters": { + "by_name": null, + "by_steam_id": 196243121513410, + "exact": false + }, + "value": [ + { + "self": { + "href": "https://api.librematch.org/v1/profiles/196240" + }, + "verified": true, + "first_name": "", + "last_name": "", + "alias": "TheViper", + "country_code": "no", + "profile_id": 196240, + "steam_id": "", + "last_matches": [ + { + "aoe2de": { + "datetime": "2022-04-19T08:36:35.000Z", + "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6" + } + }, + { + "aoe4": { + "datetime": "2022-04-20T08:38:35.000Z", + "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6" + } + } + ], + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "socials": [ + { + "discord": { + "href": "" + } + }, + { + "twitter": { + "href": "" + } + }, + { + "youtube": { + "href": "" + } + }, + { + "twitch": { + "href": "" + } + }, + { + "fbgaming": { + "href": "" + } + }, + { + "instagram": { + "href": "" + } + }, + { + "liquipedia": { + "href": "" + } + }, + { + "esportsearnings": { + "href": "" + } + }, + { + "aoeelo": { + "href": "" + } + }, + { + "discord_id": { + "href": "" + } + }, + { + "douyu": { + "href": "" + } + } + ] + } + ] +} \ No newline at end of file From db066c770966e45008e9185c332d8791dd596a96 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Wed, 12 Oct 2022 23:00:36 +0200 Subject: [PATCH 22/63] add response template --- .../responses/ionized_response_template.json | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/design/responses/ionized_response_template.json diff --git a/docs/design/responses/ionized_response_template.json b/docs/design/responses/ionized_response_template.json new file mode 100644 index 0000000..acb9a53 --- /dev/null +++ b/docs/design/responses/ionized_response_template.json @@ -0,0 +1,40 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/", + "rel": [ + "collection" + ] + }, + "desc": "Showing X of Y profiles.", + "offset": 0, + "limit": 25, + "size": "Y", + "first": { + "href": "https://api.librematch.org/v1/profiles/search", + "rel": [ + "collection" + ] + }, + "previous": null, + "next": { + "href": "https://api.librematch.org/v1/profiles/search?offset=25", + "rel": [ + "collection" + ] + }, + "last": { + "href": "https://api.librematch.org/v1/profiles/search?offset=200", + "rel": [ + "collection" + ] + }, + "filters": { + "by_name": null, + "by_steam_id": null, + "exact": false + }, + "value": [ + {} + ] +} \ No newline at end of file From 668a0d0197ddf4222d3dfa4ccea7b66a82026e4b Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Wed, 12 Oct 2022 23:27:38 +0200 Subject: [PATCH 23/63] Add teams to responses --- .../_id/matches_single_match_compact.json | 32 +++++++++++++------ .../responses/profiles/search_by_alias.json | 8 +++++ .../profiles/search_by_steam_id.json | 10 +++++- 3 files changed, 39 insertions(+), 11 deletions(-) diff --git a/docs/design/responses/profiles/_id/matches_single_match_compact.json b/docs/design/responses/profiles/_id/matches_single_match_compact.json index 895c1f3..1bb34ad 100644 --- a/docs/design/responses/profiles/_id/matches_single_match_compact.json +++ b/docs/design/responses/profiles/_id/matches_single_match_compact.json @@ -26,7 +26,9 @@ "since": null }, "value": { - "match_id": 48838946, + "match_id": 75984064, + "match_uuid": "03531e31-31fd-5041-9f70-0264e158a40e", + "lobby_name": "[REMATCH] 12345", "status": "finished", "started_at": "2022-10-03T15:41:38.000Z", "finished_at": "2022-10-03T15:50:38.000Z", @@ -97,7 +99,8 @@ } ], "match_size": 2, - "teams": [ + "match_slots_used": 2, + "team_matchups": [ [ { "self": { @@ -107,6 +110,14 @@ "item" ] }, + "teams": [ + { + "href": "https://api.librematch.org/v1/teams/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "rel": [ + "item" + ] + } + ], "verified": true, "first_name": "", "last_name": "", @@ -147,10 +158,10 @@ "map_history": null } }, - "number": "", + "match_slot": 1, "civilization": "", "colour": { - "value": "yellow", + "value": "green", "language": "en" }, "result_win": true @@ -160,17 +171,18 @@ { "self": { "profile": { - "href": "https://api.librematch.org/v1/profiles/196240", + "href": "https://api.librematch.org/v1/profiles/1141567", "rel": [ "item" ] }, + "teams": null, "verified": true, "first_name": "", "last_name": "", - "alias": "TheViper", - "country_code": "no", - "profile_id": 196240, + "alias": "MrYo", + "country_code": "cn", + "profile_id": 1141567, "steam_id": "", "avatars": [ { @@ -205,13 +217,13 @@ "map_history": null } }, - "number": "", + "match_slot": 2, "civilization": "", "colour": { "value": "yellow", "language": "en" }, - "result_win": true + "result_win": false } ] ] diff --git a/docs/design/responses/profiles/search_by_alias.json b/docs/design/responses/profiles/search_by_alias.json index 1988e05..9542b5d 100644 --- a/docs/design/responses/profiles/search_by_alias.json +++ b/docs/design/responses/profiles/search_by_alias.json @@ -39,6 +39,14 @@ "self": { "href": "https://api.librematch.org/v1/profiles/196240" }, + "teams": [ + { + "href": "https://api.librematch.org/v1/teams/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "rel": [ + "item" + ] + } + ], "verified": true, "first_name": "", "last_name": "", diff --git a/docs/design/responses/profiles/search_by_steam_id.json b/docs/design/responses/profiles/search_by_steam_id.json index 2e068bb..49746ce 100644 --- a/docs/design/responses/profiles/search_by_steam_id.json +++ b/docs/design/responses/profiles/search_by_steam_id.json @@ -1,7 +1,7 @@ { "contentVersion": "v1", "self": { - "href": "https://api.librematch.org/v1/profiles/search?by_id=196240", + "href": "https://api.librematch.org/v1/profiles/search?by_id=196243121513410", "rel": [ "collection" ] @@ -24,6 +24,14 @@ "self": { "href": "https://api.librematch.org/v1/profiles/196240" }, + "teams": [ + { + "href": "https://api.librematch.org/v1/teams/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "rel": [ + "item" + ] + } + ], "verified": true, "first_name": "", "last_name": "", From 69736b970643ce77ec13b5a54b0177931815e951 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Wed, 12 Oct 2022 23:32:00 +0200 Subject: [PATCH 24/63] Add private and password_protected to fields --- .../responses/profiles/_id/matches_single_match_compact.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/design/responses/profiles/_id/matches_single_match_compact.json b/docs/design/responses/profiles/_id/matches_single_match_compact.json index 1bb34ad..5bd232c 100644 --- a/docs/design/responses/profiles/_id/matches_single_match_compact.json +++ b/docs/design/responses/profiles/_id/matches_single_match_compact.json @@ -27,6 +27,8 @@ }, "value": { "match_id": 75984064, + "private": false, + "password_protected": false, "match_uuid": "03531e31-31fd-5041-9f70-0264e158a40e", "lobby_name": "[REMATCH] 12345", "status": "finished", From 3523601159543c71ab68f511815030e1b3fb3102 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Wed, 12 Oct 2022 23:49:45 +0200 Subject: [PATCH 25/63] Add translations --- .../_id/matches_single_match_compact.json | 178 +++++++++++++----- 1 file changed, 134 insertions(+), 44 deletions(-) diff --git a/docs/design/responses/profiles/_id/matches_single_match_compact.json b/docs/design/responses/profiles/_id/matches_single_match_compact.json index 5bd232c..6173292 100644 --- a/docs/design/responses/profiles/_id/matches_single_match_compact.json +++ b/docs/design/responses/profiles/_id/matches_single_match_compact.json @@ -16,7 +16,10 @@ "last": null, "filters": { "single_match": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "language": "en", + "languages": [ + "en", + "fr" + ], "style": "compact", "last_match": false, "status": null, @@ -36,40 +39,88 @@ "finished_at": "2022-10-03T15:50:38.000Z", "duration": 540, "settings": { - "map_name": { - "value": "Chaos Pit", - "language": "en" - }, - "map_size": { - "value": "Tiny", - "language": "en" - }, - "map_visibility": { - "value": "Normal", - "language": "en" - }, - "resources": { - "value": "Standard", - "language": "en" - }, + "map_name": [ + { + "value": "Chaos Pit", + "language": "en" + }, + { + "value": "Puits du Chaos", + "language": "fr" + } + ], + "map_size": [ + { + "value": "Tiny", + "language": "en" + }, + { + "value": "Petit", + "language": "fr" + } + ], + "map_visibility": [ + { + "value": "Normal", + "language": "en" + }, + { + "value": "Normale", + "language": "fr" + } + ], + "resources": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], "population": 200, - "game_speed": { - "value": "Normal", - "language": "en" - }, - "starting_age": { - "value": "Standard", - "language": "en" - }, - "ending_age": { - "value": "Standard", - "language": "en" - }, + "game_speed": [ + { + "value": "Normal", + "language": "en" + }, + { + "value": "Normale", + "language": "fr" + } + ], + "starting_age": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "ending_age": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], "treaty_length": null, - "victory_condition": { - "value": "Conquest", - "language": "en" - }, + "victory_condition": [ + { + "value": "Conquest", + "language": "en" + }, + { + "value": "Conquête", + "language": "fr" + } + ], "lock_teams": true, "team_together": true, "team_positions": false, @@ -92,7 +143,16 @@ ] }, "rematch": true, - "server": "India", + "server": [ + { + "value": "India", + "language": "en" + }, + { + "value": "Inde", + "language": "fr" + } + ], "rating_average": 2022, "patch_version": "", "related": [ @@ -161,11 +221,26 @@ } }, "match_slot": 1, - "civilization": "", - "colour": { - "value": "green", - "language": "en" - }, + "civilization": [ + { + "value": "Chinese", + "language": "en" + }, + { + "value": "Chinois", + "language": "fr" + } + ], + "colour": [ + { + "value": "Green", + "language": "en" + }, + { + "value": "Vert", + "language": "fr" + } + ], "result_win": true } ], @@ -220,11 +295,26 @@ } }, "match_slot": 2, - "civilization": "", - "colour": { - "value": "yellow", - "language": "en" - }, + "civilization": [ + { + "value": "Byzantines", + "language": "en" + }, + { + "value": "Byzantines", + "language": "fr" + } + ], + "colour": [ + { + "value": "Yellow", + "language": "en" + }, + { + "value": "Jaune", + "language": "fr" + } + ], "result_win": false } ] From 61b53ed85c98705ae7ed6791507c644b3b152096 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 13 Oct 2022 11:37:05 +0200 Subject: [PATCH 26/63] Refine types of parameters --- openapi.yaml | 254 ++++++++++++++++++++++----------------------------- 1 file changed, 110 insertions(+), 144 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 36407e0..32624db 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -25,6 +25,7 @@ servers: security: - BasicAuth: [] - X-Api-Key: [] + - HttpAuth: [] paths: /profiles/search: description: Search endpoint @@ -49,7 +50,7 @@ paths: for explode: false in: query - name: by_alias + name: alias required: false schema: $ref: "#/components/schemas/SearchParam" @@ -59,7 +60,7 @@ paths: description: The Steam ID to search a `profile_id` for explode: false in: query - name: by_steam_id + name: steam_id required: false schema: $ref: "#/components/schemas/SteamId" @@ -392,7 +393,7 @@ paths: description: Match ID to filter for its details explode: false in: query - name: single_match + name: match_uuid required: false schema: $ref: "#/components/schemas/MatchId" @@ -931,7 +932,7 @@ paths: description: Match ID to filter for its details explode: false in: query - name: single_match + name: match_uuid required: false schema: $ref: "#/components/schemas/MatchId" @@ -944,7 +945,7 @@ paths: required: false schema: type: boolean - style: form + example: false - deprecated: false description: Match status identifiers to filter for explode: true @@ -5397,6 +5398,24 @@ components: type: string style: simple parameters: + language: + deprecated: false + name: language + in: query + description: "Language to receive content for" + explode: true + required: false + schema: + $ref: "#/components/schemas/LanguageString" + style: + deprecated: false + name: style + in: query + description: "Style to receive content in" + explode: false + required: false + schema: + $ref: "#/components/schemas/ResponseStyle" relic_link_id: deprecated: false description: @@ -5574,86 +5593,59 @@ components: x-last-modified: 1665308784 schemas: SinceParam: - additionalProperties: false - properties: - self: - format: int64 - maximum: 1980923226 - minimum: 1602232026 - pattern: "" - type: integer - required: - - self - type: object + format: int64 + maximum: 1980923226 + minimum: 1602232026 + pattern: "" + type: integer + example: 1702232026 MatchId: - additionalProperties: false - properties: - self: - format: uuid - pattern: - "^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b\ - -[0-9a-fA-F]{12}$" - type: string - required: - - self - type: object + format: uuid + pattern: + "^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b\ + -[0-9a-fA-F]{12}$" + type: string + example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 SteamId: - additionalProperties: false - properties: - self: - format: int64 - maximum: 18 - minimum: 14 - type: integer - required: - - self - type: object + format: int64 + maximum: 18 + minimum: 14 + type: integer SearchParam: - additionalProperties: false description: First 10 characters of a search string - properties: - self: - format: string - maxLength: 10 - pattern: "^.{10}$" - type: string - required: - - self - type: object + format: string + maxLength: 10 + pattern: "^.{10}$" + type: string + example: TheViper CountParam: - additionalProperties: false - properties: - self: - format: int32 - maximum: 10000 - minimum: 1 - type: integer - required: - - self - type: object + format: int32 + maximum: 10000 + minimum: 1 + type: integer + example: 1 StartParam: - additionalProperties: false - properties: - self: - format: int64 - maximum: 999999999 - minimum: 1 - type: integer - required: - - self - type: object + format: int64 + maximum: 999999999 + minimum: 0 + type: integer + example: 0 + ResponseStyle: + description: Styling the response is send in + enum: + - compact + - full + type: string + default: compact + example: compact + x-last-modified: 1665308784 LanguageString: - additionalProperties: false - properties: - self: - format: string - maxLength: 5 - minLength: 2 - pattern: "^([a-z]{2}){1}\b(-[A-Z]{2}){0,1}$" - type: string - required: - - self - type: object + format: string + maxLength: 5 + minLength: 2 + pattern: "^([a-z]{2}){1}\b(-[A-Z]{2}){0,1}$" + type: string + example: en AuthorizationHeader: additionalProperties: false properties: @@ -5677,85 +5669,56 @@ components: type: object x-last-modified: 1665308784 Md5: - additionalProperties: false - properties: - checksum: - format: string - maxLength: 33 - maximum: 33 - pattern: "^[a-fA-F0-9]{32}$" - type: string - required: - - checksum - type: object + format: string + maxLength: 33 + maximum: 33 + pattern: "^[a-fA-F0-9]{32}$" + type: string x-last-modified: 1665308784 Timeframe: - additionalProperties: false - properties: - self: - format: string - maxLength: 15 - maximum: 15 - pattern: "^\\d\\d\\d\\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])$" - type: string - required: - - self - type: object + format: string + maxLength: 15 + maximum: 15 + pattern: "^\\d\\d\\d\\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])$" + type: string x-last-modified: 1665308784 RelicLinkId: - additionalProperties: false - properties: - id: - format: int64 - maximum: 999999999 - minimum: 0 - type: integer - required: - - id - type: object + format: int64 + maximum: 999999999 + minimum: 0 + type: integer + example: 196240 x-last-modified: 1665308784 MatchStatus: - additionalProperties: false description: Match statuses - properties: - self: - enum: - - drafting - - ongoing - - finished - type: string - required: - - self - type: object + enum: + - drafting + - ongoing + - finished + type: string + default: finished + example: ongoing x-last-modified: 1665308784 GameId: - additionalProperties: false description: Supported games by Relic Link API - properties: - self: - enum: - - aoe1de - - aoe2de - - aoe3de - - aoe4 - type: string + enum: + - aoe1de + - aoe2de + - aoe3de + - aoe4 + type: string + example: aoe2de required: - - self - type: object + - required x-last-modified: 1665308784 Ulid: - additionalProperties: false - properties: - ulid: - format: ulid - maxLength: 26 - maximum: 26 - minimum: 26 - pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" - type: string - required: - - ulid - type: object + format: ulid + maxLength: 26 + maximum: 26 + minimum: 26 + pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" + type: string + example: 4Y89HG5TKRF7BGMMSQMRPZ6S1B x-last-modified: 1665308784 UnsupportedMediaTypeError: additionalProperties: false @@ -5987,3 +5950,6 @@ components: scheme: bearer type: http x-last-modified: 1665308784 + HttpAuth: + type: http + scheme: basic From 8fe4c2d70aef8653f90a43b91795db6b2e494062 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 13 Oct 2022 11:42:38 +0200 Subject: [PATCH 27/63] Clean example --- docs/design/responses/profiles/search_by_alias.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/design/responses/profiles/search_by_alias.json b/docs/design/responses/profiles/search_by_alias.json index 9542b5d..2c6462f 100644 --- a/docs/design/responses/profiles/search_by_alias.json +++ b/docs/design/responses/profiles/search_by_alias.json @@ -142,9 +142,6 @@ } } ] - }, - { - "...": "items 2-24 omitted for brevity" } ] } \ No newline at end of file From 5a1ab90e82c968f58db1e7696b8bab1459b40821 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 13 Oct 2022 14:47:57 +0200 Subject: [PATCH 28/63] add ref parameters --- openapi.yaml | 66 ++++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 32624db..323c2a1 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -928,33 +928,11 @@ paths: get: operationId: get_match_collection_for_profile parameters: - - deprecated: false - description: Match ID to filter for its details - explode: false - in: query - name: match_uuid - required: false - schema: - $ref: "#/components/schemas/MatchId" - style: form - - deprecated: false - description: Only show exactly the last available match - explode: false - in: query - name: last_match - required: false - schema: - type: boolean - example: false - - deprecated: false - description: Match status identifiers to filter for - explode: true - in: query - name: status - required: false - schema: - $ref: "#/components/schemas/MatchStatus" - style: form + - $ref: "#/components/parameters/style" + - $ref: "#/components/parameters/language" + - $ref: "#/components/parameters/match_uuid" + - $ref: "#/components/parameters/last_match" + - $ref: "#/components/parameters/status" - deprecated: false description: Game identifier to query for explode: true @@ -963,7 +941,6 @@ paths: required: false schema: $ref: "#/components/schemas/GameId" - style: form - deprecated: false description: Starting match explode: false @@ -972,7 +949,6 @@ paths: required: false schema: $ref: "#/components/schemas/StartParam" - style: form - deprecated: false description: Number of entries to get explode: false @@ -981,7 +957,6 @@ paths: required: false schema: $ref: "#/components/schemas/CountParam" - style: form - deprecated: false description: Only show matches starting after this Unix timestamp explode: false @@ -990,7 +965,6 @@ paths: required: false schema: $ref: "#/components/schemas/SinceParam" - style: form - deprecated: false description: The unique identifier used by the Relic Link API for a player @@ -5398,6 +5372,34 @@ components: type: string style: simple parameters: + status: + deprecated: false + description: Match status identifiers to filter for + explode: true + in: query + name: status + required: false + schema: + $ref: "#/components/schemas/MatchStatus" + last_match: + deprecated: false + description: Only show exactly the last available match + explode: false + in: query + name: last_match + required: false + schema: + type: boolean + example: false + match_uuid: + deprecated: false + description: Match ID to filter for its details + explode: false + in: query + name: match_uuid + required: false + schema: + $ref: "#/components/schemas/MatchId" language: deprecated: false name: language @@ -5708,8 +5710,6 @@ components: - aoe4 type: string example: aoe2de - required: - - required x-last-modified: 1665308784 Ulid: format: ulid From 6a05ce05fc1449f469604904798501cb8fc725c5 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 13 Oct 2022 16:11:57 +0200 Subject: [PATCH 29/63] Make OpenAPI file more compact by using references in parameters and responses --- openapi.yaml | 4333 ++++++++------------------------------------------ 1 file changed, 654 insertions(+), 3679 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 323c2a1..36cb25b 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -35,82 +35,25 @@ paths: \ usable with other endpoints" operationId: get_profile_information_from_search parameters: - - deprecated: false - description: If only exact matches should be returned - explode: false - in: query - name: exact - required: false - schema: - type: boolean - x-last-modified: 1665308784 - - deprecated: false - description: - First 10 characters of a search string for name to search a `profile_id` - for - explode: false - in: query - name: alias - required: false - schema: - $ref: "#/components/schemas/SearchParam" - style: form - x-last-modified: 1665308784 - - deprecated: false - description: The Steam ID to search a `profile_id` for - explode: false - in: query - name: steam_id - required: false - schema: - $ref: "#/components/schemas/SteamId" - style: form - x-last-modified: 1665308784 + - $ref: "#/components/parameters/exact" + - $ref: "#/components/parameters/search_alias" + - $ref: "#/components/parameters/search_steam_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" tags: - Search /dumps/{timeframe}: @@ -119,68 +62,25 @@ paths: description: Download a database dump from a given timeframe operationId: get_database_dump_collection parameters: - - deprecated: false - description: The timeframe from which to download a database dump - explode: false - in: path - name: timeframe - required: true - schema: - $ref: "#/components/schemas/Timeframe" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/timeframe" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" tags: - Database - Statistics @@ -192,49 +92,20 @@ paths: operationId: get_game_identifier_collection responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve a list of all game identifiers for games tags: - Information @@ -244,36 +115,11 @@ paths: get: operationId: get_definition_collection_for_game parameters: - - deprecated: false - description: - "The language to query definitions for that are being used by\ - \ the API (Default: 'en')" - explode: false - in: query - name: language - required: false - schema: - $ref: "#/components/schemas/LanguageString" - style: form - - deprecated: false - description: - The unique identifier we use for games that use the Relic Link - API - explode: false - in: path - name: game_id - required: true - schema: - $ref: "#/components/schemas/GameId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/language" + - $ref: "#/components/parameters/game_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 @@ -285,33 +131,13 @@ paths: description: Unauthorized access. x-last-modified: 1665308784 "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve all available definitions for a specific game tags: - Definition @@ -321,25 +147,10 @@ paths: get: operationId: get_info_collection_for_game parameters: - - deprecated: false - description: - The unique identifier we use for games that use the Relic Link - API - explode: false - in: path - name: game_id - required: true - schema: - $ref: "#/components/schemas/GameId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/game_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 @@ -351,33 +162,13 @@ paths: description: Unauthorized access. x-last-modified: 1665308784 "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve all available information for a specific game tags: - Information @@ -389,99 +180,27 @@ paths: get: operationId: get_match_collection_for_game parameters: - - deprecated: false - description: Match ID to filter for its details - explode: false - in: query - name: match_uuid - required: false - schema: - $ref: "#/components/schemas/MatchId" - style: form - - deprecated: false - description: Match status identifiers to filter for - explode: true - in: query - name: status - required: false - schema: - $ref: "#/components/schemas/MatchStatus" - style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: "#/components/schemas/CountParam" - style: form - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: "#/components/schemas/SinceParam" - style: form - - deprecated: false - description: - The unique identifier we use for games that use the Relic Link - API - explode: false - in: path - name: game_id - required: true - schema: - $ref: "#/components/schemas/GameId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/match_uuid" + - $ref: "#/components/parameters/status" + - $ref: "#/components/parameters/count" + - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/game_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve all matches for a specific game tags: - Match data @@ -495,56 +214,22 @@ paths: operationId: remove_all_tournaments responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Remove all tournaments tags: - Tournament Administration @@ -552,56 +237,22 @@ paths: operationId: get_tournament_identifier_collection responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve all available tournaments for all games available on the Relic Link platform @@ -613,63 +264,24 @@ paths: operationId: partial_update_tournaments responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Partial update of tournaments tags: - Tournament Administration @@ -678,63 +290,24 @@ paths: operationId: create_new_tournament responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Create a new tournament for a game available on the Relic Link platform tags: - Tournament Administration @@ -743,63 +316,24 @@ paths: operationId: bulk_update_all_tournaments responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Bulk update of tournaments tags: - Tournament Administration @@ -810,49 +344,20 @@ paths: operationId: get_profile_collection responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve all available profiles tags: - Administration @@ -862,63 +367,26 @@ paths: get: operationId: get_details_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/relic_link_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" + $ref: "#/components/responses/401" + description: Unauthorized access x-last-modified: 1665308784 "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve the details for a specific profile tags: - Information @@ -965,63 +433,23 @@ paths: required: false schema: $ref: "#/components/schemas/SinceParam" - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/relic_link_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve all matches for a specific profile tags: - Match data @@ -1031,15 +459,7 @@ paths: get: operationId: get_ledger_collection_for_profile parameters: - - deprecated: false - description: Game identifier to query for - explode: true - in: query - name: game - required: false - schema: - $ref: "#/components/schemas/GameId" - style: form + - $ref: "#/components/parameters/game_id" - deprecated: false description: Starting match explode: false @@ -1058,81 +478,25 @@ paths: schema: $ref: "#/components/schemas/Ulid" style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: "#/components/schemas/CountParam" - style: form - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: "#/components/schemas/SinceParam" - style: form - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/count" + - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/relic_link_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve the rating ledger for a specific profile tags: - Match data @@ -1145,49 +509,20 @@ paths: operationId: remove_all_users responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Remove all users from our platform tags: - User Administration @@ -1196,49 +531,20 @@ paths: operationId: get_user_collection responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve all users of our platform tags: - User Administration @@ -1247,56 +553,22 @@ paths: operationId: partial_update_all_users responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Partially update details for all user profiles tags: - User Administration @@ -1305,11 +577,7 @@ paths: operationId: create_new_user responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 @@ -1317,47 +585,17 @@ paths: description: Created x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Create a new user for our platform tags: - Authentication @@ -1368,56 +606,22 @@ paths: operationId: bulk_update_all_users responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Bulk update of all users of our platform tags: - User Administration @@ -1428,122 +632,46 @@ paths: description: "" operationId: remove_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/user_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Remove user from our platform if it exists tags: - User Administration get: operationId: get_details_for_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/user_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve details for a specific user profile on our platform tags: - Information @@ -1552,68 +680,25 @@ paths: description: "" operationId: partial_update_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/user_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Update details for a specific user profile on our platform if it exists tags: - User Administration @@ -1621,68 +706,25 @@ paths: description: "" operationId: bulk_update_all_user_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/user_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Bulk update details for a specific user profile on our platform if it exists @@ -1695,56 +737,22 @@ paths: operationId: user_login responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" tags: - Authentication summary: Login for users of our API @@ -1754,49 +762,20 @@ paths: operationId: user_logout responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" tags: - Authentication summary: Logout for users of our API @@ -1806,56 +785,22 @@ paths: operationId: user_register responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" tags: - Account Registration summary: Registering as a new User to our API @@ -1868,49 +813,20 @@ paths: operationId: get_user_validation_details responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" tags: - Authentication - API Token Validation @@ -1918,56 +834,22 @@ paths: operationId: create_new_user_validation responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" tags: - Authentication - API Token Validation @@ -1978,49 +860,20 @@ paths: operationId: get_information_collection_for_application responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve a list of available application information tags: - Internal @@ -2034,49 +887,20 @@ paths: operationId: get_stat_collection_for_application responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve a list of only application statistics tags: - Internal @@ -2090,52 +914,22 @@ paths: operationId: get_status_collection_for_application responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "503": - description: Service Unavailable - x-last-modified: 1665308784 + $ref: "#/components/responses/503" summary: Retrieve only application status tags: - Internal @@ -2161,49 +955,20 @@ paths: x-last-modified: 1665308784 responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve details for a game with a specific identifiers summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1665308784 @@ -2225,49 +990,20 @@ paths: x-last-modified: 1665308784 responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve all leaderboards for a specific game tags: - Leaderboards @@ -2304,15 +1040,7 @@ paths: schema: $ref: "#/components/schemas/StartParam" style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: "#/components/schemas/CountParam" - style: form + - $ref: "#/components/parameters/count" - deprecated: false description: The unique identifier (ULID) we use for leaderboards of the Relic @@ -2327,49 +1055,20 @@ paths: x-last-modified: 1665308784 responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve details for a specific leaderboard tags: - Leaderboards @@ -2393,56 +1092,22 @@ paths: x-last-modified: 1665308784 responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve all stats on a specific leaderboard for a certain game tags: - Leaderboards @@ -2453,33 +1118,9 @@ paths: get: operationId: get_match_collection_for_leaderboard parameters: - - deprecated: false - description: Match status identifiers to filter for - explode: true - in: query - name: status - required: false - schema: - $ref: "#/components/schemas/MatchStatus" - style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: "#/components/schemas/CountParam" - style: form - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: "#/components/schemas/SinceParam" - style: form + - $ref: "#/components/parameters/status" + - $ref: "#/components/parameters/count" + - $ref: "#/components/parameters/since" - deprecated: false description: The unique identifier (ULID) we use for leaderboards of the Relic @@ -2494,49 +1135,20 @@ paths: x-last-modified: 1665308784 responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve all matches on a specific leaderboard for a certain game tags: - Leaderboards @@ -2548,49 +1160,20 @@ paths: operationId: get_leaderboard_collection responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" summary: Retrieve all leaderboards tags: - Leaderboards @@ -2602,67 +1185,24 @@ paths: description: "" operationId: remove_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Remove a tournament for a specific game available on the Relic Link platform @@ -2671,67 +1211,24 @@ paths: get: operationId: get_details_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve details for a tournament for a specific game available on the Relic Link platform @@ -2741,74 +1238,26 @@ paths: description: "" operationId: partial_update_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Partially update a tournament for a specific game available on the Relic Link platform @@ -2818,74 +1267,26 @@ paths: description: "" operationId: update_tournament_details parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Update details for a tournament for a specific game tags: - Administration @@ -2896,134 +1297,48 @@ paths: description: "" operationId: remove_all_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/user_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Remove all stats for a specific user profile on our platform tags: - User Administration get: operationId: get_stat_collection_for_user parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/user_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve all stats for a specific user profile on our platform tags: - Statistics @@ -3031,74 +1346,26 @@ paths: description: "" operationId: partial_update_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/user_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Partially update stats for a specific user profile on our platform tags: - Administration @@ -3106,74 +1373,26 @@ paths: description: "" operationId: create_new_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/user_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Create a new stat for a specific user profile on our platform tags: - Administration @@ -3181,74 +1400,26 @@ paths: description: "" operationId: bulk_update_all_user_stats parameters: - - deprecated: false - description: The unique identifier (ULID) we use for users of our API - explode: false - in: path - name: user_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/user_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Bulk update of stats for a specific user profile on our platform tags: - Administration @@ -3258,67 +1429,24 @@ paths: get: operationId: get_info_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve all information for a specific tournament for a specific game tags: - Information @@ -3330,67 +1458,24 @@ paths: get: operationId: get_stat_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve all statistics for a specific tournament for a specific game tags: - Statistics @@ -3402,103 +1487,28 @@ paths: get: operationId: get_match_collection_for_tournament parameters: - - deprecated: false - description: Match status identifiers to filter for - explode: true - in: query - name: status - required: false - schema: - $ref: "#/components/schemas/MatchStatus" - style: form - - deprecated: false - description: Game identifier to query for - explode: true - in: query - name: game - required: false - schema: - $ref: "#/components/schemas/GameId" - style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: "#/components/schemas/CountParam" - style: form - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: "#/components/schemas/SinceParam" - style: form - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/status" + - $ref: "#/components/parameters/game_id" + - $ref: "#/components/parameters/count" + - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve all match data for a specific tournament for a specific game tags: - Match data @@ -3511,134 +1521,48 @@ paths: description: "" operationId: remove_all_brackets_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + default: + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Remove all brackets for a specific tournament for a specific game tags: - Tournament Administration get: operationId: get_bracket_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve all brackets for a specific tournament for a specific game tags: - Information @@ -3648,77 +1572,26 @@ paths: description: "" operationId: partial_update_bracket_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - format: ulid - maxLength: 26 - pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$" - type: string - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Partial update all brackets for a specific tournament for a specific game available on the Relic Link platform @@ -3729,74 +1602,26 @@ paths: description: "" operationId: create_new_bracket_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Create a new bracket for a specific tournament for a specific game available on the Relic Link platform @@ -3807,74 +1632,26 @@ paths: description: "" operationId: bulk_update_all_brackets_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Bulk update all brackets for a specific tournament for a specific game available on the Relic Link platform @@ -3888,67 +1665,24 @@ paths: description: "" operationId: remove_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Remove all admins for a specific tournament for a specific game tags: - Administration @@ -3956,67 +1690,24 @@ paths: get: operationId: get_admin_collection_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - "200": - description: Operation succeeded - "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform @@ -4027,74 +1718,26 @@ paths: description: "" operationId: partial_update_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Update details of admins for a specific tournament for a specific game available on the Relic Link platform @@ -4105,74 +1748,26 @@ paths: description: "" operationId: create_new_admin_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Create a new admin for a specific tournament for a specific game available on the Relic Link platform @@ -4183,74 +1778,26 @@ paths: description: "" operationId: bulk_update_all_admins_for_tournament parameters: - - deprecated: false - description: The unique identifier (ULID) we use for tournaments - explode: false - in: path - name: tournament_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/tournament_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Bulk update of admins for a specific tournament for a specific game tags: - Administration @@ -4263,55 +1810,21 @@ paths: operationId: remove_all_teams responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Remove all teams tags: - Teams @@ -4320,55 +1833,21 @@ paths: operationId: get_team_collection responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve all available teams tags: - Information @@ -4379,62 +1858,23 @@ paths: operationId: partial_update_all_teams responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Partial update of all teams tags: - Administration @@ -4443,63 +1883,24 @@ paths: description: "" operationId: create_new_team responses: - default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + default: + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Create a new team tags: - Administration @@ -4509,62 +1910,23 @@ paths: operationId: bulk_update_all_teams responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Bulk update of teams tags: - Administration @@ -4576,69 +1938,24 @@ paths: description: "" operationId: remove_all_settings_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/relic_link_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Remove all settings for a specific profile tags: - Profile Administration @@ -4646,69 +1963,24 @@ paths: get: operationId: get_setting_collection_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/relic_link_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve all settings for a specific profile tags: - Profile Administration @@ -4718,76 +1990,26 @@ paths: description: "" operationId: partial_update_all_settings_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/relic_link_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Update a specific setting for a specific profile from the Relic Link API @@ -4798,76 +2020,26 @@ paths: description: "" operationId: create_new_setting_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/relic_link_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Create a new setting for a specific profile from the Relic Link API tags: - Profile Administration @@ -4876,76 +2048,26 @@ paths: description: "" operationId: bulk_update_all_settings_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/relic_link_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": - description: Operation succeeded - "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + description: Operation succeeded + "401": + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "415": - content: - application/json: - schema: - $ref: "#/components/schemas/UnsupportedMediaTypeError" - description: Unsupported Media Type - x-last-modified: 1665308784 + $ref: "#/components/responses/415" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Bulk update of settings for a specific profile from the Relic Link API @@ -4958,69 +2080,24 @@ paths: get: operationId: get_stat_collection_for_profile parameters: - - deprecated: false - description: - The unique identifier used by the Relic Link API for a player - on their platform - explode: false - in: path - name: relic_link_id - required: true - schema: - $ref: "#/components/schemas/RelicLinkId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/relic_link_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve all stats for a specific profile tags: - Statistics @@ -5030,69 +2107,24 @@ paths: get: operationId: get_details_for_team parameters: - - deprecated: false - description: - The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: team_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/team_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve details of a team tags: - Teams @@ -5103,105 +2135,28 @@ paths: get: operationId: get_match_collection_for_team parameters: - - deprecated: false - description: Match status identifiers to filter for - explode: true - in: query - name: status - required: false - schema: - $ref: "#/components/schemas/MatchStatus" - style: form - - deprecated: false - description: Game identifier to query for - explode: true - in: query - name: game - required: false - schema: - $ref: "#/components/schemas/GameId" - style: form - - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: "#/components/schemas/CountParam" - style: form - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: "#/components/schemas/SinceParam" - style: form - - deprecated: false - description: - The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: team_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/status" + - $ref: "#/components/parameters/game_id" + - $ref: "#/components/parameters/count" + - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/team_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve a list of matches for a specific team tags: - Match data @@ -5211,69 +2166,24 @@ paths: get: operationId: get_stat_collection_for_team parameters: - - deprecated: false - description: - The unique identifier (ULID) we use for teams that play on games - using the Relic Link API - explode: false - in: path - name: team_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/team_id" responses: default: - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access + $ref: "#/components/responses/401" "200": description: Operation succeeded "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": - content: - application/json: - schema: - $ref: "#/components/schemas/ForbiddenError" - description: Forbidden - x-last-modified: 1665308784 + $ref: "#/components/responses/403" "404": - content: - application/json: - schema: - $ref: "#/components/schemas/NotFoundError" - description: Entity not found - x-last-modified: 1665308784 + $ref: "#/components/responses/404" "406": - content: - application/json: - schema: - $ref: "#/components/schemas/NotAcceptableError" - description: Not acceptable - x-last-modified: 1665308784 + $ref: "#/components/responses/406" "429": - content: - application/json: - schema: - $ref: "#/components/schemas/TooManyRequestsError" - description: Too Many Requests - x-last-modified: 1665308784 + $ref: "#/components/responses/429" "501": - content: - application/json: - schema: - $ref: "#/components/schemas/NotImplementedError" - description: Not Implemented - x-last-modified: 1665308784 + $ref: "#/components/responses/501" summary: Retrieve a list of stats for a specific team tags: - Statistics @@ -5372,6 +2282,69 @@ components: type: string style: simple parameters: + count: + deprecated: false + description: Number of leaderboard entries to get + explode: false + in: query + name: count + required: false + schema: + $ref: "#/components/schemas/CountParam" + since: + deprecated: false + description: Only show matches starting after this Unix timestamp + explode: false + in: query + name: since + required: false + schema: + $ref: "#/components/schemas/SinceParam" + timeframe: + deprecated: false + description: The timeframe from which to download a database dump + explode: false + in: path + name: timeframe + required: true + schema: + $ref: "#/components/schemas/Timeframe" + style: simple + x-last-modified: 1665308784 + search_steam_id: + deprecated: false + description: The Steam ID to search a `profile_id` for + explode: false + in: query + name: steam_id + required: false + schema: + $ref: "#/components/schemas/SteamId" + style: form + x-last-modified: 1665308784 + search_alias: + deprecated: false + description: + First 10 characters of a search string for name to search a `profile_id` + for + explode: false + in: query + name: alias + required: false + schema: + $ref: "#/components/schemas/SearchParam" + style: form + x-last-modified: 1665308784 + exact: + deprecated: false + description: If only exact matches should be returned + explode: false + in: query + name: exact + required: false + schema: + type: boolean + x-last-modified: 1665308784 status: deprecated: false description: Match status identifiers to filter for @@ -5598,7 +2571,7 @@ components: format: int64 maximum: 1980923226 minimum: 1602232026 - pattern: "" + pattern: "^1[6-9]([0-9]){8}$" type: integer example: 1702232026 MatchId: @@ -5612,7 +2585,9 @@ components: format: int64 maximum: 18 minimum: 14 + pattern: "^7[0-9]{16}$" type: integer + example: 76561197984749679 SearchParam: description: First 10 characters of a search string format: string From 9903ea95fd2e33a805dc19d2263acbec18ff626e Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 13 Oct 2022 16:45:45 +0200 Subject: [PATCH 30/63] More references and some more descriptive summaries --- openapi.yaml | 294 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 189 insertions(+), 105 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 36cb25b..72a8a7a 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -29,9 +29,10 @@ security: paths: /profiles/search: description: Search endpoint + summary: "Retrieve a list of `profile_ids` that are the result to a search by alias or steam_id" get: - description: - "Search for a profile by Steam ID or name, returns a single `profile_id`\ + summary: + "Search for a profile by Steam ID or Alias, returns a single `profile_id`\ \ usable with other endpoints" operationId: get_profile_information_from_search parameters: @@ -59,7 +60,7 @@ paths: /dumps/{timeframe}: description: Download database dumps get: - description: Download a database dump from a given timeframe + summary: Download a database dump for a given timeframe operationId: get_database_dump_collection parameters: - $ref: "#/components/parameters/timeframe" @@ -82,7 +83,7 @@ paths: "501": $ref: "#/components/responses/501" tags: - - Database + - Database Dumps - Statistics servers: - description: Override base path for all operations with the /dumps path @@ -253,9 +254,7 @@ paths: $ref: "#/components/responses/429" "501": $ref: "#/components/responses/501" - summary: - Retrieve all available tournaments for all games available on the Relic - Link platform + summary: Retrieve all available tournaments for all games tags: - Information - Tournament Administration @@ -308,7 +307,7 @@ paths: $ref: "#/components/responses/429" "501": $ref: "#/components/responses/501" - summary: Create a new tournament for a game available on the Relic Link platform + summary: Create a new tournament for a game tags: - Tournament Administration put: @@ -909,6 +908,142 @@ paths: "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ \ amount of users, etc." x-last-modified: 1665308784 + /application/{component_id}/settings: + delete: + operationId: remove_all_settings_for_component + parameters: + - $ref: "#/components/parameters/component_id" + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" + summary: Remove all settings for a specific component of Libre:Match + tags: + - Internal + - Administration + get: + operationId: get_setting_collection_for_component + parameters: + - $ref: "#/components/parameters/component_id" + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" + summary: Retrieve all settings for a specific component of Libre:Match + tags: + - Internal + - Administration + patch: + description: "" + operationId: partial_update_all_settings_for_component + parameters: + - $ref: "#/components/parameters/component_id" + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "415": + $ref: "#/components/responses/415" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" + summary: Update a specific setting for a specific component of Libre:Match + tags: + - Internal + - Administration + post: + summary: Create a setting for a certain Libre:Match component + operationId: create_new_setting_for_component + parameters: + - $ref: "#/components/parameters/component_id" + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "415": + $ref: "#/components/responses/415" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" + tags: + - Internal + - Administration + put: + description: "" + operationId: bulk_update_all_settings_for_component + parameters: + - $ref: "#/components/parameters/component_id" + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "415": + $ref: "#/components/responses/415" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" + summary: Bulk update of settings for a specific component of Libre:Match + tags: + - Internal + - Administration + summary: "Settings of Libre:Match components" + x-last-modified: 1665308784 /application/status: get: operationId: get_status_collection_for_application @@ -941,18 +1076,7 @@ paths: get: operationId: get_details_for_game parameters: - - deprecated: false - description: - The unique identifier we use for games that use the Relic Link - API - explode: false - in: path - name: game_id - required: true - schema: - $ref: "#/components/schemas/GameId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/game_id" responses: default: $ref: "#/components/responses/401" @@ -976,18 +1100,7 @@ paths: get: operationId: get_leaderboard_collection_for_game parameters: - - deprecated: false - description: - The unique identifier we use for games that use the Relic Link - API - explode: false - in: path - name: game_id - required: true - schema: - $ref: "#/components/schemas/GameId" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/game_id" responses: default: $ref: "#/components/responses/401" @@ -1013,46 +1126,11 @@ paths: get: operationId: get_details_for_leaderboard parameters: - - deprecated: false - description: Search for a profile ID in a leaderboard - explode: false - in: query - name: profile_id - required: false - schema: - $ref: "#/components/schemas/RelicLinkId" - style: form - - deprecated: false - description: Search for a name in a leaderboard - explode: false - in: query - name: search - required: false - schema: - $ref: "#/components/schemas/SearchParam" - style: form - - deprecated: false - description: Starting rank - explode: false - in: query - name: start - required: false - schema: - $ref: "#/components/schemas/StartParam" - style: form + - $ref: "#/components/parameters/profile_id" + - $ref: "#/components/parameters/search_alias" + - $ref: "#/components/parameters/start" - $ref: "#/components/parameters/count" - - deprecated: false - description: - The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/leaderboard_id" responses: default: $ref: "#/components/responses/401" @@ -1078,18 +1156,7 @@ paths: get: operationId: get_stat_collection_for_leaderboard parameters: - - deprecated: false - description: - The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/leaderboard_id" responses: default: $ref: "#/components/responses/401" @@ -1121,18 +1188,7 @@ paths: - $ref: "#/components/parameters/status" - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/since" - - deprecated: false - description: - The unique identifier (ULID) we use for leaderboards of the Relic - Link API - explode: false - in: path - name: leaderboard_id - required: true - schema: - $ref: "#/components/schemas/Ulid" - style: simple - x-last-modified: 1665308784 + - $ref: "#/components/parameters/leaderboard_id" responses: default: $ref: "#/components/responses/401" @@ -1594,7 +1650,7 @@ paths: $ref: "#/components/responses/501" summary: Partial update all brackets for a specific tournament for a specific - game available on the Relic Link platform + game tags: - Administration - Tournament Administration @@ -1622,9 +1678,8 @@ paths: $ref: "#/components/responses/429" "501": $ref: "#/components/responses/501" - summary: - Create a new bracket for a specific tournament for a specific game - available on the Relic Link platform + summary: Create a new bracket for a specific tournament for a specific game + tags: - Administration - Tournament Administration @@ -1652,9 +1707,7 @@ paths: $ref: "#/components/responses/429" "501": $ref: "#/components/responses/501" - summary: - Bulk update all brackets for a specific tournament for a specific game - available on the Relic Link platform + summary: Bulk update all brackets for a specific tournament for a specific game tags: - Administration - Tournament Administration @@ -1738,9 +1791,7 @@ paths: $ref: "#/components/responses/429" "501": $ref: "#/components/responses/501" - summary: - Update details of admins for a specific tournament for a specific game - available on the Relic Link platform + summary: Update details of admins for a specific tournament for a specific game tags: - Administration - Tournament Administration @@ -2282,6 +2333,15 @@ components: type: string style: simple parameters: + start: + deprecated: false + description: Starting + explode: false + in: query + name: start + required: false + schema: + $ref: "#/components/schemas/StartParam" count: deprecated: false description: Number of leaderboard entries to get @@ -2404,6 +2464,19 @@ components: $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1665308784 + profile_id: + deprecated: false + description: + The unique identifier used by the Relic Link API for a player on + their platform + explode: false + in: path + name: profile_id + required: true + schema: + $ref: "#/components/schemas/RelicLinkId" + style: simple + x-last-modified: 1665308784 tournament_id: deprecated: false description: The unique identifier (ULID) we use for tournaments @@ -2465,6 +2538,17 @@ components: $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665308784 + component_id: + deprecated: false + description: The unique identifier (ULID) we use for internal components of Libre:Match + explode: false + in: path + name: component_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 responses: "200": description: Operation succeeded From 1c546036098e14d943fd410f3f4d9f61f35ce5c6 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 13 Oct 2022 16:48:41 +0200 Subject: [PATCH 31/63] Add TODO list for responses --- docs/design/responses/TODO_RESPONSES.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 docs/design/responses/TODO_RESPONSES.md diff --git a/docs/design/responses/TODO_RESPONSES.md b/docs/design/responses/TODO_RESPONSES.md new file mode 100644 index 0000000..f82667c --- /dev/null +++ b/docs/design/responses/TODO_RESPONSES.md @@ -0,0 +1,8 @@ +# Responses that need to be designed + +## TODO + +## Done + +- GET /profiles/search?steam_id +- GET /profiles/search?alias From a611fed06d45677d436425da103e09c3bbe5e3a5 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 13 Oct 2022 21:26:33 +0200 Subject: [PATCH 32/63] Update --- docs/design/responses/TODO_RESPONSES.md | 1 + .../_id/matches_single_match_compact.json | 2 +- .../responses/profiles/search_by_alias.json | 6 +-- .../profiles/search_by_steam_id.json | 6 +-- openapi.yaml | 49 ++++++++++++------- 5 files changed, 38 insertions(+), 26 deletions(-) diff --git a/docs/design/responses/TODO_RESPONSES.md b/docs/design/responses/TODO_RESPONSES.md index f82667c..94c4ce7 100644 --- a/docs/design/responses/TODO_RESPONSES.md +++ b/docs/design/responses/TODO_RESPONSES.md @@ -4,5 +4,6 @@ ## Done +- GET /profiles/{profile_id}/matches?single_match= - GET /profiles/search?steam_id - GET /profiles/search?alias diff --git a/docs/design/responses/profiles/_id/matches_single_match_compact.json b/docs/design/responses/profiles/_id/matches_single_match_compact.json index 6173292..a82ff09 100644 --- a/docs/design/responses/profiles/_id/matches_single_match_compact.json +++ b/docs/design/responses/profiles/_id/matches_single_match_compact.json @@ -155,7 +155,7 @@ ], "rating_average": 2022, "patch_version": "", - "related": [ + "related/links": [ { "Endpoints_need_support (TODO)": "same civ matchups, same opponents, same map" } diff --git a/docs/design/responses/profiles/search_by_alias.json b/docs/design/responses/profiles/search_by_alias.json index 2c6462f..5fd8ab6 100644 --- a/docs/design/responses/profiles/search_by_alias.json +++ b/docs/design/responses/profiles/search_by_alias.json @@ -24,14 +24,14 @@ ] }, "last": { - "href": "https://api.librematch.org/v1/profiles/search?by_name=TheViper&offset=200", + "href": "https://api.librematch.org/v1/profiles/search?alias=TheViper&offset=200", "rel": [ "collection" ] }, "filters": { - "by_name": "TheViper", - "by_steam_id": null, + "alias": "TheViper", + "steam_id": null, "exact": false }, "value": [ diff --git a/docs/design/responses/profiles/search_by_steam_id.json b/docs/design/responses/profiles/search_by_steam_id.json index 49746ce..6d70518 100644 --- a/docs/design/responses/profiles/search_by_steam_id.json +++ b/docs/design/responses/profiles/search_by_steam_id.json @@ -1,7 +1,7 @@ { "contentVersion": "v1", "self": { - "href": "https://api.librematch.org/v1/profiles/search?by_id=196243121513410", + "href": "https://api.librematch.org/v1/profiles/search?steam_id=196243121513410", "rel": [ "collection" ] @@ -15,8 +15,8 @@ "next": null, "last": null, "filters": { - "by_name": null, - "by_steam_id": 196243121513410, + "alias": null, + "steam_id": 196243121513410, "exact": false }, "value": [ diff --git a/openapi.yaml b/openapi.yaml index 72a8a7a..8c3ed90 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -454,29 +454,41 @@ paths: - Match data summary: match data for a certain Relic Link profile x-last-modified: 1665308784 + /games/matches/{match_uuid}: + get: + operationId: get_details_for_match + parameters: + - $ref: "#/components/parameters/match_uuid" + # - $ref: "#/components/parameters/match_id" # TODO: Parameter Match_id + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" + summary: Retrieve details of a match + tags: + - Match data + summary: Information about a single match + x-last-modified: 1665308784 /profiles/{relic_link_id}/ledger: get: operationId: get_ledger_collection_for_profile parameters: - $ref: "#/components/parameters/game_id" - - deprecated: false - description: Starting match - explode: false - in: query - name: start - required: false - schema: - $ref: "#/components/schemas/StartParam" - style: form - - deprecated: false - description: Leaderboard identifier - explode: false - in: query - name: leaderboard_id - required: false - schema: - $ref: "#/components/schemas/Ulid" - style: form + - $ref: "#/components/parameters/start" + - $ref: "#/components/parameters/leaderboard_id" - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/since" - $ref: "#/components/parameters/relic_link_id" @@ -498,7 +510,6 @@ paths: $ref: "#/components/responses/429" summary: Retrieve the rating ledger for a specific profile tags: - - Match data - Ratings summary: Rating ledger a certain Relic Link profile x-last-modified: 1665308784 From 6582774be4d405dd807efdfd84b3231b98e1605e Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 13 Oct 2022 22:41:28 +0200 Subject: [PATCH 33/63] Add language enum --- .../_id/matches/games_game_id_matches.json | 325 +++++++++++++++++ .../matches/game_matches_uuid_compact.json | 326 ++++++++++++++++++ .../responses/ionized_response_template.json | 2 +- .../responses/matches_compact_template.json | 325 +++++++++++++++++ .../_id/matches_single_match_compact.json | 323 ----------------- .../responses/profiles/search_by_alias.json | 2 +- .../profiles/search_by_steam_id.json | 2 +- openapi.yaml | 59 +++- 8 files changed, 1036 insertions(+), 328 deletions(-) create mode 100644 docs/design/responses/games/_id/matches/games_game_id_matches.json create mode 100644 docs/design/responses/games/matches/game_matches_uuid_compact.json create mode 100644 docs/design/responses/matches_compact_template.json delete mode 100644 docs/design/responses/profiles/_id/matches_single_match_compact.json diff --git a/docs/design/responses/games/_id/matches/games_game_id_matches.json b/docs/design/responses/games/_id/matches/games_game_id_matches.json new file mode 100644 index 0000000..3297d4b --- /dev/null +++ b/docs/design/responses/games/_id/matches/games_game_id_matches.json @@ -0,0 +1,325 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/games/matches/3fa85f64-5717-4562-b3fc-2c963f66afa6", + "rel": [ + "item" + ] + }, + "desc": "Showing 1 of 1 match.", + "offset": 0, + "limit": 25, + "size": 1, + "first": null, + "previous": null, + "next": null, + "last": null, + "parameters": { + "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "languages": [ + "en", + "fr" + ], + "style": "compact", + "last_match": false, + "status": null, + "game": null, + "start": null, + "count": null, + "since": null + }, + "value": [ + { + "match_id": 75984064, + "private": false, + "password_protected": false, + "match_uuid": "03531e31-31fd-5041-9f70-0264e158a40e", + "lobby_name": "[REMATCH] 12345", + "status": "finished", + "started_at": "2022-10-03T15:41:38.000Z", + "finished_at": "2022-10-03T15:50:38.000Z", + "duration": 540, + "settings": { + "map_name": [ + { + "value": "Chaos Pit", + "language": "en" + }, + { + "value": "Puits du Chaos", + "language": "fr" + } + ], + "map_size": [ + { + "value": "Tiny", + "language": "en" + }, + { + "value": "Petit", + "language": "fr" + } + ], + "map_visibility": [ + { + "value": "Normal", + "language": "en" + }, + { + "value": "Normale", + "language": "fr" + } + ], + "resources": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "population": 200, + "game_speed": [ + { + "value": "Normal", + "language": "en" + }, + { + "value": "Normale", + "language": "fr" + } + ], + "starting_age": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "ending_age": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "treaty_length": null, + "victory_condition": [ + { + "value": "Conquest", + "language": "en" + }, + { + "value": "Conquête", + "language": "fr" + } + ], + "lock_teams": true, + "team_together": true, + "team_positions": false, + "shared_exploration": false, + "handicap": false, + "lock_speed": true, + "allow_cheats": false, + "turbo_mode": false, + "full_tech_tree": false, + "empire_wars_mode": false, + "sudden_death_mode": false, + "regicide_mode": false, + "record_game": true + }, + "leaderboard": { + "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "rm_1v1", + "rel": [ + "collection" + ] + }, + "rematch": true, + "server": [ + { + "value": "India", + "language": "en" + }, + { + "value": "Inde", + "language": "fr" + } + ], + "rating_average": 2022, + "patch_version": "", + "related/links": [ + { + "Endpoints_need_support (TODO)": "same civ matchups, same opponents, same map" + } + ], + "match_size": 2, + "match_slots_used": 2, + "team_matchups": [ + [ + { + "self": { + "profile": { + "href": "https://api.librematch.org/v1/profiles/196240", + "rel": [ + "item" + ] + }, + "teams": [ + { + "href": "https://api.librematch.org/v1/teams/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "rel": [ + "item" + ] + } + ], + "verified": true, + "first_name": "", + "last_name": "", + "alias": "TheViper", + "country_code": "no", + "profile_id": 196240, + "steam_id": "", + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "stats": { + "rank": 4, + "rating_max": 2600, + "rating": 2400, + "win_rate": 67.8, + "streak": 2, + "games_count": 264, + "wins_count": 174, + "losses_count": 90, + "drops_count": 2, + "rank_level": null, + "rating_history": null, + "civ_history": null, + "map_history": null + } + }, + "match_slot": 1, + "civilization": [ + { + "value": "Chinese", + "language": "en" + }, + { + "value": "Chinois", + "language": "fr" + } + ], + "colour": [ + { + "value": "Green", + "language": "en" + }, + { + "value": "Vert", + "language": "fr" + } + ], + "result_win": true + } + ], + [ + { + "self": { + "profile": { + "href": "https://api.librematch.org/v1/profiles/1141567", + "rel": [ + "item" + ] + }, + "teams": null, + "verified": true, + "first_name": "", + "last_name": "", + "alias": "MrYo", + "country_code": "cn", + "profile_id": 1141567, + "steam_id": "", + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "stats": { + "rank": 4, + "rating_max": 2600, + "rating": 2400, + "win_rate": 67.8, + "streak": 2, + "games_count": 264, + "wins_count": 174, + "losses_count": 90, + "drops_count": 2, + "rank_level": null, + "rating_history": null, + "civ_history": null, + "map_history": null + } + }, + "match_slot": 2, + "civilization": [ + { + "value": "Byzantines", + "language": "en" + }, + { + "value": "Byzantines", + "language": "fr" + } + ], + "colour": [ + { + "value": "Yellow", + "language": "en" + }, + { + "value": "Jaune", + "language": "fr" + } + ], + "result_win": false + } + ] + ] + } + ] +} \ No newline at end of file diff --git a/docs/design/responses/games/matches/game_matches_uuid_compact.json b/docs/design/responses/games/matches/game_matches_uuid_compact.json new file mode 100644 index 0000000..d68c400 --- /dev/null +++ b/docs/design/responses/games/matches/game_matches_uuid_compact.json @@ -0,0 +1,326 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/games/aoe2de/matches", + "rel": [ + "item" + ] + }, + "desc": "Showing 1 of 218 matches. Use the 'next' link for the next page.", + "offset": 0, + "limit": 25, + "size": 218, + "first": null, + "previous": null, + "next": null, + "last": null, + "parameters": { + "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "limit": 25, + "languages": [ + "en", + "fr" + ], + "style": "compact", + "last_match": false, + "status": null, + "game": null, + "start": null, + "count": null, + "since": null + }, + "value": [ + { + "match_id": 75984064, + "private": false, + "password_protected": false, + "match_uuid": "03531e31-31fd-5041-9f70-0264e158a40e", + "lobby_name": "[REMATCH] 12345", + "status": "finished", + "started_at": "2022-10-03T15:41:38.000Z", + "finished_at": "2022-10-03T15:50:38.000Z", + "duration": 540, + "settings": { + "map_name": [ + { + "value": "Chaos Pit", + "language": "en" + }, + { + "value": "Puits du Chaos", + "language": "fr" + } + ], + "map_size": [ + { + "value": "Tiny", + "language": "en" + }, + { + "value": "Petit", + "language": "fr" + } + ], + "map_visibility": [ + { + "value": "Normal", + "language": "en" + }, + { + "value": "Normale", + "language": "fr" + } + ], + "resources": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "population": 200, + "game_speed": [ + { + "value": "Normal", + "language": "en" + }, + { + "value": "Normale", + "language": "fr" + } + ], + "starting_age": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "ending_age": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "treaty_length": null, + "victory_condition": [ + { + "value": "Conquest", + "language": "en" + }, + { + "value": "Conquête", + "language": "fr" + } + ], + "lock_teams": true, + "team_together": true, + "team_positions": false, + "shared_exploration": false, + "handicap": false, + "lock_speed": true, + "allow_cheats": false, + "turbo_mode": false, + "full_tech_tree": false, + "empire_wars_mode": false, + "sudden_death_mode": false, + "regicide_mode": false, + "record_game": true + }, + "leaderboard": { + "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "rm_1v1", + "rel": [ + "collection" + ] + }, + "rematch": true, + "server": [ + { + "value": "India", + "language": "en" + }, + { + "value": "Inde", + "language": "fr" + } + ], + "rating_average": 2022, + "patch_version": "", + "related/links": [ + { + "Endpoints_need_support (TODO)": "same civ matchups, same opponents, same map" + } + ], + "match_size": 2, + "match_slots_used": 2, + "team_matchups": [ + [ + { + "self": { + "profile": { + "href": "https://api.librematch.org/v1/profiles/196240", + "rel": [ + "item" + ] + }, + "teams": [ + { + "href": "https://api.librematch.org/v1/teams/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "rel": [ + "item" + ] + } + ], + "verified": true, + "first_name": "", + "last_name": "", + "alias": "TheViper", + "country_code": "no", + "profile_id": 196240, + "steam_id": "", + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "stats": { + "rank": 4, + "rating_max": 2600, + "rating": 2400, + "win_rate": 67.8, + "streak": 2, + "games_count": 264, + "wins_count": 174, + "losses_count": 90, + "drops_count": 2, + "rank_level": null, + "rating_history": null, + "civ_history": null, + "map_history": null + } + }, + "match_slot": 1, + "civilization": [ + { + "value": "Chinese", + "language": "en" + }, + { + "value": "Chinois", + "language": "fr" + } + ], + "colour": [ + { + "value": "Green", + "language": "en" + }, + { + "value": "Vert", + "language": "fr" + } + ], + "result_win": true + } + ], + [ + { + "self": { + "profile": { + "href": "https://api.librematch.org/v1/profiles/1141567", + "rel": [ + "item" + ] + }, + "teams": null, + "verified": true, + "first_name": "", + "last_name": "", + "alias": "MrYo", + "country_code": "cn", + "profile_id": 1141567, + "steam_id": "", + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "stats": { + "rank": 4, + "rating_max": 2600, + "rating": 2400, + "win_rate": 67.8, + "streak": 2, + "games_count": 264, + "wins_count": 174, + "losses_count": 90, + "drops_count": 2, + "rank_level": null, + "rating_history": null, + "civ_history": null, + "map_history": null + } + }, + "match_slot": 2, + "civilization": [ + { + "value": "Byzantines", + "language": "en" + }, + { + "value": "Byzantines", + "language": "fr" + } + ], + "colour": [ + { + "value": "Yellow", + "language": "en" + }, + { + "value": "Jaune", + "language": "fr" + } + ], + "result_win": false + } + ] + ] + } + ] +} \ No newline at end of file diff --git a/docs/design/responses/ionized_response_template.json b/docs/design/responses/ionized_response_template.json index acb9a53..9d78b41 100644 --- a/docs/design/responses/ionized_response_template.json +++ b/docs/design/responses/ionized_response_template.json @@ -29,7 +29,7 @@ "collection" ] }, - "filters": { + "parameters": { "by_name": null, "by_steam_id": null, "exact": false diff --git a/docs/design/responses/matches_compact_template.json b/docs/design/responses/matches_compact_template.json new file mode 100644 index 0000000..3297d4b --- /dev/null +++ b/docs/design/responses/matches_compact_template.json @@ -0,0 +1,325 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/games/matches/3fa85f64-5717-4562-b3fc-2c963f66afa6", + "rel": [ + "item" + ] + }, + "desc": "Showing 1 of 1 match.", + "offset": 0, + "limit": 25, + "size": 1, + "first": null, + "previous": null, + "next": null, + "last": null, + "parameters": { + "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "languages": [ + "en", + "fr" + ], + "style": "compact", + "last_match": false, + "status": null, + "game": null, + "start": null, + "count": null, + "since": null + }, + "value": [ + { + "match_id": 75984064, + "private": false, + "password_protected": false, + "match_uuid": "03531e31-31fd-5041-9f70-0264e158a40e", + "lobby_name": "[REMATCH] 12345", + "status": "finished", + "started_at": "2022-10-03T15:41:38.000Z", + "finished_at": "2022-10-03T15:50:38.000Z", + "duration": 540, + "settings": { + "map_name": [ + { + "value": "Chaos Pit", + "language": "en" + }, + { + "value": "Puits du Chaos", + "language": "fr" + } + ], + "map_size": [ + { + "value": "Tiny", + "language": "en" + }, + { + "value": "Petit", + "language": "fr" + } + ], + "map_visibility": [ + { + "value": "Normal", + "language": "en" + }, + { + "value": "Normale", + "language": "fr" + } + ], + "resources": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "population": 200, + "game_speed": [ + { + "value": "Normal", + "language": "en" + }, + { + "value": "Normale", + "language": "fr" + } + ], + "starting_age": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "ending_age": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "treaty_length": null, + "victory_condition": [ + { + "value": "Conquest", + "language": "en" + }, + { + "value": "Conquête", + "language": "fr" + } + ], + "lock_teams": true, + "team_together": true, + "team_positions": false, + "shared_exploration": false, + "handicap": false, + "lock_speed": true, + "allow_cheats": false, + "turbo_mode": false, + "full_tech_tree": false, + "empire_wars_mode": false, + "sudden_death_mode": false, + "regicide_mode": false, + "record_game": true + }, + "leaderboard": { + "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "rm_1v1", + "rel": [ + "collection" + ] + }, + "rematch": true, + "server": [ + { + "value": "India", + "language": "en" + }, + { + "value": "Inde", + "language": "fr" + } + ], + "rating_average": 2022, + "patch_version": "", + "related/links": [ + { + "Endpoints_need_support (TODO)": "same civ matchups, same opponents, same map" + } + ], + "match_size": 2, + "match_slots_used": 2, + "team_matchups": [ + [ + { + "self": { + "profile": { + "href": "https://api.librematch.org/v1/profiles/196240", + "rel": [ + "item" + ] + }, + "teams": [ + { + "href": "https://api.librematch.org/v1/teams/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "rel": [ + "item" + ] + } + ], + "verified": true, + "first_name": "", + "last_name": "", + "alias": "TheViper", + "country_code": "no", + "profile_id": 196240, + "steam_id": "", + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "stats": { + "rank": 4, + "rating_max": 2600, + "rating": 2400, + "win_rate": 67.8, + "streak": 2, + "games_count": 264, + "wins_count": 174, + "losses_count": 90, + "drops_count": 2, + "rank_level": null, + "rating_history": null, + "civ_history": null, + "map_history": null + } + }, + "match_slot": 1, + "civilization": [ + { + "value": "Chinese", + "language": "en" + }, + { + "value": "Chinois", + "language": "fr" + } + ], + "colour": [ + { + "value": "Green", + "language": "en" + }, + { + "value": "Vert", + "language": "fr" + } + ], + "result_win": true + } + ], + [ + { + "self": { + "profile": { + "href": "https://api.librematch.org/v1/profiles/1141567", + "rel": [ + "item" + ] + }, + "teams": null, + "verified": true, + "first_name": "", + "last_name": "", + "alias": "MrYo", + "country_code": "cn", + "profile_id": 1141567, + "steam_id": "", + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "stats": { + "rank": 4, + "rating_max": 2600, + "rating": 2400, + "win_rate": 67.8, + "streak": 2, + "games_count": 264, + "wins_count": 174, + "losses_count": 90, + "drops_count": 2, + "rank_level": null, + "rating_history": null, + "civ_history": null, + "map_history": null + } + }, + "match_slot": 2, + "civilization": [ + { + "value": "Byzantines", + "language": "en" + }, + { + "value": "Byzantines", + "language": "fr" + } + ], + "colour": [ + { + "value": "Yellow", + "language": "en" + }, + { + "value": "Jaune", + "language": "fr" + } + ], + "result_win": false + } + ] + ] + } + ] +} \ No newline at end of file diff --git a/docs/design/responses/profiles/_id/matches_single_match_compact.json b/docs/design/responses/profiles/_id/matches_single_match_compact.json deleted file mode 100644 index a82ff09..0000000 --- a/docs/design/responses/profiles/_id/matches_single_match_compact.json +++ /dev/null @@ -1,323 +0,0 @@ -{ - "contentVersion": "v1", - "self": { - "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6", - "rel": [ - "item" - ] - }, - "desc": "Showing 1 of 1 match.", - "offset": 0, - "limit": 25, - "size": 1, - "first": null, - "previous": null, - "next": null, - "last": null, - "filters": { - "single_match": "3fa85f64-5717-4562-b3fc-2c963f66afa6", - "languages": [ - "en", - "fr" - ], - "style": "compact", - "last_match": false, - "status": null, - "game": null, - "start": null, - "count": null, - "since": null - }, - "value": { - "match_id": 75984064, - "private": false, - "password_protected": false, - "match_uuid": "03531e31-31fd-5041-9f70-0264e158a40e", - "lobby_name": "[REMATCH] 12345", - "status": "finished", - "started_at": "2022-10-03T15:41:38.000Z", - "finished_at": "2022-10-03T15:50:38.000Z", - "duration": 540, - "settings": { - "map_name": [ - { - "value": "Chaos Pit", - "language": "en" - }, - { - "value": "Puits du Chaos", - "language": "fr" - } - ], - "map_size": [ - { - "value": "Tiny", - "language": "en" - }, - { - "value": "Petit", - "language": "fr" - } - ], - "map_visibility": [ - { - "value": "Normal", - "language": "en" - }, - { - "value": "Normale", - "language": "fr" - } - ], - "resources": [ - { - "value": "Standard", - "language": "en" - }, - { - "value": "Standard", - "language": "fr" - } - ], - "population": 200, - "game_speed": [ - { - "value": "Normal", - "language": "en" - }, - { - "value": "Normale", - "language": "fr" - } - ], - "starting_age": [ - { - "value": "Standard", - "language": "en" - }, - { - "value": "Standard", - "language": "fr" - } - ], - "ending_age": [ - { - "value": "Standard", - "language": "en" - }, - { - "value": "Standard", - "language": "fr" - } - ], - "treaty_length": null, - "victory_condition": [ - { - "value": "Conquest", - "language": "en" - }, - { - "value": "Conquête", - "language": "fr" - } - ], - "lock_teams": true, - "team_together": true, - "team_positions": false, - "shared_exploration": false, - "handicap": false, - "lock_speed": true, - "allow_cheats": false, - "turbo_mode": false, - "full_tech_tree": false, - "empire_wars_mode": false, - "sudden_death_mode": false, - "regicide_mode": false, - "record_game": true - }, - "leaderboard": { - "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", - "name": "rm_1v1", - "rel": [ - "collection" - ] - }, - "rematch": true, - "server": [ - { - "value": "India", - "language": "en" - }, - { - "value": "Inde", - "language": "fr" - } - ], - "rating_average": 2022, - "patch_version": "", - "related/links": [ - { - "Endpoints_need_support (TODO)": "same civ matchups, same opponents, same map" - } - ], - "match_size": 2, - "match_slots_used": 2, - "team_matchups": [ - [ - { - "self": { - "profile": { - "href": "https://api.librematch.org/v1/profiles/196240", - "rel": [ - "item" - ] - }, - "teams": [ - { - "href": "https://api.librematch.org/v1/teams/4Y89HG5TKRF7BGMMSQMRPZ6S1B", - "rel": [ - "item" - ] - } - ], - "verified": true, - "first_name": "", - "last_name": "", - "alias": "TheViper", - "country_code": "no", - "profile_id": 196240, - "steam_id": "", - "avatars": [ - { - "small": { - "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" - } - }, - { - "medium": { - "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" - } - }, - { - "full": { - "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" - } - } - ], - "stats": { - "rank": 4, - "rating_max": 2600, - "rating": 2400, - "win_rate": 67.8, - "streak": 2, - "games_count": 264, - "wins_count": 174, - "losses_count": 90, - "drops_count": 2, - "rank_level": null, - "rating_history": null, - "civ_history": null, - "map_history": null - } - }, - "match_slot": 1, - "civilization": [ - { - "value": "Chinese", - "language": "en" - }, - { - "value": "Chinois", - "language": "fr" - } - ], - "colour": [ - { - "value": "Green", - "language": "en" - }, - { - "value": "Vert", - "language": "fr" - } - ], - "result_win": true - } - ], - [ - { - "self": { - "profile": { - "href": "https://api.librematch.org/v1/profiles/1141567", - "rel": [ - "item" - ] - }, - "teams": null, - "verified": true, - "first_name": "", - "last_name": "", - "alias": "MrYo", - "country_code": "cn", - "profile_id": 1141567, - "steam_id": "", - "avatars": [ - { - "small": { - "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" - } - }, - { - "medium": { - "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" - } - }, - { - "full": { - "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" - } - } - ], - "stats": { - "rank": 4, - "rating_max": 2600, - "rating": 2400, - "win_rate": 67.8, - "streak": 2, - "games_count": 264, - "wins_count": 174, - "losses_count": 90, - "drops_count": 2, - "rank_level": null, - "rating_history": null, - "civ_history": null, - "map_history": null - } - }, - "match_slot": 2, - "civilization": [ - { - "value": "Byzantines", - "language": "en" - }, - { - "value": "Byzantines", - "language": "fr" - } - ], - "colour": [ - { - "value": "Yellow", - "language": "en" - }, - { - "value": "Jaune", - "language": "fr" - } - ], - "result_win": false - } - ] - ] - } -} \ No newline at end of file diff --git a/docs/design/responses/profiles/search_by_alias.json b/docs/design/responses/profiles/search_by_alias.json index 5fd8ab6..195d083 100644 --- a/docs/design/responses/profiles/search_by_alias.json +++ b/docs/design/responses/profiles/search_by_alias.json @@ -29,7 +29,7 @@ "collection" ] }, - "filters": { + "parameters": { "alias": "TheViper", "steam_id": null, "exact": false diff --git a/docs/design/responses/profiles/search_by_steam_id.json b/docs/design/responses/profiles/search_by_steam_id.json index 6d70518..1230192 100644 --- a/docs/design/responses/profiles/search_by_steam_id.json +++ b/docs/design/responses/profiles/search_by_steam_id.json @@ -14,7 +14,7 @@ "previous": null, "next": null, "last": null, - "filters": { + "parameters": { "alias": null, "steam_id": 196243121513410, "exact": false diff --git a/openapi.yaml b/openapi.yaml index 8c3ed90..89b61ed 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -181,11 +181,12 @@ paths: get: operationId: get_match_collection_for_game parameters: - - $ref: "#/components/parameters/match_uuid" + - $ref: "#/components/parameters/offset" + - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/status" - - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/since" - $ref: "#/components/parameters/game_id" + - $ref: "#/components/parameters/language" responses: default: $ref: "#/components/responses/401" @@ -2344,6 +2345,24 @@ components: type: string style: simple parameters: + offset: + deprecated: false + description: Offset + explode: false + in: query + name: offset + required: false + schema: + $ref: "#/components/schemas/OffsetParam" + limit: + deprecated: false + description: Limit + explode: false + in: query + name: limit + required: false + schema: + $ref: "#/components/schemas/LimitParam" start: deprecated: false description: Starting @@ -2662,6 +2681,22 @@ components: description: Service Unavailable x-last-modified: 1665308784 schemas: + OffsetParam: + format: int64 + maximum: 999999999999 + minimum: 0 + pattern: "^[0-9]{11}$" + type: integer + default: 0 + example: 250 + LimitParam: + format: int64 + maximum: 1000 + minimum: 1 + pattern: "^[0-9]{3}$" + type: integer + default: 50 + example: 25 SinceParam: format: int64 maximum: 1980923226 @@ -2713,10 +2748,30 @@ components: x-last-modified: 1665308784 LanguageString: format: string + enum: + - en + - de + - el + - es + - es-MX + - fr + - hi + - it + - ja + - ko + - ms + - nl + - pt + - ru + - tr + - vi + - zh + - zh-TW maxLength: 5 minLength: 2 pattern: "^([a-z]{2}){1}\b(-[A-Z]{2}){0,1}$" type: string + default: en example: en AuthorizationHeader: additionalProperties: false From 8e484178e29ccdb55e645c95b5f90486e193ebae Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 13 Oct 2022 23:15:39 +0200 Subject: [PATCH 34/63] Adding more parameters --- .../_id/matches/games_game_id_matches.json | 13 +- openapi.yaml | 147 +++++++++++------- 2 files changed, 94 insertions(+), 66 deletions(-) diff --git a/docs/design/responses/games/_id/matches/games_game_id_matches.json b/docs/design/responses/games/_id/matches/games_game_id_matches.json index 3297d4b..0e3b593 100644 --- a/docs/design/responses/games/_id/matches/games_game_id_matches.json +++ b/docs/design/responses/games/_id/matches/games_game_id_matches.json @@ -1,7 +1,7 @@ { "contentVersion": "v1", "self": { - "href": "https://api.librematch.org/v1/games/matches/3fa85f64-5717-4562-b3fc-2c963f66afa6", + "href": "https://api.librematch.org/v1/games/matches/03531e31-31fd-5041-9f70-0264e158a40e", "rel": [ "item" ] @@ -15,18 +15,13 @@ "next": null, "last": null, "parameters": { - "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "uuid": "03531e31-31fd-5041-9f70-0264e158a40e", + "match_id": null, "languages": [ "en", "fr" ], - "style": "compact", - "last_match": false, - "status": null, - "game": null, - "start": null, - "count": null, - "since": null + "style": "compact" }, "value": [ { diff --git a/openapi.yaml b/openapi.yaml index 89b61ed..0b20bff 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -125,12 +125,7 @@ paths: description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "404": @@ -156,12 +151,7 @@ paths: description: Operation succeeded x-last-modified: 1665308784 "401": - content: - application/json: - schema: - $ref: "#/components/schemas/UnauthorizedError" - description: Unauthorized access. - x-last-modified: 1665308784 + $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "404": @@ -376,9 +366,6 @@ paths: x-last-modified: 1665308784 "401": $ref: "#/components/responses/401" - - description: Unauthorized access - x-last-modified: 1665308784 "403": $ref: "#/components/responses/403" "404": @@ -396,44 +383,15 @@ paths: get: operationId: get_match_collection_for_profile parameters: - - $ref: "#/components/parameters/style" + - $ref: "#/components/parameters/relic_link_id" + - $ref: "#/components/parameters/game_ids" - $ref: "#/components/parameters/language" - - $ref: "#/components/parameters/match_uuid" - $ref: "#/components/parameters/last_match" - - $ref: "#/components/parameters/status" - - deprecated: false - description: Game identifier to query for - explode: true - in: query - name: game - required: false - schema: - $ref: "#/components/schemas/GameId" - - deprecated: false - description: Starting match - explode: false - in: query - name: start - required: false - schema: - $ref: "#/components/schemas/StartParam" - - deprecated: false - description: Number of entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: "#/components/schemas/CountParam" - - deprecated: false - description: Only show matches starting after this Unix timestamp - explode: false - in: query - name: since - required: false - schema: - $ref: "#/components/schemas/SinceParam" - - $ref: "#/components/parameters/relic_link_id" + - $ref: "#/components/parameters/style" + - $ref: "#/components/parameters/status_array" + - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/limit" + - $ref: "#/components/parameters/offset" responses: default: $ref: "#/components/responses/401" @@ -460,7 +418,7 @@ paths: operationId: get_details_for_match parameters: - $ref: "#/components/parameters/match_uuid" - # - $ref: "#/components/parameters/match_id" # TODO: Parameter Match_id + - $ref: "#/components/parameters/match_id" responses: default: $ref: "#/components/responses/401" @@ -2345,6 +2303,15 @@ components: type: string style: simple parameters: + match_id: + deprecated: false + description: Match ID + explode: false + in: query + name: match_id + required: false + schema: + $ref: "#/components/schemas/MatchId" offset: deprecated: false description: Offset @@ -2435,13 +2402,22 @@ components: schema: type: boolean x-last-modified: 1665308784 - status: + status_array: deprecated: false description: Match status identifiers to filter for explode: true in: query name: status required: false + schema: + $ref: "#/components/schemas/MatchStatusArray" + status: + deprecated: false + description: Match status identifiers to filter for + explode: false + in: query + name: status + required: false schema: $ref: "#/components/schemas/MatchStatus" last_match: @@ -2453,6 +2429,7 @@ components: required: false schema: type: boolean + default: false example: false match_uuid: deprecated: false @@ -2462,7 +2439,7 @@ components: name: match_uuid required: false schema: - $ref: "#/components/schemas/MatchId" + $ref: "#/components/schemas/MatchUuid" language: deprecated: false name: language @@ -2481,6 +2458,18 @@ components: required: false schema: $ref: "#/components/schemas/ResponseStyle" + relic_link_ids: + deprecated: false + description: + An array of unique identifiers used by the Relic Link API for a player on + their platform + explode: false + in: query + name: relic_link_ids + required: false + schema: + $ref: "#/components/schemas/RelicLinkIdArray" + x-last-modified: 1665308784 relic_link_id: deprecated: false description: @@ -2531,6 +2520,18 @@ components: $ref: "#/components/schemas/Ulid" style: simple x-last-modified: 1665308784 + game_ids: + deprecated: false + description: + The unique identifier we use for games that use the Relic Link + API + explode: true + required: false + in: query + name: game_ids + schema: + $ref: "#/components/schemas/GameIdArray" + x-last-modified: 1665308784 game_id: deprecated: false description: @@ -2688,7 +2689,7 @@ components: pattern: "^[0-9]{11}$" type: integer default: 0 - example: 250 + example: 0 LimitParam: format: int64 maximum: 1000 @@ -2704,13 +2705,18 @@ components: pattern: "^1[6-9]([0-9]){8}$" type: integer example: 1702232026 - MatchId: + MatchUuid: format: uuid pattern: "^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b\ -[0-9a-fA-F]{12}$" type: string - example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + example: 03531e31-31fd-5041-9f70-0264e158a40e + MatchId: + format: int64 + pattern: "^[0-9]{14}$" + type: integer + example: 75984064 SteamId: format: int64 maximum: 18 @@ -2809,6 +2815,14 @@ components: pattern: "^\\d\\d\\d\\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])$" type: string x-last-modified: 1665308784 + RelicLinkIdArray: + type: array + items: + $ref: "#/components/schemas/RelicLinkId" + example: + - 196240 + - 185043 + x-last-modified: 1665308784 RelicLinkId: format: int64 maximum: 999999999 @@ -2816,6 +2830,16 @@ components: type: integer example: 196240 x-last-modified: 1665308784 + MatchStatusArray: + description: Array of match statuses + items: + $ref: "#/components/schemas/MatchStatus" + type: array + default: finished + example: + - ongoing + - finished + x-last-modified: 1665308784 MatchStatus: description: Match statuses enum: @@ -2826,6 +2850,15 @@ components: default: finished example: ongoing x-last-modified: 1665308784 + GameIdArray: + description: Array of supported games by Relic Link API + items: + $ref: "#/components/schemas/GameId" + type: array + example: + - aoe2de + - aoe4 + x-last-modified: 1665308784 GameId: description: Supported games by Relic Link API enum: From f2190859ef786cb6577b9b745b3dae2861edc164 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 13 Oct 2022 23:20:34 +0200 Subject: [PATCH 35/63] Replace 'count' and 'start' parameters with 'offset' and 'limit' --- openapi.yaml | 60 +++++++++++++++++----------------------------------- 1 file changed, 19 insertions(+), 41 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 0b20bff..825bf6b 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -446,9 +446,9 @@ paths: operationId: get_ledger_collection_for_profile parameters: - $ref: "#/components/parameters/game_id" - - $ref: "#/components/parameters/start" + - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/leaderboard_id" - - $ref: "#/components/parameters/count" + - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/since" - $ref: "#/components/parameters/relic_link_id" responses: @@ -1098,8 +1098,8 @@ paths: parameters: - $ref: "#/components/parameters/profile_id" - $ref: "#/components/parameters/search_alias" - - $ref: "#/components/parameters/start" - - $ref: "#/components/parameters/count" + - $ref: "#/components/parameters/offset" + - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/leaderboard_id" responses: default: @@ -1155,8 +1155,9 @@ paths: get: operationId: get_match_collection_for_leaderboard parameters: - - $ref: "#/components/parameters/status" - - $ref: "#/components/parameters/count" + - $ref: "#/components/parameters/status_array" + - $ref: "#/components/parameters/limit" + - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/since" - $ref: "#/components/parameters/leaderboard_id" responses: @@ -1515,7 +1516,8 @@ paths: parameters: - $ref: "#/components/parameters/status" - $ref: "#/components/parameters/game_id" - - $ref: "#/components/parameters/count" + - $ref: "#/components/parameters/offset" + - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/since" - $ref: "#/components/parameters/tournament_id" responses: @@ -2156,11 +2158,17 @@ paths: get: operationId: get_match_collection_for_team parameters: - - $ref: "#/components/parameters/status" - - $ref: "#/components/parameters/game_id" - - $ref: "#/components/parameters/count" - - $ref: "#/components/parameters/since" - $ref: "#/components/parameters/team_id" + - $ref: "#/components/parameters/game_ids" + - $ref: "#/components/parameters/language" + - $ref: "#/components/parameters/last_match" + - $ref: "#/components/parameters/style" + - $ref: "#/components/parameters/status_array" + - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/limit" + - $ref: "#/components/parameters/offset" + - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/relic_link_ids" responses: default: $ref: "#/components/responses/401" @@ -2330,24 +2338,6 @@ components: required: false schema: $ref: "#/components/schemas/LimitParam" - start: - deprecated: false - description: Starting - explode: false - in: query - name: start - required: false - schema: - $ref: "#/components/schemas/StartParam" - count: - deprecated: false - description: Number of leaderboard entries to get - explode: false - in: query - name: count - required: false - schema: - $ref: "#/components/schemas/CountParam" since: deprecated: false description: Only show matches starting after this Unix timestamp @@ -2731,18 +2721,6 @@ components: pattern: "^.{10}$" type: string example: TheViper - CountParam: - format: int32 - maximum: 10000 - minimum: 1 - type: integer - example: 1 - StartParam: - format: int64 - maximum: 999999999 - minimum: 0 - type: integer - example: 0 ResponseStyle: description: Styling the response is send in enum: From fe958a1beb3c9e4b930fbaa9e675a6fd995b68ef Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 13 Oct 2022 23:51:02 +0200 Subject: [PATCH 36/63] Retagging temporarily for better overview --- openapi.yaml | 223 +++++++++++++++++++++++---------------------------- 1 file changed, 102 insertions(+), 121 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 825bf6b..3ac970c 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -56,6 +56,7 @@ paths: "429": $ref: "#/components/responses/429" tags: + - Collections - Search /dumps/{timeframe}: description: Download database dumps @@ -83,8 +84,9 @@ paths: "501": $ref: "#/components/responses/501" tags: - - Database Dumps - Statistics + - Database + - Items servers: - description: Override base path for all operations with the /dumps path url: https://dumps.librematch.org @@ -107,9 +109,10 @@ paths: $ref: "#/components/responses/406" "429": $ref: "#/components/responses/429" - summary: Retrieve a list of all game identifiers for games tags: - - Information + - Collections + - Games + summary: Retrieve a list of all game identifiers for games summary: Endpoint for game-specific data x-last-modified: 1665308784 /games/{game_id}/definitions: @@ -136,7 +139,9 @@ paths: $ref: "#/components/responses/429" summary: Retrieve all available definitions for a specific game tags: - - Definition + - Collections + - Information + - Games summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1665308784 /games/{game_id}/info: @@ -162,7 +167,9 @@ paths: $ref: "#/components/responses/429" summary: Retrieve all available information for a specific game tags: + - Collections - Information + - Games summary: "information about server maintenance times, DLC stuff, patch releases,\ \ etc." @@ -195,9 +202,11 @@ paths: $ref: "#/components/responses/429" summary: Retrieve all matches for a specific game tags: - - Match data + - Collections + - Matches + - Games summary: - "match data spanning over the complete game (all leaderboards, basically\ + "Match data spanning over the complete game (all leaderboards, basically\ \ a log" x-last-modified: 1665308784 /tournaments: @@ -224,7 +233,7 @@ paths: $ref: "#/components/responses/501" summary: Remove all tournaments tags: - - Tournament Administration + - Not yet implemented get: operationId: get_tournament_identifier_collection responses: @@ -247,8 +256,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve all available tournaments for all games tags: - - Information - - Tournament Administration + - Not yet implemented patch: description: "" operationId: partial_update_tournaments @@ -274,7 +282,7 @@ paths: $ref: "#/components/responses/501" summary: Partial update of tournaments tags: - - Tournament Administration + - Not yet implemented post: description: "" operationId: create_new_tournament @@ -300,7 +308,7 @@ paths: $ref: "#/components/responses/501" summary: Create a new tournament for a game tags: - - Tournament Administration + - Not yet implemented put: description: "" operationId: bulk_update_all_tournaments @@ -326,7 +334,7 @@ paths: $ref: "#/components/responses/501" summary: Bulk update of tournaments tags: - - Tournament Administration + - Not yet implemented summary: Endpoint for tournament information x-last-modified: 1665308784 /profiles: @@ -350,7 +358,8 @@ paths: $ref: "#/components/responses/429" summary: Retrieve all available profiles tags: - - Administration + - Collections + - Profiles summary: Endpoint for player profiles on the Relic Link platform x-last-modified: 1665308784 /profiles/{relic_link_id}: @@ -376,7 +385,8 @@ paths: $ref: "#/components/responses/429" summary: Retrieve the details for a specific profile tags: - - Information + - Items + - Profiles summary: Profile information for a Relic Link player_ID x-last-modified: 1665308784 /profiles/{relic_link_id}/matches: @@ -410,7 +420,9 @@ paths: $ref: "#/components/responses/429" summary: Retrieve all matches for a specific profile tags: - - Match data + - Collections + - Profiles + - Matches summary: match data for a certain Relic Link profile x-last-modified: 1665308784 /games/matches/{match_uuid}: @@ -418,7 +430,7 @@ paths: operationId: get_details_for_match parameters: - $ref: "#/components/parameters/match_uuid" - - $ref: "#/components/parameters/match_id" + # - $ref: "#/components/parameters/match_id" # TODO responses: default: $ref: "#/components/responses/401" @@ -438,7 +450,9 @@ paths: $ref: "#/components/responses/501" summary: Retrieve details of a match tags: - - Match data + - Items + - Matches + - Games summary: Information about a single match x-last-modified: 1665308784 /profiles/{relic_link_id}/ledger: @@ -469,6 +483,8 @@ paths: $ref: "#/components/responses/429" summary: Retrieve the rating ledger for a specific profile tags: + - Collections + - Profiles - Ratings summary: Rating ledger a certain Relic Link profile x-last-modified: 1665308784 @@ -494,7 +510,7 @@ paths: $ref: "#/components/responses/429" summary: Remove all users from our platform tags: - - User Administration + - Not yet implemented get: description: Authenticated Endpoint for Administrators or Libre:Match operationId: get_user_collection @@ -516,7 +532,7 @@ paths: $ref: "#/components/responses/429" summary: Retrieve all users of our platform tags: - - User Administration + - Not yet implemented patch: description: "" operationId: partial_update_all_users @@ -540,7 +556,7 @@ paths: $ref: "#/components/responses/429" summary: Partially update details for all user profiles tags: - - User Administration + - Not yet implemented post: description: "" operationId: create_new_user @@ -567,9 +583,7 @@ paths: $ref: "#/components/responses/429" summary: Create a new user for our platform tags: - - Authentication - - Account Registration - - User Administration + - Not yet implemented put: description: "" operationId: bulk_update_all_users @@ -593,7 +607,7 @@ paths: $ref: "#/components/responses/429" summary: Bulk update of all users of our platform tags: - - User Administration + - Not yet implemented summary: Endpoint for users of our API x-last-modified: 1665308784 /users/{user_id}: @@ -620,7 +634,7 @@ paths: $ref: "#/components/responses/429" summary: Remove user from our platform if it exists tags: - - User Administration + - Not yet implemented get: operationId: get_details_for_user parameters: @@ -643,8 +657,7 @@ paths: $ref: "#/components/responses/429" summary: Retrieve details for a specific user profile on our platform tags: - - Information - - User Administration + - Not yet implemented patch: description: "" operationId: partial_update_user @@ -670,7 +683,7 @@ paths: $ref: "#/components/responses/429" summary: Update details for a specific user profile on our platform if it exists tags: - - User Administration + - Not yet implemented put: description: "" operationId: bulk_update_all_user_details @@ -698,7 +711,7 @@ paths: Bulk update details for a specific user profile on our platform if it exists tags: - - User Administration + - Not yet implemented summary: user profile for an API user x-last-modified: 1665308784 /users/login: @@ -723,7 +736,7 @@ paths: "429": $ref: "#/components/responses/429" tags: - - Authentication + - Not yet implemented summary: Login for users of our API x-last-modified: 1665308784 /users/logout: @@ -746,7 +759,7 @@ paths: "429": $ref: "#/components/responses/429" tags: - - Authentication + - Not yet implemented summary: Logout for users of our API x-last-modified: 1665308784 /users/register: @@ -771,7 +784,7 @@ paths: "429": $ref: "#/components/responses/429" tags: - - Account Registration + - Not yet implemented summary: Registering as a new User to our API x-last-modified: 1665308784 /users/validate: @@ -798,7 +811,6 @@ paths: $ref: "#/components/responses/429" tags: - Authentication - - API Token Validation post: operationId: create_new_user_validation responses: @@ -820,8 +832,7 @@ paths: "429": $ref: "#/components/responses/429" tags: - - Authentication - - API Token Validation + - Not yet implemented summary: Validation for a user account and api tokens used for our API x-last-modified: 1665308784 /application: @@ -845,8 +856,7 @@ paths: $ref: "#/components/responses/429" summary: Retrieve a list of available application information tags: - - Internal - - Administration + - Not yet implemented summary: "General information and data about Libre:Match app, e.g. API updates,\ \ possible upcoming maintenance and other news/stuff" @@ -872,8 +882,7 @@ paths: $ref: "#/components/responses/429" summary: Retrieve a list of only application statistics tags: - - Internal - - Administration + - Not yet implemented summary: "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ \ amount of users, etc." @@ -902,8 +911,7 @@ paths: $ref: "#/components/responses/501" summary: Remove all settings for a specific component of Libre:Match tags: - - Internal - - Administration + - Not yet implemented get: operationId: get_setting_collection_for_component parameters: @@ -927,8 +935,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve all settings for a specific component of Libre:Match tags: - - Internal - - Administration + - Not yet implemented patch: description: "" operationId: partial_update_all_settings_for_component @@ -955,8 +962,7 @@ paths: $ref: "#/components/responses/501" summary: Update a specific setting for a specific component of Libre:Match tags: - - Internal - - Administration + - Not yet implemented post: summary: Create a setting for a certain Libre:Match component operationId: create_new_setting_for_component @@ -982,8 +988,7 @@ paths: "501": $ref: "#/components/responses/501" tags: - - Internal - - Administration + - Not yet implemented put: description: "" operationId: bulk_update_all_settings_for_component @@ -1010,8 +1015,7 @@ paths: $ref: "#/components/responses/501" summary: Bulk update of settings for a specific component of Libre:Match tags: - - Internal - - Administration + - Not yet implemented summary: "Settings of Libre:Match components" x-last-modified: 1665308784 /application/status: @@ -1037,9 +1041,7 @@ paths: $ref: "#/components/responses/503" summary: Retrieve only application status tags: - - Internal - Administration - - Status Check summary: Status updates for health checks of our API x-last-modified: 1665308784 /games/{game_id}: @@ -1064,6 +1066,9 @@ paths: "429": $ref: "#/components/responses/429" summary: Retrieve details for a game with a specific identifiers + tags: + - Games + - Items summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1665308784 /games/{game_id}/leaderboards: @@ -1089,7 +1094,9 @@ paths: $ref: "#/components/responses/429" summary: Retrieve all leaderboards for a specific game tags: + - Games - Leaderboards + - Collections summary: Collection of leaderboard data spanning over the complete game x-last-modified: 1665308784 /leaderboards/{leaderboard_id}: @@ -1119,7 +1126,9 @@ paths: $ref: "#/components/responses/429" summary: Retrieve details for a specific leaderboard tags: + - Items - Leaderboards + - Ratings summary: game-specific leaderboards on the Relic Link platform x-last-modified: 1665308784 /leaderboards/{leaderboard_id}/stats: @@ -1149,6 +1158,7 @@ paths: tags: - Leaderboards - Statistics + - Collections summary: Collection of stats for a specific leaderboard x-last-modified: 1665308784 /leaderboards/{leaderboard_id}/matches: @@ -1178,8 +1188,9 @@ paths: $ref: "#/components/responses/429" summary: Retrieve all matches on a specific leaderboard for a certain game tags: + - Matches + - Collections - Leaderboards - - Match data summary: Collection of match data for a specific leaderboard x-last-modified: 1665308784 /leaderboards: @@ -1203,8 +1214,10 @@ paths: $ref: "#/components/responses/429" summary: Retrieve all leaderboards tags: + - Matches + - Collections - Leaderboards - - Information + - Ratings summary: Collection of all leaderboard data on the Relic Link platform x-last-modified: 1665308784 /tournaments/{tournament_id}: @@ -1234,7 +1247,7 @@ paths: Remove a tournament for a specific game available on the Relic Link platform tags: - - Administration + - Not yet implemented get: operationId: get_details_for_tournament parameters: @@ -1260,7 +1273,7 @@ paths: Retrieve details for a tournament for a specific game available on the Relic Link platform tags: - - Information + - Not yet implemented patch: description: "" operationId: partial_update_tournament_details @@ -1289,7 +1302,7 @@ paths: Partially update a tournament for a specific game available on the Relic Link platform tags: - - Administration + - Not yet implemented put: description: "" operationId: update_tournament_details @@ -1316,7 +1329,7 @@ paths: $ref: "#/components/responses/501" summary: Update details for a tournament for a specific game tags: - - Administration + - Not yet implemented summary: game-specific tournaments x-last-modified: 1665308784 /users/{user_id}/stats: @@ -1344,7 +1357,7 @@ paths: $ref: "#/components/responses/501" summary: Remove all stats for a specific user profile on our platform tags: - - User Administration + - Not yet implemented get: operationId: get_stat_collection_for_user parameters: @@ -1368,7 +1381,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve all stats for a specific user profile on our platform tags: - - Statistics + - Not yet implemented patch: description: "" operationId: partial_update_user_stats @@ -1395,7 +1408,7 @@ paths: $ref: "#/components/responses/501" summary: Partially update stats for a specific user profile on our platform tags: - - Administration + - Not yet implemented post: description: "" operationId: create_new_user_stats @@ -1422,7 +1435,7 @@ paths: $ref: "#/components/responses/501" summary: Create a new stat for a specific user profile on our platform tags: - - Administration + - Not yet implemented put: description: "" operationId: bulk_update_all_user_stats @@ -1449,7 +1462,7 @@ paths: $ref: "#/components/responses/501" summary: Bulk update of stats for a specific user profile on our platform tags: - - Administration + - Not yet implemented summary: user profile for an API user x-last-modified: 1665308784 /tournaments/{tournament_id}/info: @@ -1476,9 +1489,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve all information for a specific tournament for a specific game tags: - - Information - - Tournaments - - Tournament Administration + - Not yet implemented summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/stats: @@ -1505,9 +1516,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve all statistics for a specific tournament for a specific game tags: - - Statistics - - Tournaments - - Tournament Administration + - Not yet implemented summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/matches: @@ -1539,9 +1548,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve all match data for a specific tournament for a specific game tags: - - Match data - - Tournaments - - Tournament Administration + - Not yet implemented summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/brackets: @@ -1569,7 +1576,7 @@ paths: $ref: "#/components/responses/501" summary: Remove all brackets for a specific tournament for a specific game tags: - - Tournament Administration + - Not yet implemented get: operationId: get_bracket_collection_for_tournament parameters: @@ -1593,9 +1600,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve all brackets for a specific tournament for a specific game tags: - - Information - - Tournaments - - Tournament Administration + - Not yet implemented patch: description: "" operationId: partial_update_bracket_for_tournament @@ -1624,8 +1629,7 @@ paths: Partial update all brackets for a specific tournament for a specific game tags: - - Administration - - Tournament Administration + - Not yet implemented post: description: "" operationId: create_new_bracket_for_tournament @@ -1651,10 +1655,8 @@ paths: "501": $ref: "#/components/responses/501" summary: Create a new bracket for a specific tournament for a specific game - tags: - - Administration - - Tournament Administration + - Not yet implemented put: description: "" operationId: bulk_update_all_brackets_for_tournament @@ -1681,8 +1683,7 @@ paths: $ref: "#/components/responses/501" summary: Bulk update all brackets for a specific tournament for a specific game tags: - - Administration - - Tournament Administration + - Not yet implemented summary: game-specific tournaments x-last-modified: 1665308784 /tournaments/{tournament_id}/admins: @@ -1710,8 +1711,7 @@ paths: $ref: "#/components/responses/501" summary: Remove all admins for a specific tournament for a specific game tags: - - Administration - - Tournament Administration + - Not yet implemented get: operationId: get_admin_collection_for_tournament parameters: @@ -1737,8 +1737,7 @@ paths: Retrieve all admins for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Not yet implemented patch: description: "" operationId: partial_update_all_admins_for_tournament @@ -1765,8 +1764,7 @@ paths: $ref: "#/components/responses/501" summary: Update details of admins for a specific tournament for a specific game tags: - - Administration - - Tournament Administration + - Not yet implemented post: description: "" operationId: create_new_admin_for_tournament @@ -1795,8 +1793,7 @@ paths: Create a new admin for a specific tournament for a specific game available on the Relic Link platform tags: - - Administration - - Tournament Administration + - Not yet implemented put: description: "" operationId: bulk_update_all_admins_for_tournament @@ -1823,8 +1820,7 @@ paths: $ref: "#/components/responses/501" summary: Bulk update of admins for a specific tournament for a specific game tags: - - Administration - - Tournament Administration + - Not yet implemented summary: Endpoint for tournament admins x-last-modified: 1665308784 /teams: @@ -1850,8 +1846,7 @@ paths: $ref: "#/components/responses/501" summary: Remove all teams tags: - - Teams - - Team Administration + - Not yet implemented get: operationId: get_team_collection responses: @@ -1873,9 +1868,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve all available teams tags: - - Information - - Teams - - Team Administration + - Not yet implemented patch: description: "" operationId: partial_update_all_teams @@ -1900,8 +1893,7 @@ paths: $ref: "#/components/responses/501" summary: Partial update of all teams tags: - - Administration - - Team Administration + - Not yet implemented post: description: "" operationId: create_new_team @@ -1926,8 +1918,7 @@ paths: $ref: "#/components/responses/501" summary: Create a new team tags: - - Administration - - Team Administration + - Not yet implemented put: description: "" operationId: bulk_update_all_teams @@ -1952,8 +1943,7 @@ paths: $ref: "#/components/responses/501" summary: Bulk update of teams tags: - - Administration - - Team Administration + - Not yet implemented summary: Endpoint for team information x-last-modified: 1665308784 /profiles/{relic_link_id}/settings: @@ -1981,8 +1971,7 @@ paths: $ref: "#/components/responses/501" summary: Remove all settings for a specific profile tags: - - Profile Administration - - Administration + - Not yet implemented get: operationId: get_setting_collection_for_profile parameters: @@ -2006,9 +1995,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve all settings for a specific profile tags: - - Profile Administration - - Administration - - Information + - Not yet implemented patch: description: "" operationId: partial_update_all_settings_for_profile @@ -2037,8 +2024,7 @@ paths: Update a specific setting for a specific profile from the Relic Link API tags: - - Profile Administration - - Administration + - Not yet implemented post: description: "" operationId: create_new_setting_for_profile @@ -2065,8 +2051,7 @@ paths: $ref: "#/components/responses/501" summary: Create a new setting for a specific profile from the Relic Link API tags: - - Profile Administration - - Administration + - Not yet implemented put: description: "" operationId: bulk_update_all_settings_for_profile @@ -2095,8 +2080,7 @@ paths: Bulk update of settings for a specific profile from the Relic Link API tags: - - Profile Administration - - Administration + - Not yet implemented summary: Collection of settings specifically for a certain Relic Link profile x-last-modified: 1665308784 /profiles/{relic_link_id}/stats: @@ -2123,7 +2107,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve all stats for a specific profile tags: - - Statistics + - Not yet implemented summary: Collection of statistics specifically for a certain Relic Link profile x-last-modified: 1665308784 /teams/{team_id}: @@ -2150,8 +2134,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve details of a team tags: - - Teams - - Team Administration + - Not yet implemented summary: Team information x-last-modified: 1665308784 /teams/{team_id}/matches: @@ -2188,7 +2171,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve a list of matches for a specific team tags: - - Match data + - Not yet implemented summary: Collection of match information for a team x-last-modified: 1665308784 /teams/{team_id}/stats: @@ -2215,9 +2198,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve a list of stats for a specific team tags: - - Statistics - - Teams - - Team Administration + - Not yet implemented summary: Collection of stats for a team x-last-modified: 1665308784 components: From 6b77baf83217a93d4cb32f4007fc71597de59f94 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Fri, 14 Oct 2022 00:00:07 +0200 Subject: [PATCH 37/63] Collect TODO responses --- docs/design/responses/TODO_RESPONSES.md | 18 ++++++++++++++++++ openapi.yaml | 4 +--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/docs/design/responses/TODO_RESPONSES.md b/docs/design/responses/TODO_RESPONSES.md index 94c4ce7..8d16958 100644 --- a/docs/design/responses/TODO_RESPONSES.md +++ b/docs/design/responses/TODO_RESPONSES.md @@ -2,6 +2,24 @@ ## TODO +- GET /application/status +- GET /dumps/{timeframe} +- GET /users/validate +- GET /games +- GET /games/{game_id} +- GET /games/{game_id}/definitions +- GET /games/{game_id}/info +- GET /games/{game_id}/matches +- GET /games/{game_id}/leaderboards +- GET /games/matches/{match_uuid} +- GET /profiles +- GET /profiles/{relic_link_id} +- GET /profiles/{relic_link_id}/matches +- GET /profiles/{relic_link_id}/ledger +- GET /leaderboards +- GET /leaderboards/{leaderboard_id} +- GET /leaderboards/{leaderboard_id}/matches + ## Done - GET /profiles/{profile_id}/matches?single_match= diff --git a/openapi.yaml b/openapi.yaml index 3ac970c..ea48721 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1156,9 +1156,7 @@ paths: $ref: "#/components/responses/501" summary: Retrieve all stats on a specific leaderboard for a certain game tags: - - Leaderboards - - Statistics - - Collections + - Not yet implemented summary: Collection of stats for a specific leaderboard x-last-modified: 1665308784 /leaderboards/{leaderboard_id}/matches: From 4ad2c08a5a48f34596c19122ecb7537e52377f22 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Fri, 14 Oct 2022 00:17:24 +0200 Subject: [PATCH 38/63] Adding languages array to query parameters --- openapi.yaml | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index ea48721..32427bf 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -395,7 +395,7 @@ paths: parameters: - $ref: "#/components/parameters/relic_link_id" - $ref: "#/components/parameters/game_ids" - - $ref: "#/components/parameters/language" + - $ref: "#/components/parameters/languages" - $ref: "#/components/parameters/last_match" - $ref: "#/components/parameters/style" - $ref: "#/components/parameters/status_array" @@ -1523,6 +1523,7 @@ paths: parameters: - $ref: "#/components/parameters/status" - $ref: "#/components/parameters/game_id" + - $ref: "#/components/parameters/languages" - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/since" @@ -2141,7 +2142,7 @@ paths: parameters: - $ref: "#/components/parameters/team_id" - $ref: "#/components/parameters/game_ids" - - $ref: "#/components/parameters/language" + - $ref: "#/components/parameters/languages" - $ref: "#/components/parameters/last_match" - $ref: "#/components/parameters/style" - $ref: "#/components/parameters/status_array" @@ -2409,6 +2410,15 @@ components: required: false schema: $ref: "#/components/schemas/MatchUuid" + languages: + deprecated: false + name: language + in: query + description: Languages to receive content for + explode: true + required: false + schema: + $ref: "#/components/schemas/LanguageStringArray" language: deprecated: false name: language @@ -2659,6 +2669,7 @@ components: type: integer default: 0 example: 0 + description: An integer between '0' and '999,999,999,999'. Serves as a start parameter. LimitParam: format: int64 maximum: 1000 @@ -2667,6 +2678,7 @@ components: type: integer default: 50 example: 25 + description: An integer between '1' and '1,000'. Serves as a page limit. SinceParam: format: int64 maximum: 1980923226 @@ -2674,6 +2686,7 @@ components: pattern: "^1[6-9]([0-9]){8}$" type: integer example: 1702232026 + description: An UNIX TimeStamp between 'Fri, 09 Oct 2020 08:27:06 +0000' and 'Sat, 09 Oct 2032 08:27:06 +0000'. MatchUuid: format: uuid pattern: @@ -2681,11 +2694,13 @@ components: -[0-9a-fA-F]{12}$" type: string example: 03531e31-31fd-5041-9f70-0264e158a40e + description: A valid UUID that is being used to find matches. MatchId: format: int64 pattern: "^[0-9]{14}$" type: integer example: 75984064 + description: An Integer defined as Match ID serving to identify a match. SteamId: format: int64 maximum: 18 @@ -2693,22 +2708,33 @@ components: pattern: "^7[0-9]{16}$" type: integer example: 76561197984749679 + description: A valid SteamID64 that is being used in the '/profiles/search' to find the Relic Link ID of a profile. SearchParam: - description: First 10 characters of a search string format: string maxLength: 10 pattern: "^.{10}$" type: string example: TheViper + description: First 10 characters of a search string that is being used in the '/profiles/search' to find the Relic Link ID of a profile. ResponseStyle: - description: Styling the response is send in enum: - compact - full type: string default: compact example: compact + description: An enum send from the client to style the response that we send. Custom use cases, e.g. 'overlay' can be added later. x-last-modified: 1665308784 + LanguageStringArray: + type: array + items: + $ref: "#/components/schemas/LanguageString" + default: + - en + example: + - en + - fr + description: An array of languages helping the client to chose the languages they want to receive certain parts of their response in. LanguageString: format: string enum: @@ -2736,6 +2762,7 @@ components: type: string default: en example: en + description: An enum of Language strings being used in a language array. AuthorizationHeader: additionalProperties: false properties: From e727cba322381993c6822e064694f9332dd96b76 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Fri, 14 Oct 2022 20:35:02 +0200 Subject: [PATCH 39/63] Adding basetemplate --- docs/design/responses/base_template.json | 37 ++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 docs/design/responses/base_template.json diff --git a/docs/design/responses/base_template.json b/docs/design/responses/base_template.json new file mode 100644 index 0000000..8ee3c50 --- /dev/null +++ b/docs/design/responses/base_template.json @@ -0,0 +1,37 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/", + "rel": [ + "item", + "collection" + ] + }, + "desc": "Showing X of Y item(s).", + "offset": 0, + "limit": 25, + "size": 1, + "first": null, + "previous": null, + "next": null, + "last": null, + "parameters": { + "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "languages": [ + "en", + "fr" + ], + "style": "compact", + "last_match": false, + "status": null, + "game": null, + "start": null, + "count": null, + "since": null + }, + "value": [ + { + "...": "..." + } + ] +} \ No newline at end of file From 7c8b5cdb98cfbb0b52d11b8ef81c860829e1b9eb Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Fri, 14 Oct 2022 20:41:26 +0200 Subject: [PATCH 40/63] Template stuff --- .gitignore | 3 +++ docs/design/responses/{ => templates}/base_template.json | 0 .../responses/{ => templates}/ionized_response_template.json | 0 .../responses/{ => templates}/matches_compact_template.json | 0 4 files changed, 3 insertions(+) rename docs/design/responses/{ => templates}/base_template.json (100%) rename docs/design/responses/{ => templates}/ionized_response_template.json (100%) rename docs/design/responses/{ => templates}/matches_compact_template.json (100%) diff --git a/.gitignore b/.gitignore index a81c8ee..26ca5a9 100644 --- a/.gitignore +++ b/.gitignore @@ -136,3 +136,6 @@ dmypy.json # Cython debug symbols cython_debug/ + +# VSCode/VSCodium +.vscode/ diff --git a/docs/design/responses/base_template.json b/docs/design/responses/templates/base_template.json similarity index 100% rename from docs/design/responses/base_template.json rename to docs/design/responses/templates/base_template.json diff --git a/docs/design/responses/ionized_response_template.json b/docs/design/responses/templates/ionized_response_template.json similarity index 100% rename from docs/design/responses/ionized_response_template.json rename to docs/design/responses/templates/ionized_response_template.json diff --git a/docs/design/responses/matches_compact_template.json b/docs/design/responses/templates/matches_compact_template.json similarity index 100% rename from docs/design/responses/matches_compact_template.json rename to docs/design/responses/templates/matches_compact_template.json From 493c74874b1fada4e905e7a07044f47086aa8a1d Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Fri, 14 Oct 2022 22:44:35 +0200 Subject: [PATCH 41/63] Feddback annotations and TODOs --- docs/design/responses/TODO_RESPONSES.md | 4 ++ .../responses/templates/base_template.json | 3 +- .../templates/leaderboard_template.json | 68 +++++++++++++++++++ openapi.yaml | 48 ++++++++++++- 4 files changed, 119 insertions(+), 4 deletions(-) create mode 100644 docs/design/responses/templates/leaderboard_template.json diff --git a/docs/design/responses/TODO_RESPONSES.md b/docs/design/responses/TODO_RESPONSES.md index 8d16958..e72bc4d 100644 --- a/docs/design/responses/TODO_RESPONSES.md +++ b/docs/design/responses/TODO_RESPONSES.md @@ -25,3 +25,7 @@ - GET /profiles/{profile_id}/matches?single_match= - GET /profiles/search?steam_id - GET /profiles/search?alias + +## Notes + +- do we need ranks/percentiles in ratinghistory, so people can use that to create a graph of profiles also for their ranking at a certain moment in time? (-> Coolio) diff --git a/docs/design/responses/templates/base_template.json b/docs/design/responses/templates/base_template.json index 8ee3c50..8ca7bfb 100644 --- a/docs/design/responses/templates/base_template.json +++ b/docs/design/responses/templates/base_template.json @@ -31,7 +31,8 @@ }, "value": [ { - "...": "..." + "...": "/dumps/{dump_id} -> size, uploaded date, amount of unique items (leaderboard, profiles, etc.)", + "..": "/dumps?param (since, limit, offset, type of content (leaderboards?)" } ] } \ No newline at end of file diff --git a/docs/design/responses/templates/leaderboard_template.json b/docs/design/responses/templates/leaderboard_template.json new file mode 100644 index 0000000..1908d84 --- /dev/null +++ b/docs/design/responses/templates/leaderboard_template.json @@ -0,0 +1,68 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "rel": [ + "item", + "collection" + ] + }, + "desc": "Showing X of Y item(s).", + "offset": 0, + "limit": 25, + "size": 1, + "first": null, + "previous": null, + "next": null, + "last": null, + "parameters": { + "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", + "languages": [ + "en", + "fr" + ], + "style": "compact", + "last_match": false, + "status": null, + "game": null, + "start": null, + "count": null, + "since": null + }, + "value": [ + { + "self": { + "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "rm_1v1", + "rel": [ + "collection" + ] + }, + "leaderboard": [ + { + "clan": "Biry", + "country": "VN", + "drops": 43, + "games": 3408, + "highest_rating": 2345, + "highest_streak": 12, + "icon": null, + "last_match": 1615386197, + "last_match_time": 1615386197, + "losses": 1467, + "lowest_streak": -9, + "name": "DS_HOANG |AOEBuilds.com", + "previous_rating": 2188, + "profile_id": 459658, + "rank": 91, + "rating": 2181, + "steam_id": "76561199003184910", + "streak": -3, + "wins": 1941 + } + ], + "leaderboard_id": 3, + "total": 48132 + } + ] +} \ No newline at end of file diff --git a/openapi.yaml b/openapi.yaml index 32427bf..d8a2409 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -62,6 +62,9 @@ paths: description: Download database dumps get: summary: Download a database dump for a given timeframe + description: + "...: /dumps/{dump_id} -> size, uploaded date, amount of unique items (leaderboard, profiles, etc.) + ..: /dumps?param (since, limit, offset, type of content (leaderboards?)" operationId: get_database_dump_collection parameters: - $ref: "#/components/parameters/timeframe" @@ -176,11 +179,13 @@ paths: x-last-modified: 1665308784 /games/{game_id}/matches: get: + summary: Retrieve all matches for a specific game + description: Test Use case (TODO Markdown here) implement ongoing matches over all leaderboards, array of arrays (e.g. as in teams) with a leaderboard in each array operationId: get_match_collection_for_game parameters: - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/limit" - - $ref: "#/components/parameters/status" + - $ref: "#/components/parameters/status_array" - $ref: "#/components/parameters/since" - $ref: "#/components/parameters/game_id" - $ref: "#/components/parameters/language" @@ -200,7 +205,6 @@ paths: $ref: "#/components/responses/406" "429": $ref: "#/components/responses/429" - summary: Retrieve all matches for a specific game tags: - Collections - Matches @@ -209,6 +213,39 @@ paths: "Match data spanning over the complete game (all leaderboards, basically\ \ a log" x-last-modified: 1665308784 + /games/{game_id}/stats: + get: + summary: Retrieve all stats for a specific game + operationId: get_stat_collection_for_game + parameters: + - $ref: "#/components/parameters/offset" + - $ref: "#/components/parameters/limit" + - $ref: "#/components/parameters/status_array" + - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/game_id" + - $ref: "#/components/parameters/language" + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + x-last-modified: 1665308784 + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "429": + $ref: "#/components/responses/429" + tags: + - Not yet implemented + summary: + "Match data spanning over the complete game (all leaderboards, basically\ + \ a log" + x-last-modified: 1665308784 /tournaments: delete: description: "" @@ -384,6 +421,7 @@ paths: "429": $ref: "#/components/responses/429" summary: Retrieve the details for a specific profile + description: "current wins/losses on leaderboards, rankings, rating history on leaderboards for a month, 5 (or X) last_matches on each leaderboard with datetime " tags: - Items - Profiles @@ -1069,7 +1107,7 @@ paths: tags: - Games - Items - summary: "game-specific definitions, e.g. map names, civilisation names, translations" + summary: "Name of game, release date, steam and microsoft store links, features pages (liquipedia, aoezone, aoe reddit, community pages)" x-last-modified: 1665308784 /games/{game_id}/leaderboards: get: @@ -1101,6 +1139,7 @@ paths: x-last-modified: 1665308784 /leaderboards/{leaderboard_id}: get: + description: Returns the profiles on the leaderboard with thei current ranking, rating, wins, losses, winrate, rel-link->last-match (more infos) and UNIXTIME + ISO-Format operationId: get_details_for_leaderboard parameters: - $ref: "#/components/parameters/profile_id" @@ -1161,6 +1200,7 @@ paths: x-last-modified: 1665308784 /leaderboards/{leaderboard_id}/matches: get: + description: Logfile for matches, ordered descending, first is newest, use case maybe ongoing matches per leaderboard or filter from games/X/matches operationId: get_match_collection_for_leaderboard parameters: - $ref: "#/components/parameters/status_array" @@ -1193,7 +1233,9 @@ paths: x-last-modified: 1665308784 /leaderboards: get: + description: Returns all leaderboards for all games, more thought of as a starting point to figure out which leaderboard is worth to query operationId: get_leaderboard_collection + # filter for games TODO responses: default: $ref: "#/components/responses/401" From a332078dfddc6c2e13eb677a892dcbab615a49a0 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 15 Oct 2022 00:13:58 +0200 Subject: [PATCH 42/63] Adding datetime and timestamp filters --- openapi.yaml | 270 ++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 235 insertions(+), 35 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index d8a2409..49a919f 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -28,12 +28,22 @@ security: - HttpAuth: [] paths: /profiles/search: - description: Search endpoint - summary: "Retrieve a list of `profile_ids` that are the result to a search by alias or steam_id" + description: Endpoint for Profile Search get: - summary: - "Search for a profile by Steam ID or Alias, returns a single `profile_id`\ - \ usable with other endpoints" + summary: Search for profiles by Steam ID and/or alias + description: | + # Profile Search + + Search for a profile by + - `SteamID64` + - `alias` + + This returns a single profile when a SteamID64 is provided. + It will return a list of profiles when you search for an alias. + + When used with the `exact` parameter it will not return a result + if there isn't an exact match within our database for the provided + `alias`. operationId: get_profile_information_from_search parameters: - $ref: "#/components/parameters/exact" @@ -58,16 +68,66 @@ paths: tags: - Collections - Search - /dumps/{timeframe}: - description: Download database dumps + /dumps: + description: Endpoint for database dumps get: - summary: Download a database dump for a given timeframe - description: - "...: /dumps/{dump_id} -> size, uploaded date, amount of unique items (leaderboard, profiles, etc.) - ..: /dumps?param (since, limit, offset, type of content (leaderboards?)" + summary: Retrieve a list of available database dumps + description: | + # Database Dumps + + We offer database dumps for the purpose of statistical analysis + which would otherwise cause a high load on our API. + + To filter for a certain + operationId: get_database_dump_collection parameters: - - $ref: "#/components/parameters/timeframe" + - $ref: "#/components/parameters/between_timestamps" + - $ref: "#/components/parameters/between_datetimes" + - $ref: "#/components/parameters/started_after_datetime" + - $ref: "#/components/parameters/finished_after_datetime" + - $ref: "#/components/parameters/started_after_timestamp" + - $ref: "#/components/parameters/finished_after_timestamp" + - $ref: "#/components/parameters/dump_type_array" + - $ref: "#/components/parameters/limit" + - $ref: "#/components/parameters/offset" + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + x-last-modified: 1665308784 + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" + tags: + - Statistics + - Database + - Collection + servers: + - description: Override base path for all operations with the /dumps path + url: https://db.librematch.org + /dumps/{dump_id}: + get: + summary: Retrieve details about a database dump + description: | + + + Download a database dump for a given timeframe + "...: /dumps/{dump_id} -> size, uploaded date, amount of unique items (leaderboard, profiles, etc.) + + operationId: get_database_dump_item + parameters: + - $ref: "#/components/parameters/dump_id" responses: default: $ref: "#/components/responses/401" @@ -92,7 +152,7 @@ paths: - Items servers: - description: Override base path for all operations with the /dumps path - url: https://dumps.librematch.org + url: https://db.librematch.org /games: get: operationId: get_game_identifier_collection @@ -186,7 +246,12 @@ paths: - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/status_array" - - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/between_timestamps" + - $ref: "#/components/parameters/between_datetimes" + - $ref: "#/components/parameters/started_after_datetime" + - $ref: "#/components/parameters/finished_after_datetime" + - $ref: "#/components/parameters/started_after_timestamp" + - $ref: "#/components/parameters/finished_after_timestamp" - $ref: "#/components/parameters/game_id" - $ref: "#/components/parameters/language" responses: @@ -221,7 +286,12 @@ paths: - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/status_array" - - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/between_timestamps" + - $ref: "#/components/parameters/between_datetimes" + - $ref: "#/components/parameters/started_after_datetime" + - $ref: "#/components/parameters/finished_after_datetime" + - $ref: "#/components/parameters/started_after_timestamp" + - $ref: "#/components/parameters/finished_after_timestamp" - $ref: "#/components/parameters/game_id" - $ref: "#/components/parameters/language" responses: @@ -437,7 +507,12 @@ paths: - $ref: "#/components/parameters/last_match" - $ref: "#/components/parameters/style" - $ref: "#/components/parameters/status_array" - - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/between_timestamps" + - $ref: "#/components/parameters/between_datetimes" + - $ref: "#/components/parameters/started_after_datetime" + - $ref: "#/components/parameters/finished_after_datetime" + - $ref: "#/components/parameters/started_after_timestamp" + - $ref: "#/components/parameters/finished_after_timestamp" - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/offset" responses: @@ -501,7 +576,12 @@ paths: - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/leaderboard_id" - $ref: "#/components/parameters/limit" - - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/between_timestamps" + - $ref: "#/components/parameters/between_datetimes" + - $ref: "#/components/parameters/started_after_datetime" + - $ref: "#/components/parameters/finished_after_datetime" + - $ref: "#/components/parameters/started_after_timestamp" + - $ref: "#/components/parameters/finished_after_timestamp" - $ref: "#/components/parameters/relic_link_id" responses: default: @@ -1206,7 +1286,12 @@ paths: - $ref: "#/components/parameters/status_array" - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/offset" - - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/between_timestamps" + - $ref: "#/components/parameters/between_datetimes" + - $ref: "#/components/parameters/started_after_datetime" + - $ref: "#/components/parameters/finished_after_datetime" + - $ref: "#/components/parameters/started_after_timestamp" + - $ref: "#/components/parameters/finished_after_timestamp" - $ref: "#/components/parameters/leaderboard_id" responses: default: @@ -1568,7 +1653,12 @@ paths: - $ref: "#/components/parameters/languages" - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/limit" - - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/between_timestamps" + - $ref: "#/components/parameters/between_datetimes" + - $ref: "#/components/parameters/started_after_datetime" + - $ref: "#/components/parameters/finished_after_datetime" + - $ref: "#/components/parameters/started_after_timestamp" + - $ref: "#/components/parameters/finished_after_timestamp" - $ref: "#/components/parameters/tournament_id" responses: default: @@ -2188,10 +2278,14 @@ paths: - $ref: "#/components/parameters/last_match" - $ref: "#/components/parameters/style" - $ref: "#/components/parameters/status_array" - - $ref: "#/components/parameters/since" + - $ref: "#/components/parameters/between_timestamps" + - $ref: "#/components/parameters/between_datetimes" + - $ref: "#/components/parameters/started_after_datetime" + - $ref: "#/components/parameters/finished_after_datetime" + - $ref: "#/components/parameters/started_after_timestamp" + - $ref: "#/components/parameters/finished_after_timestamp" - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/offset" - - $ref: "#/components/parameters/since" - $ref: "#/components/parameters/relic_link_ids" responses: default: @@ -2360,24 +2454,69 @@ components: required: false schema: $ref: "#/components/schemas/LimitParam" - since: + between_timestamps: + deprecated: false + description: In between two comma-delimited UNIX timestamps + explode: true + in: query + name: between_timestamps + required: false + schema: + $ref: "#/components/schemas/BetweenReasonableUnixTimestamps" + between_datetimes: + deprecated: false + description: In between two comma-delimited Datetime string + explode: true + in: query + name: between_datetimes + required: false + schema: + $ref: "#/components/schemas/BetweenDatetimeStrings" + started_after_datetime: + deprecated: false + description: Only show matches that started after this Datetime string + explode: false + in: query + name: started_after_datetime + required: false + schema: + $ref: "#/components/schemas/DateTimeString" + finished_after_datetime: + deprecated: false + description: Only show matches that ended after this Datetime string + explode: false + in: query + name: finished_after_datetime + required: false + schema: + $ref: "#/components/schemas/DateTimeString" + started_after_timestamp: + deprecated: false + description: Only show matches that started after this Unix timestamp + explode: false + in: query + name: started_after_timestamp + required: false + schema: + $ref: "#/components/schemas/ReasonableUnixTimestamp" + finished_after_timestamp: deprecated: false - description: Only show matches starting after this Unix timestamp + description: Only show matches that ended after this Unix timestamp explode: false in: query - name: since + name: finished_after_timestamp required: false schema: - $ref: "#/components/schemas/SinceParam" - timeframe: + $ref: "#/components/schemas/ReasonableUnixTimestamp" + datetime: deprecated: false description: The timeframe from which to download a database dump explode: false in: path - name: timeframe + name: datetime required: true schema: - $ref: "#/components/schemas/Timeframe" + $ref: "#/components/schemas/DateTimeString" style: simple x-last-modified: 1665308784 search_steam_id: @@ -2414,6 +2553,15 @@ components: schema: type: boolean x-last-modified: 1665308784 + dump_type_array: + deprecated: false + description: Dump type identifiers to filter for + explode: true + in: query + name: dump_types + required: false + schema: + $ref: "#/components/schemas/DumpTypeArray" status_array: deprecated: false description: Match status identifiers to filter for @@ -2517,6 +2665,17 @@ components: $ref: "#/components/schemas/RelicLinkId" style: simple x-last-modified: 1665308784 + dump_id: + deprecated: false + description: The unique identifier (ULID) we use for database dumps + explode: false + in: path + name: dump_id + required: true + schema: + $ref: "#/components/schemas/Ulid" + style: simple + x-last-modified: 1665308784 tournament_id: deprecated: false description: The unique identifier (ULID) we use for tournaments @@ -2704,6 +2863,7 @@ components: x-last-modified: 1665308784 schemas: OffsetParam: + description: An integer between '0' and '999,999,999,999'. Serves as a start parameter. format: int64 maximum: 999999999999 minimum: 0 @@ -2711,8 +2871,8 @@ components: type: integer default: 0 example: 0 - description: An integer between '0' and '999,999,999,999'. Serves as a start parameter. LimitParam: + description: An integer between '1' and '1,000'. Serves as a page limit. format: int64 maximum: 1000 minimum: 1 @@ -2720,8 +2880,14 @@ components: type: integer default: 50 example: 25 - description: An integer between '1' and '1,000'. Serves as a page limit. - SinceParam: + BetweenReasonableUnixTimestamps: + description: Two comma-delimited UNIX TimeStamps between 'Fri, 09 Oct 2020 08:27:06 +0000' and 'Sat, 09 Oct 2032 08:27:06 +0000'. + pattern: "^1[6-9]([0-9]){8}$" + type: string + format: string + example: "1702232026,1702232026" + x-last-modified: 1665308784 + ReasonableUnixTimestamp: format: int64 maximum: 1980923226 minimum: 1602232026 @@ -2834,14 +3000,24 @@ components: pattern: "^[a-fA-F0-9]{32}$" type: string x-last-modified: 1665308784 - Timeframe: + BetweenDatetimeStrings: + description: Two comma-delimited Datetime strings format: string - maxLength: 15 - maximum: 15 - pattern: "^\\d\\d\\d\\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])$" + maxLength: 50 + pattern: '^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?Z?$' type: string + example: "2022-04-19T08:00:00.000Z,2022-04-19T10:00:00.000Z" + x-last-modified: 1665308784 + DateTimeString: + description: A Datetime string + format: string + maxLength: 25 + pattern: '^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?Z?$' + type: string + example: "2022-09-19T15:22:08.452Z" x-last-modified: 1665308784 RelicLinkIdArray: + description: Array of Relic Link IDs type: array items: $ref: "#/components/schemas/RelicLinkId" @@ -2850,6 +3026,7 @@ components: - 185043 x-last-modified: 1665308784 RelicLinkId: + description: A Relic Link ID format: int64 maximum: 999999999 minimum: 0 @@ -2866,6 +3043,29 @@ components: - ongoing - finished x-last-modified: 1665308784 + DumpTypeArray: + description: Dump content types + items: + $ref: "#/components/schemas/DumpType" + type: array + default: + - leaderboards + - matches + - ratings + example: + - matches + - ratings + x-last-modified: 1665308784 + DumpType: + description: Dump content type + enum: + - leaderboards + - matches + - ratings + type: string + default: leaderboards + example: leaderboards + x-last-modified: 1665308784 MatchStatus: description: Match statuses enum: From feeea30402c3496c7e4feab718f16dcd41aa4df8 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 15 Oct 2022 00:15:52 +0200 Subject: [PATCH 43/63] Remove old datetime parameter --- openapi.yaml | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 49a919f..0bdfbc9 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -78,7 +78,7 @@ paths: We offer database dumps for the purpose of statistical analysis which would otherwise cause a high load on our API. - To filter for a certain + You can filter operationId: get_database_dump_collection parameters: @@ -2456,7 +2456,7 @@ components: $ref: "#/components/schemas/LimitParam" between_timestamps: deprecated: false - description: In between two comma-delimited UNIX timestamps + description: Items in between two comma-delimited UNIX timestamps explode: true in: query name: between_timestamps @@ -2465,7 +2465,7 @@ components: $ref: "#/components/schemas/BetweenReasonableUnixTimestamps" between_datetimes: deprecated: false - description: In between two comma-delimited Datetime string + description: Items in between two comma-delimited Datetime string explode: true in: query name: between_datetimes @@ -2474,7 +2474,7 @@ components: $ref: "#/components/schemas/BetweenDatetimeStrings" started_after_datetime: deprecated: false - description: Only show matches that started after this Datetime string + description: Only show items that started after this Datetime string explode: false in: query name: started_after_datetime @@ -2483,7 +2483,7 @@ components: $ref: "#/components/schemas/DateTimeString" finished_after_datetime: deprecated: false - description: Only show matches that ended after this Datetime string + description: Only show items that ended after this Datetime string explode: false in: query name: finished_after_datetime @@ -2492,7 +2492,7 @@ components: $ref: "#/components/schemas/DateTimeString" started_after_timestamp: deprecated: false - description: Only show matches that started after this Unix timestamp + description: Only show items that started after this Unix timestamp explode: false in: query name: started_after_timestamp @@ -2501,24 +2501,13 @@ components: $ref: "#/components/schemas/ReasonableUnixTimestamp" finished_after_timestamp: deprecated: false - description: Only show matches that ended after this Unix timestamp + description: Only show items that ended after this Unix timestamp explode: false in: query name: finished_after_timestamp required: false schema: $ref: "#/components/schemas/ReasonableUnixTimestamp" - datetime: - deprecated: false - description: The timeframe from which to download a database dump - explode: false - in: path - name: datetime - required: true - schema: - $ref: "#/components/schemas/DateTimeString" - style: simple - x-last-modified: 1665308784 search_steam_id: deprecated: false description: The Steam ID to search a `profile_id` for From 661cd7b62e618ba9194ea06033b4f3243bf866cc Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 15 Oct 2022 00:29:54 +0200 Subject: [PATCH 44/63] Refine /dumps --- openapi.yaml | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 0bdfbc9..d399c82 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -38,6 +38,7 @@ paths: - `SteamID64` - `alias` + ## Response This returns a single profile when a SteamID64 is provided. It will return a list of profiles when you search for an alias. @@ -78,16 +79,20 @@ paths: We offer database dumps for the purpose of statistical analysis which would otherwise cause a high load on our API. - You can filter + ## Filters + You can filter for dumps that were uploaded either + - since a certain `Unix timestamp`/`Datetime string` + - between two `Unix timestamps`/`Datetime strings` + + ## Response + This returns `paginated` results. operationId: get_database_dump_collection parameters: + - $ref: "#/components/parameters/since_timestamp" + - $ref: "#/components/parameters/since_datetime" - $ref: "#/components/parameters/between_timestamps" - $ref: "#/components/parameters/between_datetimes" - - $ref: "#/components/parameters/started_after_datetime" - - $ref: "#/components/parameters/finished_after_datetime" - - $ref: "#/components/parameters/started_after_timestamp" - - $ref: "#/components/parameters/finished_after_timestamp" - $ref: "#/components/parameters/dump_type_array" - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/offset" @@ -2508,6 +2513,24 @@ components: required: false schema: $ref: "#/components/schemas/ReasonableUnixTimestamp" + since_timestamp: + deprecated: false + description: Only show items that were added since this Unix timestamp + explode: false + in: query + name: since_timestamp + required: false + schema: + $ref: "#/components/schemas/ReasonableUnixTimestamp" + since_datetime: + deprecated: false + description: Only show items that were added since this Datetime string + explode: false + in: query + name: since_datetime + schema: + $ref: "#/components/schemas/DateTimeString" + x-last-modified: 1665308784 search_steam_id: deprecated: false description: The Steam ID to search a `profile_id` for From 2cd0ee4bb691ff3ce544fe5ed7b379ec501c697f Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 15 Oct 2022 00:34:41 +0200 Subject: [PATCH 45/63] Refine /dumps/{dump_id} --- openapi.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index d399c82..e94136d 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -84,6 +84,7 @@ paths: - since a certain `Unix timestamp`/`Datetime string` - between two `Unix timestamps`/`Datetime strings` + - the `type of information` that are present ## Response This returns `paginated` results. @@ -125,11 +126,13 @@ paths: get: summary: Retrieve details about a database dump description: | + # Database dump + A single database dump item and details about it. - Download a database dump for a given timeframe - "...: /dumps/{dump_id} -> size, uploaded date, amount of unique items (leaderboard, profiles, etc.) - + ## Response + This contains information about a database dump, such as its `URL`, `size`, `uploaded_date`, + or an `amount of contained items` and their `type`. operationId: get_database_dump_item parameters: - $ref: "#/components/parameters/dump_id" From bb894238b1b5a841835f577d4636df8dc8832e2a Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 15 Oct 2022 00:38:53 +0200 Subject: [PATCH 46/63] Refine layout --- openapi.yaml | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index e94136d..9d3931a 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -35,16 +35,16 @@ paths: # Profile Search Search for a profile by - - `SteamID64` - - `alias` + - **SteamID64** + - **alias** ## Response This returns a single profile when a SteamID64 is provided. It will return a list of profiles when you search for an alias. - When used with the `exact` parameter it will not return a result + When used with the **exact** parameter it will not return a result if there isn't an exact match within our database for the provided - `alias`. + **alias**. operationId: get_profile_information_from_search parameters: - $ref: "#/components/parameters/exact" @@ -82,12 +82,12 @@ paths: ## Filters You can filter for dumps that were uploaded either - - since a certain `Unix timestamp`/`Datetime string` - - between two `Unix timestamps`/`Datetime strings` - - the `type of information` that are present + - since a certain **Unix timestamp**/**Datetime string** + - between two **Unix timestamps**/**Datetime strings** + - the **type of information** that are present ## Response - This returns `paginated` results. + This returns **paginated** results. operationId: get_database_dump_collection parameters: - $ref: "#/components/parameters/since_timestamp" @@ -119,9 +119,9 @@ paths: - Statistics - Database - Collection - servers: - - description: Override base path for all operations with the /dumps path - url: https://db.librematch.org + # servers: + # - description: TODO? Override base path for all operations with the /dumps path + # url: https://db.librematch.org /dumps/{dump_id}: get: summary: Retrieve details about a database dump @@ -131,8 +131,12 @@ paths: A single database dump item and details about it. ## Response - This contains information about a database dump, such as its `URL`, `size`, `uploaded_date`, - or an `amount of contained items` and their `type`. + This contains information about a database dump, such as: + - its **URL** + - **size** + - **uploaded_date**, + - **amount of contained items** + - their **type**. operationId: get_database_dump_item parameters: - $ref: "#/components/parameters/dump_id" @@ -158,9 +162,9 @@ paths: - Statistics - Database - Items - servers: - - description: Override base path for all operations with the /dumps path - url: https://db.librematch.org + # servers: + # - description: TODO? Override base path for all operations with the /dumps path + # url: https://db.librematch.org /games: get: operationId: get_game_identifier_collection From 7fbc7bca8f8452f1f7e98d8d407ec663d7144c93 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 15 Oct 2022 01:09:30 +0200 Subject: [PATCH 47/63] Add components endpoint --- .../responses/templates/base_template.json | 5 +- openapi.yaml | 200 ++++++++++++++++-- 2 files changed, 180 insertions(+), 25 deletions(-) diff --git a/docs/design/responses/templates/base_template.json b/docs/design/responses/templates/base_template.json index 8ca7bfb..b4f0b91 100644 --- a/docs/design/responses/templates/base_template.json +++ b/docs/design/responses/templates/base_template.json @@ -30,9 +30,6 @@ "since": null }, "value": [ - { - "...": "/dumps/{dump_id} -> size, uploaded date, amount of unique items (leaderboard, profiles, etc.)", - "..": "/dumps?param (since, limit, offset, type of content (leaderboards?)" - } + {} ] } \ No newline at end of file diff --git a/openapi.yaml b/openapi.yaml index 9d3931a..3f5bd83 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -88,7 +88,7 @@ paths: ## Response This returns **paginated** results. - operationId: get_database_dump_collection + operationId: get_general_collection_for_dumps parameters: - $ref: "#/components/parameters/since_timestamp" - $ref: "#/components/parameters/since_datetime" @@ -118,7 +118,7 @@ paths: tags: - Statistics - Database - - Collection + - Collections # servers: # - description: TODO? Override base path for all operations with the /dumps path # url: https://db.librematch.org @@ -166,8 +166,21 @@ paths: # - description: TODO? Override base path for all operations with the /dumps path # url: https://db.librematch.org /games: + summary: Endpoint for game-specific information get: - operationId: get_game_identifier_collection + summary: Retrieve a list of all supported games + description: | + # Games + + TODO: Parameters + + ## Response + TODO: What is being returned here? + Possible: + - general statistical data (overall unique player amount) + - how many players from which platform (steam, ms store) + - activity of players (last 1/7/14/30 days) + operationId: get_game_collection responses: default: $ref: "#/components/responses/401" @@ -187,10 +200,9 @@ paths: tags: - Collections - Games - summary: Retrieve a list of all game identifiers for games - summary: Endpoint for game-specific data x-last-modified: 1665308784 /games/{game_id}/definitions: + summary: "game-specific definitions, e.g. map names, civilisation names, translations" get: operationId: get_definition_collection_for_game parameters: @@ -217,7 +229,6 @@ paths: - Collections - Information - Games - summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1665308784 /games/{game_id}/info: get: @@ -966,8 +977,31 @@ paths: summary: Validation for a user account and api tokens used for our API x-last-modified: 1665308784 /application: + summary: + "General information and data about the Libre:Match API, e.g. API updates,\ + \ possible upcoming maintenance and other news" get: - operationId: get_information_collection_for_application + summary: Retrieve a list of available application information + description: | + ### ⚔️ LibreMatch + + #### 🙋‍♀️ Introduction + + LibreMatch is a project to create a **stable, reliable and feature-rich API** for match + information, leaderboards, and tournament organisation for the Age of + Empires multiplayer platform Relic Link. + + #### 📞 Contact + It is done **by the community for the community** - so feel free to join us on our [Discord](https://discord.gg/MvuusBxtuB) if you have any suggestions, feature requests, found a bug, or if you really just want to talk to like-minded people. + + #### 👩‍💻 News + We are currently working on desgning the API (synchronous), if you want to follow progress, you can do that [here](https://github.com/librematch/librematch-backend/pull/1) or in the forums on our [Discord](https://discord.gg/MvuusBxtuB). + + ### Response + TODO: Return information such as maintenance intervals, next maintenance, + API updates, news, contacts to us, small introductory sentence, disclaimer that + we are not affiliated with Microsoft(!!!) + operationId: get_general_collection_for_application responses: default: $ref: "#/components/responses/401" @@ -984,12 +1018,8 @@ paths: $ref: "#/components/responses/406" "429": $ref: "#/components/responses/429" - summary: Retrieve a list of available application information tags: - Not yet implemented - summary: - "General information and data about Libre:Match app, e.g. API updates,\ - \ possible upcoming maintenance and other news/stuff" x-last-modified: 1665308784 /application/statistics: get: @@ -1017,9 +1047,109 @@ paths: "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ \ amount of users, etc." x-last-modified: 1665308784 - /application/{component_id}/settings: + /application/components: + summary: "Libre:Match components" delete: - operationId: remove_all_settings_for_component + summary: Remove all components + operationId: remove_all_components + # parameters: + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" + tags: + - Not yet implemented + get: + summary: Retrieve all settings for a specific component + operationId: get_general_collection_for_components + # parameters: + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" + tags: + - Not yet implemented + patch: + summary: Partially update all components + description: "" + operationId: partial_update_all_components + # parameters: + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "415": + $ref: "#/components/responses/415" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" + tags: + - Not yet implemented + post: + summary: Create a new component + operationId: create_new_component + # parameters: + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "415": + $ref: "#/components/responses/415" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" + tags: + - Not yet implemented + put: + summary: Bulk update of all components + description: "" + operationId: bulk_update_all_components parameters: - $ref: "#/components/parameters/component_id" responses: @@ -1035,14 +1165,43 @@ paths: $ref: "#/components/responses/404" "406": $ref: "#/components/responses/406" + "415": + $ref: "#/components/responses/415" "429": $ref: "#/components/responses/429" "501": $ref: "#/components/responses/501" + tags: + - Not yet implemented + x-last-modified: 1665308784 + /application/components/{component_id}: + summary: "Settings of Libre:Match components" + delete: summary: Remove all settings for a specific component of Libre:Match + operationId: remove_all_settings_for_component + parameters: + - $ref: "#/components/parameters/component_id" + responses: + default: + $ref: "#/components/responses/401" + "200": + description: Operation succeeded + "401": + $ref: "#/components/responses/401" + "403": + $ref: "#/components/responses/403" + "404": + $ref: "#/components/responses/404" + "406": + $ref: "#/components/responses/406" + "429": + $ref: "#/components/responses/429" + "501": + $ref: "#/components/responses/501" tags: - Not yet implemented get: + summary: Retrieve all settings for a specific component of Libre:Match operationId: get_setting_collection_for_component parameters: - $ref: "#/components/parameters/component_id" @@ -1063,10 +1222,10 @@ paths: $ref: "#/components/responses/429" "501": $ref: "#/components/responses/501" - summary: Retrieve all settings for a specific component of Libre:Match tags: - Not yet implemented patch: + summary: Update a specific setting for a specific component of Libre:Match description: "" operationId: partial_update_all_settings_for_component parameters: @@ -1090,7 +1249,6 @@ paths: $ref: "#/components/responses/429" "501": $ref: "#/components/responses/501" - summary: Update a specific setting for a specific component of Libre:Match tags: - Not yet implemented post: @@ -1120,6 +1278,7 @@ paths: tags: - Not yet implemented put: + summary: Bulk update of settings for a specific component of Libre:Match description: "" operationId: bulk_update_all_settings_for_component parameters: @@ -1143,13 +1302,13 @@ paths: $ref: "#/components/responses/429" "501": $ref: "#/components/responses/501" - summary: Bulk update of settings for a specific component of Libre:Match tags: - Not yet implemented - summary: "Settings of Libre:Match components" x-last-modified: 1665308784 /application/status: + summary: Status updates for health checks of our API get: + summary: Retrieve application status information operationId: get_status_collection_for_application responses: default: @@ -1169,13 +1328,14 @@ paths: $ref: "#/components/responses/429" "503": $ref: "#/components/responses/503" - summary: Retrieve only application status tags: - Administration - summary: Status updates for health checks of our API x-last-modified: 1665308784 /games/{game_id}: + summary: "Name of game, release date, steam and microsoft store links, features pages (liquipedia, aoezone, aoe reddit, community pages)" get: + summary: Retrieve details for a specific game + description: "" operationId: get_details_for_game parameters: - $ref: "#/components/parameters/game_id" @@ -1195,11 +1355,9 @@ paths: $ref: "#/components/responses/406" "429": $ref: "#/components/responses/429" - summary: Retrieve details for a game with a specific identifiers tags: - Games - Items - summary: "Name of game, release date, steam and microsoft store links, features pages (liquipedia, aoezone, aoe reddit, community pages)" x-last-modified: 1665308784 /games/{game_id}/leaderboards: get: From 7f269af8f4842812313c09b023442e2679116266 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 15 Oct 2022 01:22:44 +0200 Subject: [PATCH 48/63] Add some more descriptions to endpoints --- openapi.yaml | 52 ++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 3f5bd83..184a5f7 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -929,6 +929,7 @@ paths: summary: Registering as a new User to our API x-last-modified: 1665308784 /users/validate: + summary: Validation for a user account and api tokens used for our API description: "Validate API tokens, can give information about how long a token\ \ is still valid and help automating updating a token" @@ -974,7 +975,6 @@ paths: $ref: "#/components/responses/429" tags: - Not yet implemented - summary: Validation for a user account and api tokens used for our API x-last-modified: 1665308784 /application: summary: @@ -983,24 +983,24 @@ paths: get: summary: Retrieve a list of available application information description: | - ### ⚔️ LibreMatch + # ⚔️ Libre:Match - #### 🙋‍♀️ Introduction + ## 🙋‍♀️ Introduction LibreMatch is a project to create a **stable, reliable and feature-rich API** for match information, leaderboards, and tournament organisation for the Age of Empires multiplayer platform Relic Link. - #### 📞 Contact + ## 📞 Contact It is done **by the community for the community** - so feel free to join us on our [Discord](https://discord.gg/MvuusBxtuB) if you have any suggestions, feature requests, found a bug, or if you really just want to talk to like-minded people. - #### 👩‍💻 News + ## 👩‍💻 News We are currently working on desgning the API (synchronous), if you want to follow progress, you can do that [here](https://github.com/librematch/librematch-backend/pull/1) or in the forums on our [Discord](https://discord.gg/MvuusBxtuB). - ### Response + # Response TODO: Return information such as maintenance intervals, next maintenance, API updates, news, contacts to us, small introductory sentence, disclaimer that - we are not affiliated with Microsoft(!!!) + we are not affiliated with Microsoft(!!!), link to api documentation, blog, etc. operationId: get_general_collection_for_application responses: default: @@ -1021,8 +1021,25 @@ paths: tags: - Not yet implemented x-last-modified: 1665308784 - /application/statistics: + /application/stats: + summary: + "Statistics of Libre:Match itself, e.g. usage statistics, collection rate, overall\ + \ amount of users, etc." get: + summary: Retrieve a list of application stats + description: | + # ⚔️ Libre:Match Statistics + + TODO + + ## Response + - usage statistics + - collection rate + - overall amount of API users + - timings + - uptime + - amount of data collected + - etc. operationId: get_stat_collection_for_application responses: default: @@ -1040,17 +1057,14 @@ paths: $ref: "#/components/responses/406" "429": $ref: "#/components/responses/429" - summary: Retrieve a list of only application statistics tags: - Not yet implemented - summary: - "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ - \ amount of users, etc." x-last-modified: 1665308784 /application/components: summary: "Libre:Match components" delete: summary: Remove all components + description: TODO operationId: remove_all_components # parameters: responses: @@ -1074,6 +1088,7 @@ paths: - Not yet implemented get: summary: Retrieve all settings for a specific component + description: TODO operationId: get_general_collection_for_components # parameters: responses: @@ -1097,7 +1112,7 @@ paths: - Not yet implemented patch: summary: Partially update all components - description: "" + description: TODO operationId: partial_update_all_components # parameters: responses: @@ -1123,6 +1138,7 @@ paths: - Not yet implemented post: summary: Create a new component + description: TODO operationId: create_new_component # parameters: responses: @@ -1148,7 +1164,7 @@ paths: - Not yet implemented put: summary: Bulk update of all components - description: "" + description: TODO operationId: bulk_update_all_components parameters: - $ref: "#/components/parameters/component_id" @@ -1178,6 +1194,7 @@ paths: summary: "Settings of Libre:Match components" delete: summary: Remove all settings for a specific component of Libre:Match + description: TODO operationId: remove_all_settings_for_component parameters: - $ref: "#/components/parameters/component_id" @@ -1202,6 +1219,7 @@ paths: - Not yet implemented get: summary: Retrieve all settings for a specific component of Libre:Match + description: TODO operationId: get_setting_collection_for_component parameters: - $ref: "#/components/parameters/component_id" @@ -1226,7 +1244,7 @@ paths: - Not yet implemented patch: summary: Update a specific setting for a specific component of Libre:Match - description: "" + description: TODO operationId: partial_update_all_settings_for_component parameters: - $ref: "#/components/parameters/component_id" @@ -1253,6 +1271,7 @@ paths: - Not yet implemented post: summary: Create a setting for a certain Libre:Match component + description: TODO operationId: create_new_setting_for_component parameters: - $ref: "#/components/parameters/component_id" @@ -1279,7 +1298,7 @@ paths: - Not yet implemented put: summary: Bulk update of settings for a specific component of Libre:Match - description: "" + description: TODO operationId: bulk_update_all_settings_for_component parameters: - $ref: "#/components/parameters/component_id" @@ -1309,6 +1328,7 @@ paths: summary: Status updates for health checks of our API get: summary: Retrieve application status information + description: TODO operationId: get_status_collection_for_application responses: default: From 4079ae12d69cfeab8862b86393addd50ccb1bb2e Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Sat, 15 Oct 2022 01:44:19 +0200 Subject: [PATCH 49/63] Some TODO descriptions --- openapi.yaml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 184a5f7..cf9e626 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1021,7 +1021,7 @@ paths: tags: - Not yet implemented x-last-modified: 1665308784 - /application/stats: + /application/statistics: summary: "Statistics of Libre:Match itself, e.g. usage statistics, collection rate, overall\ \ amount of users, etc." @@ -1352,10 +1352,20 @@ paths: - Administration x-last-modified: 1665308784 /games/{game_id}: - summary: "Name of game, release date, steam and microsoft store links, features pages (liquipedia, aoezone, aoe reddit, community pages)" + summary: "Game-related Information" get: summary: Retrieve details for a specific game - description: "" + description: | + # Game related information + + TODO + + ## Response + - Name of game + - release date + - steam and microsoft store links + - links to community pages (liquipedia, aoezone, aoe reddit, community pages) + - operationId: get_details_for_game parameters: - $ref: "#/components/parameters/game_id" @@ -1381,6 +1391,7 @@ paths: x-last-modified: 1665308784 /games/{game_id}/leaderboards: get: + summary: Retrieve all leaderboards for a specific game operationId: get_leaderboard_collection_for_game parameters: - $ref: "#/components/parameters/game_id" @@ -1400,7 +1411,6 @@ paths: $ref: "#/components/responses/406" "429": $ref: "#/components/responses/429" - summary: Retrieve all leaderboards for a specific game tags: - Games - Leaderboards From 81195700f69e60f94a4477a91d38f72168e05e15 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Mon, 17 Oct 2022 01:55:56 +0200 Subject: [PATCH 50/63] Split responses into modules for easier design --- .../templates/base/application_template.json | 0 .../templates/{ => base}/base_template.json | 4 +- .../templates/base/header_template.json | 40 +++ .../templates/base/leaderboards_template.json | 0 .../templates/base/matches_template.json | 292 ++++++++++++++++++ .../templates/base/profiles_template.json | 108 +++++++ .../templates/base/ratings_template.json | 0 .../templates/base/teams_template.json | 0 .../templates/base/tournaments_template.json | 0 .../templates/base/users_template.json | 0 10 files changed, 441 insertions(+), 3 deletions(-) create mode 100644 docs/design/responses/templates/base/application_template.json rename docs/design/responses/templates/{ => base}/base_template.json (95%) create mode 100644 docs/design/responses/templates/base/header_template.json create mode 100644 docs/design/responses/templates/base/leaderboards_template.json create mode 100644 docs/design/responses/templates/base/matches_template.json create mode 100644 docs/design/responses/templates/base/profiles_template.json create mode 100644 docs/design/responses/templates/base/ratings_template.json create mode 100644 docs/design/responses/templates/base/teams_template.json create mode 100644 docs/design/responses/templates/base/tournaments_template.json create mode 100644 docs/design/responses/templates/base/users_template.json diff --git a/docs/design/responses/templates/base/application_template.json b/docs/design/responses/templates/base/application_template.json new file mode 100644 index 0000000..e69de29 diff --git a/docs/design/responses/templates/base_template.json b/docs/design/responses/templates/base/base_template.json similarity index 95% rename from docs/design/responses/templates/base_template.json rename to docs/design/responses/templates/base/base_template.json index b4f0b91..87b6788 100644 --- a/docs/design/responses/templates/base_template.json +++ b/docs/design/responses/templates/base/base_template.json @@ -29,7 +29,5 @@ "count": null, "since": null }, - "value": [ - {} - ] + "value": [] } \ No newline at end of file diff --git a/docs/design/responses/templates/base/header_template.json b/docs/design/responses/templates/base/header_template.json new file mode 100644 index 0000000..9d78b41 --- /dev/null +++ b/docs/design/responses/templates/base/header_template.json @@ -0,0 +1,40 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/", + "rel": [ + "collection" + ] + }, + "desc": "Showing X of Y profiles.", + "offset": 0, + "limit": 25, + "size": "Y", + "first": { + "href": "https://api.librematch.org/v1/profiles/search", + "rel": [ + "collection" + ] + }, + "previous": null, + "next": { + "href": "https://api.librematch.org/v1/profiles/search?offset=25", + "rel": [ + "collection" + ] + }, + "last": { + "href": "https://api.librematch.org/v1/profiles/search?offset=200", + "rel": [ + "collection" + ] + }, + "parameters": { + "by_name": null, + "by_steam_id": null, + "exact": false + }, + "value": [ + {} + ] +} \ No newline at end of file diff --git a/docs/design/responses/templates/base/leaderboards_template.json b/docs/design/responses/templates/base/leaderboards_template.json new file mode 100644 index 0000000..e69de29 diff --git a/docs/design/responses/templates/base/matches_template.json b/docs/design/responses/templates/base/matches_template.json new file mode 100644 index 0000000..6021519 --- /dev/null +++ b/docs/design/responses/templates/base/matches_template.json @@ -0,0 +1,292 @@ +{ + "match_id": 75984064, + "private": false, + "password_protected": false, + "match_uuid": "03531e31-31fd-5041-9f70-0264e158a40e", + "lobby_name": "[REMATCH] 12345", + "status": "finished", + "started_at": "2022-10-03T15:41:38.000Z", + "finished_at": "2022-10-03T15:50:38.000Z", + "duration": 540, + "settings": { + "map_name": [ + { + "value": "Chaos Pit", + "language": "en" + }, + { + "value": "Puits du Chaos", + "language": "fr" + } + ], + "map_size": [ + { + "value": "Tiny", + "language": "en" + }, + { + "value": "Petit", + "language": "fr" + } + ], + "map_visibility": [ + { + "value": "Normal", + "language": "en" + }, + { + "value": "Normale", + "language": "fr" + } + ], + "resources": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "population": 200, + "game_speed": [ + { + "value": "Normal", + "language": "en" + }, + { + "value": "Normale", + "language": "fr" + } + ], + "starting_age": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "ending_age": [ + { + "value": "Standard", + "language": "en" + }, + { + "value": "Standard", + "language": "fr" + } + ], + "treaty_length": null, + "victory_condition": [ + { + "value": "Conquest", + "language": "en" + }, + { + "value": "Conquête", + "language": "fr" + } + ], + "lock_teams": true, + "team_together": true, + "team_positions": false, + "shared_exploration": false, + "handicap": false, + "lock_speed": true, + "allow_cheats": false, + "turbo_mode": false, + "full_tech_tree": false, + "empire_wars_mode": false, + "sudden_death_mode": false, + "regicide_mode": false, + "record_game": true + }, + "leaderboard": { + "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "rm_1v1", + "rel": [ + "collection" + ] + }, + "rematch": true, + "server": [ + { + "value": "India", + "language": "en" + }, + { + "value": "Inde", + "language": "fr" + } + ], + "rating_average": 2022, + "patch_version": "", + "related/links": [ + { + "Endpoints_need_support (TODO)": "same civ matchups, same opponents, same map" + } + ], + "match_size": 2, + "match_slots_used": 2, + "team_matchups": [ + [ + { + "self": { + "profile": { + "href": "https://api.librematch.org/v1/profiles/196240", + "rel": [ + "item" + ] + }, + "teams": [ + { + "href": "https://api.librematch.org/v1/teams/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "rel": [ + "item" + ] + } + ], + "verified": true, + "first_name": "", + "last_name": "", + "alias": "TheViper", + "country_code": "no", + "profile_id": 196240, + "steam_id": "", + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "stats": { + "rank": 4, + "rating_max": 2600, + "rating": 2400, + "win_rate": 67.8, + "streak": 2, + "games_count": 264, + "wins_count": 174, + "losses_count": 90, + "drops_count": 2, + "rank_level": null, + "rating_history": null, + "civ_history": null, + "map_history": null + } + }, + "match_slot": 1, + "civilization": [ + { + "value": "Chinese", + "language": "en" + }, + { + "value": "Chinois", + "language": "fr" + } + ], + "colour": [ + { + "value": "Green", + "language": "en" + }, + { + "value": "Vert", + "language": "fr" + } + ], + "result_win": true + } + ], + [ + { + "self": { + "profile": { + "href": "https://api.librematch.org/v1/profiles/1141567", + "rel": [ + "item" + ] + }, + "teams": null, + "verified": true, + "first_name": "", + "last_name": "", + "alias": "MrYo", + "country_code": "cn", + "profile_id": 1141567, + "steam_id": "", + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "stats": { + "rank": 4, + "rating_max": 2600, + "rating": 2400, + "win_rate": 67.8, + "streak": 2, + "games_count": 264, + "wins_count": 174, + "losses_count": 90, + "drops_count": 2, + "rank_level": null, + "rating_history": null, + "civ_history": null, + "map_history": null + } + }, + "match_slot": 2, + "civilization": [ + { + "value": "Byzantines", + "language": "en" + }, + { + "value": "Byzantines", + "language": "fr" + } + ], + "colour": [ + { + "value": "Yellow", + "language": "en" + }, + { + "value": "Jaune", + "language": "fr" + } + ], + "result_win": false + } + ] + ] +} \ No newline at end of file diff --git a/docs/design/responses/templates/base/profiles_template.json b/docs/design/responses/templates/base/profiles_template.json new file mode 100644 index 0000000..0a3e278 --- /dev/null +++ b/docs/design/responses/templates/base/profiles_template.json @@ -0,0 +1,108 @@ +{ + "self": { + "href": "https://api.librematch.org/v1/profiles/196240" + }, + "teams": [ + { + "href": "https://api.librematch.org/v1/teams/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "rel": [ + "item" + ] + } + ], + "verified": true, + "first_name": "", + "last_name": "", + "alias": "TheViper", + "country_code": "no", + "profile_id": 196240, + "steam_id": "", + "last_matches": [ + { + "aoe2de": { + "datetime": "2022-04-19T08:36:35.000Z", + "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6" + } + }, + { + "aoe4": { + "datetime": "2022-04-20T08:38:35.000Z", + "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6" + } + } + ], + "avatars": [ + { + "small": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb.jpg" + } + }, + { + "medium": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg" + } + }, + { + "full": { + "href": "https://avatars.akamai.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_full.jpg" + } + } + ], + "socials": [ + { + "discord": { + "href": "" + } + }, + { + "twitter": { + "href": "" + } + }, + { + "youtube": { + "href": "" + } + }, + { + "twitch": { + "href": "" + } + }, + { + "fbgaming": { + "href": "" + } + }, + { + "instagram": { + "href": "" + } + }, + { + "liquipedia": { + "href": "" + } + }, + { + "esportsearnings": { + "href": "" + } + }, + { + "aoeelo": { + "href": "" + } + }, + { + "discord_id": { + "href": "" + } + }, + { + "douyu": { + "href": "" + } + } + ] +} \ No newline at end of file diff --git a/docs/design/responses/templates/base/ratings_template.json b/docs/design/responses/templates/base/ratings_template.json new file mode 100644 index 0000000..e69de29 diff --git a/docs/design/responses/templates/base/teams_template.json b/docs/design/responses/templates/base/teams_template.json new file mode 100644 index 0000000..e69de29 diff --git a/docs/design/responses/templates/base/tournaments_template.json b/docs/design/responses/templates/base/tournaments_template.json new file mode 100644 index 0000000..e69de29 diff --git a/docs/design/responses/templates/base/users_template.json b/docs/design/responses/templates/base/users_template.json new file mode 100644 index 0000000..e69de29 From adc105a3081fcf07e1bfdd44c681e22dde37437a Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 18 Oct 2022 14:26:32 +0200 Subject: [PATCH 51/63] Add more descriptions and fix operation naming --- openapi.yaml | 87 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 68 insertions(+), 19 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index cf9e626..1dbf70b 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -180,7 +180,7 @@ paths: - general statistical data (overall unique player amount) - how many players from which platform (steam, ms store) - activity of players (last 1/7/14/30 days) - operationId: get_game_collection + operationId: get_general_collection_for_games responses: default: $ref: "#/components/responses/401" @@ -365,7 +365,7 @@ paths: tags: - Not yet implemented get: - operationId: get_tournament_identifier_collection + operationId: get_general_collection_for_tournaments responses: default: $ref: "#/components/responses/401" @@ -469,7 +469,7 @@ paths: x-last-modified: 1665308784 /profiles: get: - operationId: get_profile_collection + operationId: get_general_collection_for_profiles responses: default: $ref: "#/components/responses/401" @@ -654,7 +654,7 @@ paths: - Not yet implemented get: description: Authenticated Endpoint for Administrators or Libre:Match - operationId: get_user_collection + operationId: get_general_collection_for_users responses: default: $ref: "#/components/responses/401" @@ -1061,10 +1061,16 @@ paths: - Not yet implemented x-last-modified: 1665308784 /application/components: - summary: "Libre:Match components" + summary: "Libre:Match managed components" delete: summary: Remove all components - description: TODO + description: | + # Removing all managed components + This doesn't remove components itself, but rather their settings. + So when components run, they won't be able to access their settings. + + ## Response + This operation responds with the status of the removal. operationId: remove_all_components # parameters: responses: @@ -1087,8 +1093,16 @@ paths: tags: - Not yet implemented get: - summary: Retrieve all settings for a specific component - description: TODO + summary: Retrieve all components + description: | + # Retrieving all managed components + This endpoints' purpose is to give **Libre:Match administrators** a convenient + opportunity to change settings of certain components, while these component + are running. + + ## Response + This operation returns all managed components with their identifiers and some + general information about and status for each component. operationId: get_general_collection_for_components # parameters: responses: @@ -1112,7 +1126,16 @@ paths: - Not yet implemented patch: summary: Partially update all components - description: TODO + description: | + # Partially update all managed components + Here we can change certain settings that are common to all components. + + ## Request body + The request body specifies the set of changes to apply to the resource. + + ## Response + This contains the status of the operation, so if the changes were applied + successfully. operationId: partial_update_all_components # parameters: responses: @@ -1138,7 +1161,15 @@ paths: - Not yet implemented post: summary: Create a new component - description: TODO + description: | + # Creating a new component + TODO + + ## Request body + The body of the request message provides the details of the new resource. + + ## Response + TODO operationId: create_new_component # parameters: responses: @@ -1164,7 +1195,15 @@ paths: - Not yet implemented put: summary: Bulk update of all components - description: TODO + description: | + # Bulk updating components + TODO + + ## Request body + The body of the request message specifies the resource to be created or updated. + + ## Response + TODO operationId: bulk_update_all_components parameters: - $ref: "#/components/parameters/component_id" @@ -1191,7 +1230,7 @@ paths: - Not yet implemented x-last-modified: 1665308784 /application/components/{component_id}: - summary: "Settings of Libre:Match components" + summary: A Libre:Match component delete: summary: Remove all settings for a specific component of Libre:Match description: TODO @@ -1271,7 +1310,8 @@ paths: - Not yet implemented post: summary: Create a setting for a certain Libre:Match component - description: TODO + description: | + THIS SHOULD ERROR! operationId: create_new_setting_for_component parameters: - $ref: "#/components/parameters/component_id" @@ -1390,8 +1430,14 @@ paths: - Items x-last-modified: 1665308784 /games/{game_id}/leaderboards: + summary: Collection of leaderboard data spanning over the complete game get: - summary: Retrieve all leaderboards for a specific game + summary: Retrieve identifiers of the leaderboards for a specific game + description: | + # Leaderboard identifiers + + ## Parameters + ## Response operationId: get_leaderboard_collection_for_game parameters: - $ref: "#/components/parameters/game_id" @@ -1415,7 +1461,6 @@ paths: - Games - Leaderboards - Collections - summary: Collection of leaderboard data spanning over the complete game x-last-modified: 1665308784 /leaderboards/{leaderboard_id}: get: @@ -1518,8 +1563,13 @@ paths: x-last-modified: 1665308784 /leaderboards: get: - description: Returns all leaderboards for all games, more thought of as a starting point to figure out which leaderboard is worth to query - operationId: get_leaderboard_collection + summary: Retrieve identifiers for all leaderboards spanning over all games + description: | + # Leaderboards + + ## Response + Returns all leaderboards for all games, more thought of as a starting point to figure out which leaderboard is worth to query + operationId: get_general_collection_for_leaderboards # filter for games TODO responses: default: @@ -1537,7 +1587,6 @@ paths: $ref: "#/components/responses/406" "429": $ref: "#/components/responses/429" - summary: Retrieve all leaderboards tags: - Matches - Collections @@ -2179,7 +2228,7 @@ paths: tags: - Not yet implemented get: - operationId: get_team_collection + operationId: get_general_collection_for_teams responses: default: $ref: "#/components/responses/401" From 3125be54e8b37ae54d48174fa633777f816d1610 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 18 Oct 2022 14:52:20 +0200 Subject: [PATCH 52/63] Update TODO list and descriptions --- docs/design/responses/TODO_RESPONSES.md | 7 +++++-- openapi.yaml | 8 ++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/design/responses/TODO_RESPONSES.md b/docs/design/responses/TODO_RESPONSES.md index e72bc4d..4778c78 100644 --- a/docs/design/responses/TODO_RESPONSES.md +++ b/docs/design/responses/TODO_RESPONSES.md @@ -5,10 +5,13 @@ - GET /application/status - GET /dumps/{timeframe} - GET /users/validate -- GET /games -- GET /games/{game_id} - GET /games/{game_id}/definitions - GET /games/{game_id}/info + +### Blocking + +- GET /games +- GET /games/{game_id} - GET /games/{game_id}/matches - GET /games/{game_id}/leaderboards - GET /games/matches/{match_uuid} diff --git a/openapi.yaml b/openapi.yaml index 1dbf70b..da4556f 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1365,10 +1365,14 @@ paths: - Not yet implemented x-last-modified: 1665308784 /application/status: - summary: Status updates for health checks of our API + summary: Health check of our API get: summary: Retrieve application status information - description: TODO + description: | + # Application Status + This shows the status of various internal components, e.g. Proxy, Collector and Cache, + and application specific metrics like throughput of requests, imported matches, + updated profiles, and others. operationId: get_status_collection_for_application responses: default: From 51fc74ef7ff85b5b271e419efdda50948029a1bd Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 18 Oct 2022 15:33:30 +0200 Subject: [PATCH 53/63] Add more base templates --- .../templates/base/header_template.json | 21 +----- .../base/header_template_paginated.json | 40 +++++++++++ .../templates/base/leaderboards_template.json | 46 ++++++++++++ .../templates/base/ledger_template.json | 70 +++++++++++++++++++ .../templates/base/matches_template.json | 7 ++ .../templates/base/ratings_template.json | 0 6 files changed, 166 insertions(+), 18 deletions(-) create mode 100644 docs/design/responses/templates/base/header_template_paginated.json create mode 100644 docs/design/responses/templates/base/ledger_template.json delete mode 100644 docs/design/responses/templates/base/ratings_template.json diff --git a/docs/design/responses/templates/base/header_template.json b/docs/design/responses/templates/base/header_template.json index 9d78b41..d3a40a6 100644 --- a/docs/design/responses/templates/base/header_template.json +++ b/docs/design/responses/templates/base/header_template.json @@ -10,25 +10,10 @@ "offset": 0, "limit": 25, "size": "Y", - "first": { - "href": "https://api.librematch.org/v1/profiles/search", - "rel": [ - "collection" - ] - }, + "first": null, "previous": null, - "next": { - "href": "https://api.librematch.org/v1/profiles/search?offset=25", - "rel": [ - "collection" - ] - }, - "last": { - "href": "https://api.librematch.org/v1/profiles/search?offset=200", - "rel": [ - "collection" - ] - }, + "next": null, + "last": null, "parameters": { "by_name": null, "by_steam_id": null, diff --git a/docs/design/responses/templates/base/header_template_paginated.json b/docs/design/responses/templates/base/header_template_paginated.json new file mode 100644 index 0000000..9d78b41 --- /dev/null +++ b/docs/design/responses/templates/base/header_template_paginated.json @@ -0,0 +1,40 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/", + "rel": [ + "collection" + ] + }, + "desc": "Showing X of Y profiles.", + "offset": 0, + "limit": 25, + "size": "Y", + "first": { + "href": "https://api.librematch.org/v1/profiles/search", + "rel": [ + "collection" + ] + }, + "previous": null, + "next": { + "href": "https://api.librematch.org/v1/profiles/search?offset=25", + "rel": [ + "collection" + ] + }, + "last": { + "href": "https://api.librematch.org/v1/profiles/search?offset=200", + "rel": [ + "collection" + ] + }, + "parameters": { + "by_name": null, + "by_steam_id": null, + "exact": false + }, + "value": [ + {} + ] +} \ No newline at end of file diff --git a/docs/design/responses/templates/base/leaderboards_template.json b/docs/design/responses/templates/base/leaderboards_template.json index e69de29..30f4249 100644 --- a/docs/design/responses/templates/base/leaderboards_template.json +++ b/docs/design/responses/templates/base/leaderboards_template.json @@ -0,0 +1,46 @@ +{ + "self": { + "href": "https://api.librematch.org/v1/profiles/196240", + "name": "rm_1v1", + "rel": [ + "collection" + ], + "verified": true, + "first_name": "", + "last_name": "", + "alias": "TheViper", + "country_code": "no", + "steam_id": "76561197984749679", + "profile_id": 196240, + "teams": [ + { + "href": "https://api.librematch.org/v1/teams/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "GamerLegion", + "name_tag": "GL", + "rel": [ + "item" + ] + } + ] + }, + "drops": 3, + "games": 833, + "last_match": 1615410209, + "losses": 277, + "wins": 556, + "rating": { + "current": 2408, + "highest": 2510, + "lowest": 2415 + }, + "streak": { + "current": -1, + "highest": 22, + "lowest": -9 + }, + "rank": { + "current": 18, + "highest": 1, + "lowest": 2623 + } +} \ No newline at end of file diff --git a/docs/design/responses/templates/base/ledger_template.json b/docs/design/responses/templates/base/ledger_template.json new file mode 100644 index 0000000..2af2564 --- /dev/null +++ b/docs/design/responses/templates/base/ledger_template.json @@ -0,0 +1,70 @@ +{ + "self": { + "href": "https://api.librematch.org/v1/profiles/196240", + "name": "rm_1v1", + "rel": [ + "collection" + ], + "verified": true, + "first_name": "", + "last_name": "", + "alias": "TheViper", + "country_code": "no", + "steam_id": "76561197984749679", + "profile_id": 196240, + "teams": [ + { + "href": "https://api.librematch.org/v1/teams/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "GamerLegion", + "name_tag": "GL", + "rel": [ + "item" + ] + } + ] + }, + "leaderboards": [ + { + "self": { + "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "rm_1v1", + "rel": [ + "collection" + ] + }, + "history": [ + { + "drops": 3, + "rank": 5, + "losses": 276, + "wins": 556, + "rating": 2415, + "streak": 3, + "timestamp": 1615409542, + "datetime": "2022-10-12T06:36:57.000Z" + } + ] + }, + { + "self": { + "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "rm_2v2", + "rel": [ + "collection" + ] + }, + "history": [ + { + "drops": 3, + "rank": 5, + "losses": 276, + "wins": 556, + "rating": 2415, + "streak": 3, + "timestamp": 1615409542, + "datetime": "2022-10-12T06:23:57.000Z" + } + ] + } + ] +} \ No newline at end of file diff --git a/docs/design/responses/templates/base/matches_template.json b/docs/design/responses/templates/base/matches_template.json index 6021519..758350f 100644 --- a/docs/design/responses/templates/base/matches_template.json +++ b/docs/design/responses/templates/base/matches_template.json @@ -112,6 +112,13 @@ "collection" ] }, + "tournament": { + "href": "https://api.librematch.org/v1/tournaments/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "NAC3 Group Stage", + "rel": [ + "collection" + ] + }, "rematch": true, "server": [ { diff --git a/docs/design/responses/templates/base/ratings_template.json b/docs/design/responses/templates/base/ratings_template.json deleted file mode 100644 index e69de29..0000000 From d946dd6c7e5d5ece06825e7c0f8c93c59d2ed3f5 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 18 Oct 2022 15:50:33 +0200 Subject: [PATCH 54/63] Adding info to templates --- .../responses/profiles/search_by_alias.json | 5 -- .../profiles/search_by_steam_id.json | 5 -- .../templates/base/profiles_template.json | 74 +++++++++++++++++-- 3 files changed, 66 insertions(+), 18 deletions(-) diff --git a/docs/design/responses/profiles/search_by_alias.json b/docs/design/responses/profiles/search_by_alias.json index 195d083..c7fd9aa 100644 --- a/docs/design/responses/profiles/search_by_alias.json +++ b/docs/design/responses/profiles/search_by_alias.json @@ -131,11 +131,6 @@ "href": "" } }, - { - "discord_id": { - "href": "" - } - }, { "douyu": { "href": "" diff --git a/docs/design/responses/profiles/search_by_steam_id.json b/docs/design/responses/profiles/search_by_steam_id.json index 1230192..a7a22a1 100644 --- a/docs/design/responses/profiles/search_by_steam_id.json +++ b/docs/design/responses/profiles/search_by_steam_id.json @@ -116,11 +116,6 @@ "href": "" } }, - { - "discord_id": { - "href": "" - } - }, { "douyu": { "href": "" diff --git a/docs/design/responses/templates/base/profiles_template.json b/docs/design/responses/templates/base/profiles_template.json index 0a3e278..ab1e623 100644 --- a/docs/design/responses/templates/base/profiles_template.json +++ b/docs/design/responses/templates/base/profiles_template.json @@ -17,6 +17,66 @@ "country_code": "no", "profile_id": 196240, "steam_id": "", + "leaderboards": [ + { + "self": { + "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "rm_1v1", + "rel": [ + "collection" + ] + }, + "drops": 3, + "games": 833, + "last_match": 1615410209, + "losses": 277, + "wins": 556, + "rating": { + "current": 2408, + "highest": 2510, + "lowest": 2415 + }, + "streak": { + "current": -1, + "highest": 22, + "lowest": -9 + }, + "rank": { + "current": 18, + "highest": 1, + "lowest": 2623 + } + }, + { + "self": { + "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", + "name": "rm_2v2", + "rel": [ + "collection" + ] + }, + "drops": 3, + "games": 833, + "last_match": 1615410209, + "losses": 277, + "wins": 556, + "rating": { + "current": 2408, + "highest": 2510, + "lowest": 2415 + }, + "streak": { + "current": -1, + "highest": 22, + "lowest": -9 + }, + "rank": { + "current": 18, + "highest": 1, + "lowest": 2623 + } + } + ], "last_matches": [ { "aoe2de": { @@ -51,7 +111,8 @@ "socials": [ { "discord": { - "href": "" + "href": "", + "user_name": "" } }, { @@ -66,12 +127,14 @@ }, { "twitch": { - "href": "" + "href": "", + "is_live": false } }, { "fbgaming": { - "href": "" + "href": "", + "is_live": false } }, { @@ -94,11 +157,6 @@ "href": "" } }, - { - "discord_id": { - "href": "" - } - }, { "douyu": { "href": "" From 102ef2f5a887f9fda5a593cff85c2d5cb2b9131d Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 18 Oct 2022 16:07:52 +0200 Subject: [PATCH 55/63] Change discord social --- docs/design/responses/profiles/search_by_alias.json | 5 ++++- docs/design/responses/profiles/search_by_steam_id.json | 5 ++++- .../responses/templates/base/profiles_template.json | 8 +++++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/docs/design/responses/profiles/search_by_alias.json b/docs/design/responses/profiles/search_by_alias.json index c7fd9aa..1eb544f 100644 --- a/docs/design/responses/profiles/search_by_alias.json +++ b/docs/design/responses/profiles/search_by_alias.json @@ -88,7 +88,10 @@ "socials": [ { "discord": { - "href": "" + "server_invite": { + "href": "" + }, + "user_name": "" } }, { diff --git a/docs/design/responses/profiles/search_by_steam_id.json b/docs/design/responses/profiles/search_by_steam_id.json index a7a22a1..e462851 100644 --- a/docs/design/responses/profiles/search_by_steam_id.json +++ b/docs/design/responses/profiles/search_by_steam_id.json @@ -73,7 +73,10 @@ "socials": [ { "discord": { - "href": "" + "server_invite": { + "href": "" + }, + "user_name": "" } }, { diff --git a/docs/design/responses/templates/base/profiles_template.json b/docs/design/responses/templates/base/profiles_template.json index ab1e623..9755b67 100644 --- a/docs/design/responses/templates/base/profiles_template.json +++ b/docs/design/responses/templates/base/profiles_template.json @@ -81,13 +81,13 @@ { "aoe2de": { "datetime": "2022-04-19T08:36:35.000Z", - "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6" + "href": "https://api.librematch.org/v1/games/matches/3fa85f64-5717-4562-b3fc-2c963f66afa6" } }, { "aoe4": { "datetime": "2022-04-20T08:38:35.000Z", - "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6" + "href": "https://api.librematch.org/v1/games/matches/3fa85f64-5717-4562-b3fc-2c963f66afa6" } } ], @@ -111,7 +111,9 @@ "socials": [ { "discord": { - "href": "", + "server_invite": { + "href": "" + }, "user_name": "" } }, From 65c756c5f5bdc055bb3620d720d97086418d79fc Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 18 Oct 2022 16:23:08 +0200 Subject: [PATCH 56/63] Add user tempalte --- .../profiles/search_by_steam_id.json | 2 + .../templates/base/users_template.json | 15 ++++++++ .../templates/leaderboard_template.json | 37 +------------------ openapi.yaml | 6 +++ 4 files changed, 24 insertions(+), 36 deletions(-) diff --git a/docs/design/responses/profiles/search_by_steam_id.json b/docs/design/responses/profiles/search_by_steam_id.json index e462851..8def942 100644 --- a/docs/design/responses/profiles/search_by_steam_id.json +++ b/docs/design/responses/profiles/search_by_steam_id.json @@ -43,12 +43,14 @@ { "aoe2de": { "datetime": "2022-04-19T08:36:35.000Z", + "timestamp": 13801284901123, "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6" } }, { "aoe4": { "datetime": "2022-04-20T08:38:35.000Z", + "timestamp": 13801284901123, "href": "https://api.librematch.org/v1/profiles/196240/matches?single_match=3fa85f64-5717-4562-b3fc-2c963f66afa6" } } diff --git a/docs/design/responses/templates/base/users_template.json b/docs/design/responses/templates/base/users_template.json index e69de29..6b979bd 100644 --- a/docs/design/responses/templates/base/users_template.json +++ b/docs/design/responses/templates/base/users_template.json @@ -0,0 +1,15 @@ +{ + "settings": [ + {} + ], + "api_key": { + "secret": "", + "valid_until_timestamp": 19654984956, + "valid_until_datetime": "2022-04-20T08:38:35.000Z", + "rate_limit": { + "unit": "minute", + "requests_per_unit": 7, + "algorithm": "Sliding window counter algorithm" + } + } +} \ No newline at end of file diff --git a/docs/design/responses/templates/leaderboard_template.json b/docs/design/responses/templates/leaderboard_template.json index 1908d84..9d6ea65 100644 --- a/docs/design/responses/templates/leaderboard_template.json +++ b/docs/design/responses/templates/leaderboard_template.json @@ -29,40 +29,5 @@ "count": null, "since": null }, - "value": [ - { - "self": { - "href": "https://api.librematch.org/v1/leaderboards/4Y89HG5TKRF7BGMMSQMRPZ6S1B", - "name": "rm_1v1", - "rel": [ - "collection" - ] - }, - "leaderboard": [ - { - "clan": "Biry", - "country": "VN", - "drops": 43, - "games": 3408, - "highest_rating": 2345, - "highest_streak": 12, - "icon": null, - "last_match": 1615386197, - "last_match_time": 1615386197, - "losses": 1467, - "lowest_streak": -9, - "name": "DS_HOANG |AOEBuilds.com", - "previous_rating": 2188, - "profile_id": 459658, - "rank": 91, - "rating": 2181, - "steam_id": "76561199003184910", - "streak": -3, - "wins": 1941 - } - ], - "leaderboard_id": 3, - "total": 48132 - } - ] + "value": [] } \ No newline at end of file diff --git a/openapi.yaml b/openapi.yaml index da4556f..d69467f 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -2620,6 +2620,12 @@ components: schema: type: integer style: simple + X-RateLimit-Retry-After: + description: The number of seconds to wait until you can make a request again without being throttled. + explode: false + schema: + type: integer + style: simple X-RateLimit-Reset: description: The number of seconds left in the current period until the rate From 89a66099ca11460d32f66fa415fecb8a3a81f079 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 18 Oct 2022 16:27:41 +0200 Subject: [PATCH 57/63] Update user template --- .../templates/base/users_template.json | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/docs/design/responses/templates/base/users_template.json b/docs/design/responses/templates/base/users_template.json index 6b979bd..db6645d 100644 --- a/docs/design/responses/templates/base/users_template.json +++ b/docs/design/responses/templates/base/users_template.json @@ -1,15 +1,23 @@ { "settings": [ - {} - ], - "api_key": { - "secret": "", - "valid_until_timestamp": 19654984956, - "valid_until_datetime": "2022-04-20T08:38:35.000Z", - "rate_limit": { - "unit": "minute", - "requests_per_unit": 7, - "algorithm": "Sliding window counter algorithm" + { + "api_key": { + "self": { + "value": "", + "valid_until_timestamp": 19654984956, + "valid_until_datetime": "2022-04-20T08:38:35.000Z" + } + } + }, + { + "rate_limit": { + "activated": true, + "self": { + "unit": "minute", + "requests_per_unit": 7, + "algorithm": "Sliding window counter algorithm" + } + } } - } + ] } \ No newline at end of file From b7540d4d3bd2382e686716b6204919a19addab76 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 18 Oct 2022 16:41:28 +0200 Subject: [PATCH 58/63] Adding stats tempalte from aoe_playerbase_stats --- docs/design/responses/TODO_RESPONSES.md | 2 +- docs/design/responses/games/games.json | 21 + .../templates/base/stats_template.json | 869 ++++++++++++++++++ 3 files changed, 891 insertions(+), 1 deletion(-) create mode 100644 docs/design/responses/games/games.json create mode 100644 docs/design/responses/templates/base/stats_template.json diff --git a/docs/design/responses/TODO_RESPONSES.md b/docs/design/responses/TODO_RESPONSES.md index 4778c78..149494f 100644 --- a/docs/design/responses/TODO_RESPONSES.md +++ b/docs/design/responses/TODO_RESPONSES.md @@ -25,7 +25,7 @@ ## Done -- GET /profiles/{profile_id}/matches?single_match= +- GET /games/matches/{match_uuid} - GET /profiles/search?steam_id - GET /profiles/search?alias diff --git a/docs/design/responses/games/games.json b/docs/design/responses/games/games.json new file mode 100644 index 0000000..e28801a --- /dev/null +++ b/docs/design/responses/games/games.json @@ -0,0 +1,21 @@ +{ + "contentVersion": "v1", + "self": { + "href": "https://api.librematch.org/v1/games", + "rel": [ + "collection" + ] + }, + "desc": "Showing X of Y profiles.", + "offset": 0, + "limit": 25, + "size": "Y", + "first": null, + "previous": null, + "next": null, + "last": null, + "parameters": {}, + "value": [ + {} + ] +} \ No newline at end of file diff --git a/docs/design/responses/templates/base/stats_template.json b/docs/design/responses/templates/base/stats_template.json new file mode 100644 index 0000000..4b77f22 --- /dev/null +++ b/docs/design/responses/templates/base/stats_template.json @@ -0,0 +1,869 @@ +[ + { + "date": "2022-01-27T22:17:09.156189", + "leaderboard_activity": { + "30d": { + "aoe2": { + "rm": 39641, + "team_rm": 64581, + "ew": 1787, + "team_ew": 2447, + "unranked": 119847 + }, + "aoe3": { + "supremacy_1v1": 2944, + "supremacy_team": 2867, + "treaty": 604, + "deathmatch": 23 + }, + "aoe4": { + "custom": 133021, + "qm_1v1": 44386, + "qm_2v2": 57611, + "qm_3v3": 53335, + "qm_4v4": 45044 + } + }, + "14d": { + "aoe2": { + "rm": 32094, + "team_rm": 53381, + "ew": 1345, + "team_ew": 1832, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 2268, + "supremacy_team": 2177, + "treaty": 485, + "deathmatch": 17 + }, + "aoe4": { + "custom": 94805, + "qm_1v1": 33354, + "qm_2v2": 43476, + "qm_3v3": 40748, + "qm_4v4": 34645 + } + }, + "7d": { + "aoe2": { + "rm": 25673, + "team_rm": 43935, + "ew": 1017, + "team_ew": 1368, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 1789, + "supremacy_team": 1705, + "treaty": 357, + "deathmatch": 14 + }, + "aoe4": { + "custom": 69179, + "qm_1v1": 26481, + "qm_2v2": 33693, + "qm_3v3": 32025, + "qm_4v4": 27495 + } + }, + "3d": { + "aoe2": { + "rm": 18647, + "team_rm": 32146, + "ew": 691, + "team_ew": 836, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 1321, + "supremacy_team": 1196, + "treaty": 243, + "deathmatch": 5 + }, + "aoe4": { + "custom": 43538, + "qm_1v1": 19310, + "qm_2v2": 23169, + "qm_3v3": 22146, + "qm_4v4": 19552 + } + }, + "1d": { + "aoe2": { + "rm": 13608, + "team_rm": 23542, + "ew": 482, + "team_ew": 537, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 980, + "supremacy_team": 846, + "treaty": 160, + "deathmatch": 4 + }, + "aoe4": { + "custom": 28552, + "qm_1v1": 14133, + "qm_2v2": 15665, + "qm_3v3": 14934, + "qm_4v4": 13864 + } + } + }, + "game_activity": { + "30d": { + "aoe2": 178042, + "aoe3": 5096, + "aoe4": 213250, + "franchise": 396388 + }, + "14d": { + "aoe2": 67225, + "aoe3": 3980, + "aoe4": 161463, + "franchise": 232668 + }, + "7d": { + "aoe2": 56454, + "aoe3": 3160, + "aoe4": 127150, + "franchise": 186764 + }, + "3d": { + "aoe2": 42960, + "aoe3": 2339, + "aoe4": 90190, + "franchise": 135489 + }, + "1d": { + "aoe2": 32726, + "aoe3": 1751, + "aoe4": 65589, + "franchise": 100066 + } + }, + "playerbase": { + "aoe2": 223757, + "aoe3": 5096, + "aoe4": 213251, + "franchise": 438077 + }, + "platforms": { + "aoe2": { + "steam": 92.36, + "relic": 7.64, + "n/a": 0.0 + }, + "aoe3": { + "steam": 93.15, + "relic": 6.85, + "n/a": 0.0 + }, + "aoe4": { + "steam": 64.95, + "relic": 35.05, + "n/a": 0.0 + }, + "franchise": { + "steam": 79.04, + "relic": 20.96, + "n/a": 0.0 + } + }, + "country": { + "aoe2": { + "US": 12.08, + "DE": 12.06, + "CN": 6.03, + "AR": 5.46, + "FR": 5.15, + "TW": 4.35, + "GB": 3.65, + "CA": 3.21, + "AU": 3.12, + "ES": 2.83, + "MX": 2.59, + "TR": 2.49, + "CL": 2.45, + "BR": 2.2, + "NL": 1.94, + "RU": 1.77, + "CH": 1.44, + "CZ": 1.32, + "IT": 1.31, + "HK": 1.22, + "SE": 1.17, + "CO": 1.15, + "BE": 1.14, + "IN": 1.08, + "AT": 0.96, + "no_country_set": 7.65 + }, + "aoe3": { + "US": 2.39, + "DE": 2.0, + "ES": 0.98, + "TR": 0.98, + "CN": 0.94, + "FR": 0.82, + "MX": 0.8, + "BR": 0.65, + "CA": 0.57, + "TW": 0.55, + "GB": 0.51, + "AU": 0.51, + "AR": 0.47, + "HK": 0.41, + "AT": 0.35, + "CH": 0.35, + "NL": 0.33, + "CO": 0.31, + "CL": 0.29, + "PE": 0.29, + "JP": 0.29, + "IT": 0.27, + "SE": 0.26, + "BE": 0.22, + "RU": 0.2, + "no_country_set": 82.28 + }, + "aoe4": { + "US": 2.76, + "DE": 2.67, + "FR": 1.27, + "CN": 0.99, + "CA": 0.61, + "AU": 0.57, + "GB": 0.55, + "CH": 0.38, + "NL": 0.31, + "ES": 0.3, + "AT": 0.28, + "TW": 0.28, + "SE": 0.23, + "BE": 0.21, + "HK": 0.2, + "BR": 0.19, + "RU": 0.18, + "IT": 0.17, + "AR": 0.15, + "JP": 0.13, + "NO": 0.12, + "CL": 0.11, + "DK": 0.11, + "TR": 0.1, + "MX": 0.09, + "no_country_set": 85.86 + }, + "franchise": { + "US": 7.39, + "DE": 7.34, + "CN": 3.5, + "FR": 3.21, + "AR": 2.85, + "TW": 2.34, + "GB": 2.11, + "CA": 1.91, + "AU": 1.85, + "ES": 1.59, + "MX": 1.36, + "TR": 1.32, + "CL": 1.3, + "BR": 1.21, + "NL": 1.13, + "RU": 0.97, + "CH": 0.9, + "IT": 0.74, + "HK": 0.72, + "CZ": 0.71, + "SE": 0.7, + "BE": 0.67, + "AT": 0.62, + "CO": 0.6, + "IN": 0.56, + "no_country_set": 46.55 + } + } + }, + { + "date": "2022-01-28T18:16:09.062004", + "leaderboard_activity": { + "30d": { + "aoe2": { + "rm": 39623, + "team_rm": 64460, + "ew": 1792, + "team_ew": 2435, + "unranked": 115266 + }, + "aoe3": { + "supremacy_1v1": 2952, + "supremacy_team": 2855, + "treaty": 599, + "deathmatch": 24 + }, + "aoe4": { + "custom": 131894, + "qm_1v1": 44070, + "qm_2v2": 57265, + "qm_3v3": 53097, + "qm_4v4": 44895 + } + }, + "14d": { + "aoe2": { + "rm": 32189, + "team_rm": 53496, + "ew": 1346, + "team_ew": 1830, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 2278, + "supremacy_team": 2177, + "treaty": 480, + "deathmatch": 18 + }, + "aoe4": { + "custom": 94605, + "qm_1v1": 33354, + "qm_2v2": 43398, + "qm_3v3": 40686, + "qm_4v4": 34602 + } + }, + "7d": { + "aoe2": { + "rm": 25680, + "team_rm": 43954, + "ew": 1019, + "team_ew": 1358, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 1807, + "supremacy_team": 1711, + "treaty": 347, + "deathmatch": 14 + }, + "aoe4": { + "custom": 69203, + "qm_1v1": 26432, + "qm_2v2": 33619, + "qm_3v3": 31852, + "qm_4v4": 27372 + } + }, + "3d": { + "aoe2": { + "rm": 18692, + "team_rm": 32053, + "ew": 697, + "team_ew": 827, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 1320, + "supremacy_team": 1183, + "treaty": 229, + "deathmatch": 6 + }, + "aoe4": { + "custom": 43121, + "qm_1v1": 19389, + "qm_2v2": 23080, + "qm_3v3": 21962, + "qm_4v4": 19545 + } + }, + "1d": { + "aoe2": { + "rm": 13631, + "team_rm": 23411, + "ew": 484, + "team_ew": 541, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 983, + "supremacy_team": 818, + "treaty": 151, + "deathmatch": 4 + }, + "aoe4": { + "custom": 28640, + "qm_1v1": 14256, + "qm_2v2": 15667, + "qm_3v3": 14705, + "qm_4v4": 13892 + } + } + }, + "game_activity": { + "30d": { + "aoe2": 174108, + "aoe3": 5086, + "aoe4": 211614, + "franchise": 390808 + }, + "14d": { + "aoe2": 67399, + "aoe3": 3987, + "aoe4": 161110, + "franchise": 232496 + }, + "7d": { + "aoe2": 56449, + "aoe3": 3185, + "aoe4": 126990, + "franchise": 186624 + }, + "3d": { + "aoe2": 42851, + "aoe3": 2326, + "aoe4": 89480, + "franchise": 134657 + }, + "1d": { + "aoe2": 32583, + "aoe3": 1706, + "aoe4": 65501, + "franchise": 99790 + } + }, + "playerbase": { + "aoe2": 223770, + "aoe3": 5086, + "aoe4": 211615, + "franchise": 436473 + }, + "platforms": { + "aoe2": { + "steam": 92.36, + "relic": 7.64, + "n/a": 0.0 + }, + "aoe3": { + "steam": 93.12, + "relic": 6.88, + "n/a": 0.0 + }, + "aoe4": { + "steam": 64.96, + "relic": 35.04, + "n/a": 0.0 + }, + "franchise": { + "steam": 79.1, + "relic": 20.9, + "n/a": 0.0 + } + }, + "country": { + "aoe2": { + "US": 12.08, + "DE": 12.05, + "CN": 6.03, + "AR": 5.46, + "FR": 5.15, + "TW": 4.36, + "GB": 3.65, + "CA": 3.21, + "AU": 3.13, + "ES": 2.83, + "MX": 2.59, + "TR": 2.49, + "CL": 2.45, + "BR": 2.19, + "NL": 1.94, + "RU": 1.77, + "CH": 1.44, + "CZ": 1.32, + "IT": 1.31, + "HK": 1.23, + "SE": 1.17, + "CO": 1.15, + "BE": 1.14, + "IN": 1.08, + "AT": 0.96, + "no_country_set": 7.65 + }, + "aoe3": { + "US": 2.4, + "DE": 1.99, + "ES": 0.98, + "TR": 0.98, + "CN": 0.94, + "FR": 0.83, + "MX": 0.81, + "BR": 0.69, + "CA": 0.61, + "TW": 0.53, + "GB": 0.51, + "AU": 0.51, + "AR": 0.45, + "HK": 0.39, + "AT": 0.35, + "CH": 0.33, + "NL": 0.31, + "JP": 0.31, + "CL": 0.29, + "CO": 0.29, + "PE": 0.28, + "IT": 0.28, + "SE": 0.26, + "BE": 0.22, + "RU": 0.2, + "no_country_set": 82.3 + }, + "aoe4": { + "US": 2.75, + "DE": 2.66, + "FR": 1.27, + "CN": 0.99, + "CA": 0.61, + "AU": 0.58, + "GB": 0.55, + "CH": 0.38, + "ES": 0.31, + "NL": 0.31, + "AT": 0.28, + "TW": 0.28, + "SE": 0.23, + "HK": 0.21, + "BE": 0.21, + "BR": 0.19, + "RU": 0.17, + "IT": 0.17, + "AR": 0.15, + "JP": 0.13, + "NO": 0.12, + "CL": 0.11, + "DK": 0.11, + "TR": 0.1, + "MX": 0.09, + "no_country_set": 85.86 + }, + "franchise": { + "US": 7.41, + "DE": 7.34, + "CN": 3.52, + "FR": 3.22, + "AR": 2.86, + "TW": 2.35, + "GB": 2.11, + "CA": 1.92, + "AU": 1.86, + "ES": 1.6, + "MX": 1.37, + "TR": 1.33, + "CL": 1.3, + "BR": 1.21, + "NL": 1.13, + "RU": 0.98, + "CH": 0.9, + "IT": 0.75, + "HK": 0.73, + "CZ": 0.71, + "SE": 0.7, + "BE": 0.67, + "AT": 0.62, + "CO": 0.61, + "IN": 0.57, + "no_country_set": 46.4 + } + } + }, + { + "date": "2022-01-29T19:24:12.630533", + "leaderboard_activity": { + "30d": { + "aoe2": { + "rm": 39880, + "team_rm": 64997, + "ew": 1806, + "team_ew": 2449, + "unranked": 108443 + }, + "aoe3": { + "supremacy_1v1": 2966, + "supremacy_team": 2862, + "treaty": 607, + "deathmatch": 23 + }, + "aoe4": { + "custom": 132012, + "qm_1v1": 44062, + "qm_2v2": 57292, + "qm_3v3": 53189, + "qm_4v4": 44995 + } + }, + "14d": { + "aoe2": { + "rm": 32385, + "team_rm": 54080, + "ew": 1352, + "team_ew": 1865, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 2297, + "supremacy_team": 2198, + "treaty": 498, + "deathmatch": 18 + }, + "aoe4": { + "custom": 95187, + "qm_1v1": 33441, + "qm_2v2": 43516, + "qm_3v3": 40903, + "qm_4v4": 34817 + } + }, + "7d": { + "aoe2": { + "rm": 25968, + "team_rm": 44760, + "ew": 1036, + "team_ew": 1383, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 1828, + "supremacy_team": 1732, + "treaty": 371, + "deathmatch": 10 + }, + "aoe4": { + "custom": 70368, + "qm_1v1": 26616, + "qm_2v2": 33874, + "qm_3v3": 32125, + "qm_4v4": 27609 + } + }, + "3d": { + "aoe2": { + "rm": 19462, + "team_rm": 34061, + "ew": 736, + "team_ew": 887, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 1369, + "supremacy_team": 1254, + "treaty": 260, + "deathmatch": 6 + }, + "aoe4": { + "custom": 46524, + "qm_1v1": 20020, + "qm_2v2": 23975, + "qm_3v3": 22658, + "qm_4v4": 20146 + } + }, + "1d": { + "aoe2": { + "rm": 14852, + "team_rm": 26361, + "ew": 531, + "team_ew": 619, + "unranked": 0 + }, + "aoe3": { + "supremacy_1v1": 1033, + "supremacy_team": 911, + "treaty": 169, + "deathmatch": 4 + }, + "aoe4": { + "custom": 33566, + "qm_1v1": 15336, + "qm_2v2": 17278, + "qm_3v3": 16217, + "qm_4v4": 14969 + } + } + }, + "game_activity": { + "30d": { + "aoe2": 168934, + "aoe3": 5110, + "aoe4": 211534, + "franchise": 385578 + }, + "14d": { + "aoe2": 68045, + "aoe3": 4035, + "aoe4": 161743, + "franchise": 233823 + }, + "7d": { + "aoe2": 57367, + "aoe3": 3248, + "aoe4": 128407, + "franchise": 189022 + }, + "3d": { + "aoe2": 45149, + "aoe3": 2463, + "aoe4": 94302, + "franchise": 141914 + }, + "1d": { + "aoe2": 35953, + "aoe3": 1843, + "aoe4": 72630, + "franchise": 110426 + } + }, + "playerbase": { + "aoe2": 224301, + "aoe3": 5110, + "aoe4": 211535, + "franchise": 436948 + }, + "platforms": { + "aoe2": { + "steam": 92.37, + "relic": 7.63, + "n/a": 0.0 + }, + "aoe3": { + "steam": 93.13, + "relic": 6.87, + "n/a": 0.0 + }, + "aoe4": { + "steam": 64.92, + "relic": 35.08, + "n/a": 0.0 + }, + "franchise": { + "steam": 79.1, + "relic": 20.9, + "n/a": 0.0 + } + }, + "country": { + "aoe2": { + "US": 12.07, + "DE": 12.06, + "CN": 6.03, + "AR": 5.46, + "FR": 5.15, + "TW": 4.35, + "GB": 3.65, + "CA": 3.2, + "AU": 3.12, + "ES": 2.83, + "MX": 2.58, + "TR": 2.49, + "CL": 2.46, + "BR": 2.2, + "NL": 1.94, + "RU": 1.77, + "CH": 1.44, + "CZ": 1.32, + "IT": 1.31, + "HK": 1.23, + "SE": 1.17, + "CO": 1.15, + "BE": 1.14, + "IN": 1.08, + "AT": 0.96, + "no_country_set": 7.64 + }, + "aoe3": { + "US": 2.41, + "DE": 2.0, + "TR": 1.0, + "CN": 0.98, + "ES": 0.98, + "FR": 0.82, + "MX": 0.8, + "BR": 0.72, + "CA": 0.59, + "TW": 0.53, + "AU": 0.51, + "GB": 0.49, + "AR": 0.43, + "HK": 0.39, + "AT": 0.35, + "CH": 0.35, + "CO": 0.33, + "NL": 0.31, + "JP": 0.31, + "CL": 0.29, + "SE": 0.25, + "PE": 0.25, + "IT": 0.25, + "BE": 0.22, + "RU": 0.2, + "no_country_set": 82.23 + }, + "aoe4": { + "US": 2.74, + "DE": 2.68, + "FR": 1.27, + "CN": 0.97, + "CA": 0.61, + "AU": 0.57, + "GB": 0.54, + "CH": 0.39, + "NL": 0.32, + "ES": 0.31, + "AT": 0.28, + "TW": 0.27, + "SE": 0.23, + "BE": 0.21, + "HK": 0.2, + "BR": 0.19, + "RU": 0.18, + "IT": 0.17, + "AR": 0.15, + "JP": 0.13, + "NO": 0.12, + "CL": 0.11, + "DK": 0.11, + "TR": 0.1, + "MX": 0.1, + "no_country_set": 85.87 + }, + "franchise": { + "US": 7.41, + "DE": 7.36, + "CN": 3.51, + "FR": 3.22, + "AR": 2.86, + "TW": 2.35, + "GB": 2.12, + "CA": 1.91, + "AU": 1.85, + "ES": 1.59, + "MX": 1.37, + "TR": 1.33, + "CL": 1.31, + "BR": 1.22, + "NL": 1.14, + "RU": 0.98, + "CH": 0.9, + "IT": 0.75, + "HK": 0.73, + "CZ": 0.71, + "SE": 0.71, + "BE": 0.68, + "AT": 0.62, + "CO": 0.61, + "IN": 0.57, + "no_country_set": 46.34 + } + } + } +] \ No newline at end of file From 533868746d398cd0b3723e4c61578db12b218fbe Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 18 Oct 2022 16:42:25 +0200 Subject: [PATCH 59/63] Rename stats template --- .../base/{stats_template.json => game_stats_template.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/design/responses/templates/base/{stats_template.json => game_stats_template.json} (100%) diff --git a/docs/design/responses/templates/base/stats_template.json b/docs/design/responses/templates/base/game_stats_template.json similarity index 100% rename from docs/design/responses/templates/base/stats_template.json rename to docs/design/responses/templates/base/game_stats_template.json From 365fa8d367d67787b67017935adef81273573f76 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 18 Oct 2022 17:19:11 +0200 Subject: [PATCH 60/63] Draft Games endpoint response --- docs/design/responses/games/games.json | 289 ++++++++++++++++++++++++- 1 file changed, 288 insertions(+), 1 deletion(-) diff --git a/docs/design/responses/games/games.json b/docs/design/responses/games/games.json index e28801a..c498792 100644 --- a/docs/design/responses/games/games.json +++ b/docs/design/responses/games/games.json @@ -16,6 +16,293 @@ "last": null, "parameters": {}, "value": [ - {} + { + "aoe1de": { + "stats": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe1de/stats", + "rel": [ + "collection" + ] + } + }, + "information": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe1de/info", + "rel": [ + "collection" + ] + }, + "long_name": "Age of Empires: Definitive Edition", + "shops": { + "steam": { + "href": "https://store.steampowered.com/app/1017900/Age_of_Empires_Definitive_Edition/" + }, + "microsoft": { + "href": "https://www.microsoft.com/store/productId/9NJWTJSVGVLJ" + } + } + }, + "definitions": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe1de/definitions", + "rel": [ + "collection" + ] + } + }, + "matches": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe1de/matches", + "rel": [ + "collection" + ] + } + }, + "leaderboards": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe1de/leaderboards", + "rel": [ + "collection" + ] + } + }, + "community_pages": { + "todo!": "todo!" + }, + "tournaments": { + "self": { + "href": "https://api.librematch.org/v1/tournaments?game=aoe1de", + "rel": [ + "collection" + ] + } + }, + "teams": { + "self": { + "href": "https://api.librematch.org/v1/teams?game=aoe1de", + "rel": [ + "collection" + ] + } + } + } + }, + { + "aoe2de": { + "stats": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe2de/stats", + "rel": [ + "collection" + ] + } + }, + "information": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe2de/info", + "rel": [ + "collection" + ] + }, + "long_name": "Age of Empires II: Definitive Edition", + "shops": { + "steam": { + "href": "https://store.steampowered.com/app/813780/Age_of_Empires_II_Definitive_Edition/" + }, + "microsoft": { + "href": "https://www.microsoft.com/store/productId/9NJDD0JGPP2Q" + } + } + }, + "definitions": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe2de/definitions", + "rel": [ + "collection" + ] + } + }, + "matches": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe2de/matches", + "rel": [ + "collection" + ] + } + }, + "leaderboards": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe2de/leaderboards", + "rel": [ + "collection" + ] + } + }, + "community_pages": { + "todo!": "todo!" + }, + "tournaments": { + "self": { + "href": "https://api.librematch.org/v1/tournaments?game=aoe2de", + "rel": [ + "collection" + ] + } + }, + "teams": { + "self": { + "href": "https://api.librematch.org/v1/teams?game=aoe2de", + "rel": [ + "collection" + ] + } + } + } + }, + { + "aoe3de": { + "stats": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe3de/stats", + "rel": [ + "collection" + ] + } + }, + "information": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe3de/info", + "rel": [ + "collection" + ] + }, + "long_name": "Age of Empires III: Definitive Edition", + "shops": { + "steam": { + "href": "https://store.steampowered.com/app/933110/Age_of_Empires_III_Definitive_Edition/" + }, + "microsoft": { + "href": "https://www.microsoft.com/store/productId/9N1HF804QXN4" + } + } + }, + "definitions": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe3de/definitions", + "rel": [ + "collection" + ] + } + }, + "matches": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe3de/matches", + "rel": [ + "collection" + ] + } + }, + "leaderboards": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe3de/leaderboards", + "rel": [ + "collection" + ] + } + }, + "community_pages": { + "todo!": "todo!" + }, + "tournaments": { + "self": { + "href": "https://api.librematch.org/v1/tournaments?game=aoe3de", + "rel": [ + "collection" + ] + } + }, + "teams": { + "self": { + "href": "https://api.librematch.org/v1/teams?game=aoe3de", + "rel": [ + "collection" + ] + } + } + } + }, + { + "aoe4": { + "stats": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe4/stats", + "rel": [ + "collection" + ] + } + }, + "information": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe4/info", + "rel": [ + "collection" + ] + }, + "long_name": "Age of Empires IV", + "shops": { + "steam": { + "href": "https://store.steampowered.com/app/1466860/Age_of_Empires_IV/" + }, + "microsoft": { + "href": "https://www.microsoft.com/store/productId/9N94NCGM1Q2N" + } + } + }, + "definitions": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe4/definitions", + "rel": [ + "collection" + ] + } + }, + "matches": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe4/matches", + "rel": [ + "collection" + ] + } + }, + "leaderboards": { + "self": { + "href": "https://api.librematch.org/v1/games/aoe4/leaderboards", + "rel": [ + "collection" + ] + } + }, + "community_pages": { + "todo!": "todo!" + }, + "tournaments": { + "self": { + "href": "https://api.librematch.org/v1/tournaments?game=aoe4", + "rel": [ + "collection" + ] + } + }, + "teams": { + "self": { + "href": "https://api.librematch.org/v1/teams?game=aoe4", + "rel": [ + "collection" + ] + } + } + } + } ] } \ No newline at end of file From 0046ee63d60c41ead2b61e49f98e8da7ddee26b1 Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Tue, 18 Oct 2022 17:20:26 +0200 Subject: [PATCH 61/63] Add definitions placeholder --- docs/design/responses/games/definitions.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/design/responses/games/definitions.json diff --git a/docs/design/responses/games/definitions.json b/docs/design/responses/games/definitions.json new file mode 100644 index 0000000..e69de29 From dc1e1742e757f7b21e1b3a90d71b7a6021f4b97f Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 20 Oct 2022 12:34:39 +0200 Subject: [PATCH 62/63] Add overall matches and change player name field --- .../responses/templates/base/leaderboards_template.json | 5 ++--- docs/design/responses/templates/base/ledger_template.json | 2 ++ docs/design/responses/templates/base/profiles_template.json | 3 +-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/design/responses/templates/base/leaderboards_template.json b/docs/design/responses/templates/base/leaderboards_template.json index 30f4249..98e8023 100644 --- a/docs/design/responses/templates/base/leaderboards_template.json +++ b/docs/design/responses/templates/base/leaderboards_template.json @@ -6,8 +6,7 @@ "collection" ], "verified": true, - "first_name": "", - "last_name": "", + "person_name": "", "alias": "TheViper", "country_code": "no", "steam_id": "76561197984749679", @@ -24,7 +23,7 @@ ] }, "drops": 3, - "games": 833, + "overall_matches": 833, "last_match": 1615410209, "losses": 277, "wins": 556, diff --git a/docs/design/responses/templates/base/ledger_template.json b/docs/design/responses/templates/base/ledger_template.json index 2af2564..0172a76 100644 --- a/docs/design/responses/templates/base/ledger_template.json +++ b/docs/design/responses/templates/base/ledger_template.json @@ -34,6 +34,7 @@ }, "history": [ { + "overall_matches": 835, "drops": 3, "rank": 5, "losses": 276, @@ -55,6 +56,7 @@ }, "history": [ { + "overall_matches": 835, "drops": 3, "rank": 5, "losses": 276, diff --git a/docs/design/responses/templates/base/profiles_template.json b/docs/design/responses/templates/base/profiles_template.json index 9755b67..c16b70b 100644 --- a/docs/design/responses/templates/base/profiles_template.json +++ b/docs/design/responses/templates/base/profiles_template.json @@ -11,8 +11,7 @@ } ], "verified": true, - "first_name": "", - "last_name": "", + "name": "", "alias": "TheViper", "country_code": "no", "profile_id": 196240, From 65a0f7fd33de48424b66ba7e7c9ef00cc585575c Mon Sep 17 00:00:00 2001 From: simonsan <14062932+simonsan@users.noreply.github.com> Date: Thu, 27 Oct 2022 19:21:31 +0200 Subject: [PATCH 63/63] Add x-api-id and x-audience to openapi spec --- openapi.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openapi.yaml b/openapi.yaml index d69467f..b413c7c 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -15,6 +15,8 @@ info: version: 1.0.0-DRAFT x-logo: url: "" + x-api-id: 01GGD7CFHGZ5TXXAMNKWF9M1B9 + x-audience: external-public servers: - description: Libre:Match Production Server v1 url: https://api.librematch.org/v1