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 diff --git a/asyncapi.yaml b/asyncapi.yaml new file mode 100644 index 0000000..2c09ab3 --- /dev/null +++ b/asyncapi.yaml @@ -0,0 +1,41 @@ +asyncapi: 2.2.0 +info: + title: Libre:Match match data service API + version: 1.0.0-DRAFT + description: This service is in charge of processing streaming match data to subscribers + x-logo: + url: "" + license: + name: GNU AGPLv3 + url: https://www.gnu.org/licenses/agpl.txt + contact: + name: Libre:Match Team + email: info@librematch.org +channels: + user/signedup: + subscribe: + message: + $ref: "#/components/messages/UserSignedUp" +components: + messages: + UserSignedUp: + payload: + type: object + properties: + displayName: + type: string + description: Name of the user + email: + type: string + format: email + description: Email of the user + securitySchemes: {} + schemas: {} + parameters: {} +tags: [] +externalDocs: null +servers: + WSS: + url: api.librematch.org + protocol: wss + protocolVersion: HTTP 2.0 diff --git a/openapi.yaml b/openapi.yaml index bbfabef..be706f2 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,30 +34,38 @@ 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 + "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: ["Information"] summary: Endpoint for game-specific data x-last-modified: 1663947918891 /games/{game_id}/definitions: 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,30 +74,32 @@ 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: [] + tags: ["Definition"] summary: "game-specific definitions, e.g. map names, civilisation names, translations" x-last-modified: 1663948104836 /games/{game_id}/info: 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 +108,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,\ + tags: ["Information"] + 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 +144,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\ + tags: ["Match data"] + summary: + "match data spanning over the complete game (all leaderboards, basically\ \ a log" x-last-modified: 1663948210036 /tournaments: @@ -147,15 +162,17 @@ paths: description: Not Implemented x-last-modified: 1665058119290 summary: Remove all tournaments + tags: ["Tournament Administration"] get: operationId: get_tournament_identifier_collection responses: "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: [] + tags: ["Information", "Tournament Administration"] patch: description: "" operationId: partial_update_tournaments @@ -164,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 @@ -172,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 @@ -180,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: @@ -193,28 +213,29 @@ 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 - tags: [] + tags: ["Administration"] summary: Endpoint for player profiles on the Relic Link platform x-last-modified: 1663948530301 /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: - 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,28 +244,29 @@ 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 - tags: [] + tags: ["Information"] summary: Profile information for a Relic Link player_ID x-last-modified: 1663948567394 /profiles/{relic_link_id}/matches: 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,11 +275,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 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: @@ -272,10 +294,11 @@ 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 + tags: ["User Administration"] get: description: Authenticated Endpoint for Administrators or Libre:Match operationId: get_user_collection @@ -287,11 +310,11 @@ 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 - tags: [] + tags: ["User Administration"] patch: description: "" operationId: partial_update_all_users @@ -303,10 +326,11 @@ 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 + tags: ["User Administration"] post: description: "" operationId: create_new_user @@ -321,10 +345,11 @@ 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 + tags: ["Authentication", "Account Registration", "User Administration"] put: description: "" operationId: bulk_update_all_users @@ -336,10 +361,11 @@ 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 + tags: ["User Administration"] summary: Endpoint for users of our API x-last-modified: 1663948638250 /users/{user_id}: @@ -347,17 +373,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 +392,25 @@ 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 + 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: - 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,26 +419,26 @@ 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 - tags: [] + tags: ["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: - 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,25 +447,26 @@ 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 + tags: ["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: - 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,11 +475,13 @@ 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 + tags: ["User Administration"] summary: user profile for an API user x-last-modified: 1663948686307 /users/login: @@ -461,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: @@ -475,10 +505,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $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: @@ -492,14 +522,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $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: - 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,10 +542,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 - tags: [] + tags: ["Authentication", "API Token Validation"] post: operationId: create_new_user_validation responses: @@ -525,10 +556,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $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: @@ -542,12 +573,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,\ + tags: ["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: 1663948904071 /application/statistics: @@ -561,12 +593,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\ + tags: ["Internal", "Administration"] + summary: + "Statistics of Libre:Match, e.g. usage statistics, collection rate, overall\ \ amount of users, etc." x-last-modified: 1663948946628 /application/status: @@ -580,32 +613,33 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UnauthorizedError' + $ref: "#/components/schemas/UnauthorizedError" description: Unauthorized access. x-last-modified: 1665072543221 "503": 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}: 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,55 +648,32 @@ 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: [] + tags: ["Information"] 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 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,29 +682,30 @@ 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 - tags: [] + tags: ["Leaderboards"] summary: Collection of leaderboard data spanning over the complete game x-last-modified: 1665053521883 /leaderboards/{leaderboard_id}: 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,54 +714,57 @@ 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 - tags: [] + tags: ["Leaderboards"] summary: game-specific leaderboards on the Relic Link platform x-last-modified: 1665053547091 /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: - 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: [] + tags: ["Leaderboards", "Statistics"] summary: Collection of stats for a specific leaderboard x-last-modified: 1665053642553 /leaderboards/{leaderboard_id}/matches: 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,12 +773,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 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: [] + tags: ["Leaderboards", "Match data"] summary: Collection of match data for a specific leaderboard x-last-modified: 1665053682780 /leaderboards: @@ -777,7 +793,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 +805,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 +896,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 +915,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 +936,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 +956,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 +976,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 +998,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 +1024,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 +1137,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 +1297,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 +1318,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 +1340,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 +1386,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 +1412,21 @@ 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 + minimum: 0 + format: int64 + maximum: 999999999 + style: simple + x-last-modified: 1663949613648 responses: "501": description: Not Implemented @@ -1397,18 +1439,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: team_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665069480649 responses: "501": description: Not Implemented @@ -1421,18 +1464,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: team_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665069480649 responses: "501": description: Not Implemented @@ -1445,18 +1489,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: team_id + required: true + schema: + format: ulid + type: string + style: simple + x-last-modified: 1665069480649 responses: "501": description: Not Implemented @@ -1480,7 +1525,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 +1543,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,12 +1552,15 @@ 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 schema: type: string + maxLength: 32 + pattern: ^example-[0-9a-z]+$ style: simple If-Modified-Since: deprecated: false @@ -1523,7 +1573,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 +1584,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 @@ -1547,11 +1599,14 @@ components: required: false schema: type: string + maxLength: 32 + pattern: ^example-[0-9a-z]+$ style: simple 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 @@ -1559,6 +1614,9 @@ components: required: true schema: type: integer + format: int64 + maximum: 999999999 + minimum: 0 style: simple x-last-modified: 1663949613648 tournament_id: @@ -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,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 @@ -1601,11 +1660,12 @@ 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 - name: game_id + name: team_id required: true schema: format: ulid @@ -1644,14 +1704,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 +1730,7 @@ components: content: application/json: schema: - $ref: '#/components/schemas/ServerError' + $ref: "#/components/schemas/ServerError" description: Server Error x-last-modified: 1665056677455 "501": @@ -1689,8 +1749,8 @@ components: minimum: 400 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665056674054 UnauthorizedError: @@ -1698,14 +1758,16 @@ components: message: title: message type: string + pattern: ^example-[0-9a-z]+$ + maxLength: 32 code: maximum: 401 minimum: 401 title: code type: integer required: - - code - - message + - code + - message title: UnauthorizedError type: object x-last-modified: 1665056676293 @@ -1718,8 +1780,8 @@ components: minimum: 500 type: integer required: - - code - - message + - code + - message type: object x-last-modified: 1665056677454 Error: @@ -1736,11 +1798,17 @@ components: minimum: 100 type: integer required: - - code - - message + - code + - message 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