{ "openapi": "3.1.0", "info": { "title": "RallyHere Environment APIs", "description": "Each RallyHere environment has a unique API for accessing all of the systems and services for that environment.\n", "version": "1.0.0" }, "servers": [ { "url": "https://{environment_id}.rally-here.io", "variables": { "environment_id": { "default": "demo", "description": "Environment ID assigned by RallyHere. This is available from your Environment in the RallyHere Developer Portal at https://developer.rallyhere.gg\n" } } } ], "externalDocs": { "description": "RallyHere Documentation", "url": "https://docs.rallyhere.gg" }, "tags": [ { "name": "Auth", "description": "RallyHere Authentication API\n\nThis API is used by clients to retrieve an access token to be used when accessing other RallyHere APIs.\n\n## User-based Client Logins\n\nThe /v1/login endpoint supports user-based authentication for a variety of platforms by \"wrapping\" a user's platform\naccess token using a multi-step process:\n\n1. The client must authenticate the user and retrieve an access token for their respective platform.\n2. The client must subsequently authenticate the user using the /v1/login endpoint by setting the `grant_type` to the\nappropriate platform, and setting the `portal_access_token` to the access token retrieved above, which will return a\nnew access token to be used for RallyHere APIs.\n\n## OAuth\n\n### Version 1\n\nThe /v1/oauth endpoints support user-based client authentication for a variety of different platforms, utilizing secure\nredirects to third-party authentication URLs. The OAuth flow allows authentication to the RallyHere APIs without the use\nof a game client.\n\n### Version 2\n\nCurrently, the /v2/oauth endpoints only support a `grant_type` value of `client_credentials`, for the purposes of\nuser-less client authentication, utilizing Basic authentication containing a RallyHere client ID and client secret. This\ntype of authentication enables trusted clients (such as backend game instances) to access the RallyHere APIs without\nuser-specific authentication.\n\nThe /v2/oauth endpoint will be updated in the future to include user-based authentication modes.\n\n" }, { "name": "Users", "description": "User Endpoints to query user information, search for users, purge users (for GDPR or other delete reasons), and update linking/cross-progresion status for users." }, { "name": "Settings", "description": "\nEndpoints to get setting configuration and player settings\n\nPlayer Settings are meant to be used as a document storage for players settings.\n\nSettings are organized around Setting Types. Each Setting Type can contain one or more Setting Versions. Each Type+Version pair includes a jsonschema that is used to validate any update that apply to the setting. This does NOT validate data for the get endpoints. If the data is invalid, the get endpoint will return the data as it was stored.\n" }, { "name": "Friends", "description": "Operations to fetch and modify a player's friends, blocked list, and configuration" }, { "name": "Inventory", "description": "Operations on inventory data" }, { "name": "Catalog", "description": "Operations on catalog data" }, { "name": "Entitlements", "description": "Operations on entitlements. Key Entitlements are used to grant Players Key Claims for an external Marketing Campaign." }, { "name": "Key Claims", "description": "Operations to Fetch and Claim Key Claims. Key Claims are used to give Players keys as a reward to fulfilling the requirements of an external Marketing Campaign. Examples: Beta Keys, Extra Game keys for Friends, etc." }, { "name": "Sessions", "description": "\nThis API is for the creation and management of sessions, which are just generic groups of players, and operations\non those sessions, such as joining matchmaking.\n" }, { "name": "Deserter", "description": "Deserter is a system to prevent players from joining matchmaking queues. Endpoints allow setting the deserter status of individual players, and globally clearing the deserter status for all players for emergency maintenance." }, { "name": "Rank", "description": "\n\nThis API is used to update players ranks after matches\n\n" }, { "name": "Match", "description": "Match data is meant to store historical match information - including players, and related metadata.\n\nMatches are searchable on the Support Portal, and there are endpoints to query a player's matches or all matches in the system.\n\nEach match can also contain many Match Segments - which are sub-components of the overall match. They contain the same fields as the match. Common usage of Match Segments would be laps of a race to record player positions, minute intervals to record the state of the game partway through, rounds of play, or minigames within a larger match.\n" }, { "name": "Player Experience", "description": "Player Experience (PEX) is a system for Clients/Hosts to post metrics to for top-level analysis." }, { "name": "File", "description": "Operations on file-api" }, { "name": "Presence", "description": "RallyHere Presence API\n\nThis API is intended to generally store presence information and be used in order to track the concurrent users for the game as a whole.\n\n## Basic Usage\n\nOn login, a client should go through the following steps.\n\n1. Get any existing current presence data and store that locally using GET `/v1/player/me/presence`.\n2. Mark online by patching their own presence with an empty update using PATCH `/v1/player/presence`.\n3. Request the client visible settings using GET `/v1/settings` and store them.\n4. Every `self_ping_interval_seconds` the client should mark online again by patching their own presence with an empty update using PATCH `/v1/player/presence`\n\n## Setting Presence\n\nWhen updating your presence the `display_name` and `platform` are not set directly. They are instead derived from the JWT provided by the users-api.\n\nThe presence you set is considered public, so do not set any values that should be considered private data in either the `status_message` or the\n`custom_data`.\n\n## Fetching Presence\n\nYou may fetch the presence of another user by either their `player_id` or `player_uuid`. You should prefer the `player_uuid` whenever it is available\nas the `player_id` is deprecated.\n\n\n## Private Presence Data\n\n`last_seen` is only available when requesting presence for yourself or as an admin.\n\n## Concurrent Users Updates\nIt's expected that users of this API will regularly patch their own presence with an empty update. This will signal that they are still online without\nchanging any of their presence information. This should be done on a cycle based on the `self_ping_interval_setting` settings provided by the API on\nthe `/v1/settings` endpoint conforming to the `ClientVisibleSettings` schema.\n\nIf a client takes longer than the `last_seen_age_considered_offline_seconds` setting to perform this update they will be considered offline by other\nclients. This setting is provided by the API on the `/v1/settings` endpoint conforming to the `ClientVisibleSettings` schema.\n" }, { "name": "Presence Admin", "description": "RallyHere Presence Admin API\n\nThis API is only available to administrators. It provides access to CCU data and to set specific values for presence that aren't available to\nunprivileged clients.\n\nEach time a user interacts with this API their uuid is added to a time-keyed HyperLogLog. This enables us to track the number of users stochastically\nrather than having to create a complete entry for every interaction. Their uuid is also added to a HyperLogLog keyed by both time and the platform the\nuser authenticated on.\n\nThe three actions CCU tracks are total, updating, and requesting. Comparing the numbers between the three will help identify if there are users who are\nscanning the API rather than using it for normal presence operations.\n\nWhen requesting the CCU you generally have two major options: Combined and Individual.\n\nThe Combined methods count up the number of users internally and therefor handle duplicates correctly.\n\nThe Individual methods return the individual counts for each timestamp. This data can be useful, but can't be summed up directly unless you're okay\nwith counting players multiple times.\n\nFor example, if you want to know the 24-hour CCU you should *not* get the Individual CCUs and add them up yourself. You should request the Combined\nCCU over that time period.\n" }, { "name": "Reports", "description": "Player Reports" }, { "name": "Notification", "description": "Operations on Player Notifications" }, { "name": "Config", "description": "Getting client and server app settings" }, { "name": "Events", "description": "Event Tracking" }, { "name": "Custom", "description": "Endpoints for hitting custom urls" }, { "name": "Ad", "description": "Ad endpoints are used to present ads to users, and grant rewards to them for doing so.\n\nThe system uses an external ad provider to present opportunities to the user. Currently, the only supported provider is Unity Ads. Please contact your RallyHere representative for more information.\n\nNote that each endpoint can return a `x-hz-ad-api-token` header, which should be reused whenever possible for future requests. This is an optimization that should improve future request times, as they won't require a secondary authentication with the external ad provider.\n" } ], "paths": { "/users/v1/login": { "post": { "tags": [ "Auth" ], "summary": "Login", "description": "This endpoint is used to authenticate a user and retrieve an access token for use with other RallyHere APIs.\n \nThis endpoint supports user-based authentication for a variety of platforms.", "operationId": "login", "parameters": [ { "required": false, "schema": { "type": "string", "title": "User-Agent" }, "name": "user-agent", "in": "header" }, { "description": "IP Address hint", "required": false, "schema": { "type": "string", "maxLength": 32, "title": "X-Rh-Client-Addr", "description": "IP Address hint" }, "name": "x-rh-client-addr", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginRequestV1" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginResult" } } } }, "403": { "description": "User authentication failed. See error code and description for further details.\n\nError Codes:\n- `internal_error` - An internal error occurred. The request may succeed if retried. If not, contact an administrator.\n- `no_redirects_configured` - No redirect urls setup for oauth.\n- `redirect_uri_does_not_match` - Redirect URI does not match a configured value.\n- `error_occurred_during_exchange` - An error occurred while exchanging a code for token.\n- `failed_to_verify_state` - Failed to verify the state associated with the request.\n- `failed_to_save_state` - Error occurred saving the state.\n- `failed_to_save_tokens` - Problem saving tokens. Contact an administrator\n- `too_many_users` - Account has too many users associated with it. Contact an administrator\n- `user_auth_restricted` - Authentication for this user has been restricted\n- `user_needs_agreements` - User has not accepted all required agreements. See response for list of agreements required\n- `error_retrieving_player_results` - Error retrieving player results\n- `failed_to_retrieve_roles` - Failed to retrieve roles\n- `client_credentials_invalid` - Client Credentials provided to authentication attempt were invalid\n- `authentication_limited` - Authentication is currently limited to accounts that are already logged in. Please try again later\n- `authentication_locked` - Authentication is currently locked. Please try again later\n- `invalid_grant_type` - Grant Type {grant_type} is not supported\n- `user_auth_disabled` - User authentication is not permitted for this policy\n- `client_auth_disabled` - Client authentication is not permitted for this policy\n- `amazon_disabled` - Amazon authentication is currently disabled\n- `amazon_token_empty` - Amazon access token is empty\n- `amazon_invalid_access_token` - Amazon access token is invalid\n- `amazon_token_exchange_failed` - Problem exchanging code for token with Amazon\n- `anon_disabled` - Anon authentication is currently disabled\n- `anon_token_empty` - Anon access token is empty\n- `apple_disabled` - Apple authentication is currently disabled\n- `apple_token_empty` - Apple access token is empty\n- `apple_failed_key_lookup` - Failed to retrieve keys from Apple\n- `apple_token_exchange_failed` - Problem exchanging code for token with Apple\n- `apple_token_key_not_valid` - public key not found\n- `apple_token_not_valid` - Apple access token is not valid\n- `authorization_code_not_found` - Authorization code not found or expired\n- `basic_disabled` - Basic authentication is currently disabled\n- `basic_token_empty` - Basic access token is empty\n- `basic_auth_incorrect_format` - Basic auth should be formatted like `USERNAME:PASSWORD`\n- `basic_auth_credentials_not_found` - Basic auth credentials not found\n- `developer_api_disabled` - Developer API authentication is currently disabled\n- `developer_api_token_empty` - Developer API access token is empty\n- `developer_api_token_invalid` - Developer API access token is invalid or expired\n- `epic_disabled` - Epic authentication is currently disabled\n- `epic_token_empty` - Epic access token is empty\n- `epic_v1_token_key_id_invalid` - Epic v1 token contains an invalid key id\n- `epic_v1_token_invalid` - Epic v1 token is invalid\n- `epic_v2_keys_not_available` - Epic v2 keys are not available. Please contact an administrator\n- `epic_v2_token_invalid` - Epic v2 token is invalid\n- `epic_oauth_token_exchange_failed` - Problem exchanging code for token with Epic\n- `google_disabled` - Google authentication is currently disabled\n- `google_token_empty` - Google access token is empty\n- `google_keys_not_available` - Google keys are not available. Please contact an administrator\n- `google_token_not_valid` - Google access token is not valid\n- `google_token_exchange_failed` - Problem exchanging code for token with Google\n- `nintendo_disabled` - Nintendo authentication is currently disabled\n- `nintendo_token_empty` - Nintendo access token is empty\n- `nintendo_env_credentials_not_found` - Nintendo environment credentials not found\n- `nintendo_access_token_not_valid` - Nintendo access token is not valid\n- `nintendo_no_environment_matches_env_id` - Nintendo environment not found for given environment ID\n- `nintendo_retrieve_client_credentials_failed` - Problem retrieving client credentials from Nintendo. This commonly occurs while converting between NAID and PPID.\n- `nintendo_ppid_conversion_failed` - error during PPID conversion\n- `nintendo_ppid_conversion_too_many_accounts_found` - too many accounts found during PPID conversion\n- `nintendo_ppid_conversion_no_accounts_found` - no accounts found during PPID conversion\n- `nintendo_ppid_missing` - PPID is missing for user\n- `nintendo_ppid_key_not_valid` - Nintendo access token key is not valid\n- `nintendo_service_key_url_not_found` - Nintendo service key url not found. This usually indicates that the corresponding Nintendo environment has a mismatch between Nintendo account URL and Nintendo Service Account URL.\n- `nintendo_service_access_token_not_valid` - Nintendo service access token is not valid\n- `nintendo_service_access_token_for_wrong_app` - Nintendo service access token is for the wrong app\n- `nintendo_oauth_env_not_found` - Nintendo oauth environment not found. Check that the environment is configured correctly.\n- `nintendo_token_exchange_failed` - Problem exchanging code for token with Nintendo\n- `ps4_v1_disabled` - PS4 v1 authentication is currently disabled\n- `ps4_v1_token_empty` - PS4 v1 access token is empty\n- `ps4_v1_token_expired` - PS4 v1 access token is expired\n- `ps4_v1_token_exchange_failed` - Problem exchanging code for token with PS4\n- `ps4_v1_id_token_request_failed` - Problem requesting id token from PS4\n- `ps4_v1_id_token_not_valid` - PS4 v1 id token is not valid\n- `ps4_v1_token_details_disabled` - PS4 v1 token details are disabled\n- `ps4_v1_token_details_request_failed` - Problem requesting token details from PS4\n- `ps4_v3_disabled` - PS4 v3 authentication is currently disabled\n- `ps4_v3_token_details_disabled` - PS4 v3 token details are disabled\n- `ps4_v3_token_empty` - PS4 v3 access token is empty\n- `ps4_v3_id_token_request_failed` - Problem requesting id token from PS4\n- `ps4_v3_id_token_not_valid` - PS4 v3 id token is not valid\n- `ps5_v3_disabled` - PS5 v3 authentication is currently disabled\n- `ps5_v3_token_details_disabled` - PS5 v3 token details are disabled\n- `ps5_v3_token_empty` - PS5 v3 access token is empty\n- `ps5_v3_id_token_request_failed` - Problem requesting id token from PS5\n- `ps5_v3_id_token_not_valid` - PS5 v3 id token is not valid\n- `psn_environment_permission_denied` - PSN Environment permission was denied. This usually means that the Client ID/Secret do not match. This error can also occur for `sp-int` or `prod-qa` if the environment is not whitelisted to access the PSN environment.\n- `refresh_disabled` - Refresh authentication is currently disabled\n- `refresh_token_empty` - Refresh token is empty\n- `refresh_token_not_found` - Refresh token was not found or has expired\n- `refresh_token_invalid_user` - Refresh token refrences invalid user\n- `refresh_token_client_id_mismatch` - Client ID for new token request did not match original token\n- `steam_disabled` - Steam authentication is currently disabled\n- `steam_token_empty` - Steam code (Ticket) is empty\n- `steam_token_exchange_failed` - Problem exchanging code (ticket) for token with Steam\n- `steam_user_vacbanned` - User is VAC banned\n- `steam_user_publisherbanned` - User is publisher banned\n- `steam_user_offline` - User is reporting offline to Steam, causing all Steam tickets to invalidate\n- `steam_token_invalid` - Steam code (Ticket) was reported as invalid by Steam\n- `steam_token_for_wrong_app` - Steam code (Ticket) is for a different Steam Application\n- `twitch_disabled` - Twitch authentication is currently disabled\n- `twitch_token_empty` - Twitch access token is empty\n- `twitch_token_invalid` - Twitch access token is not valid\n- `twitch_keys_not_available` - Twitch keys are not available. Please contact an administrator\n- `twitch_token_exchange_failed` - Problem exchanging code for token with Twitch\n- `xbox_disabled` - Xbox authentication is currently disabled\n- `xbox_xsts_token_empty` - Xbox XSTS token is empty\n- `xbox_xsts_token_invalid` - Xbox XSTS token is not valid\n- `xbox_xtoken_invalid` - Xbox XToken is not valid\n- `xbox_access_token_request_failed` - Problem requesting access token from Xbox\n- `xbox_xsts_token_exchange_failed` - Problem exchanging access token for XSTS token with Xbox\n- `xbox_xtoken_exchange_failed` - Problem exchanging XSTS token for XToken with Xbox\n\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AgreementMessage" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "The service is currently unavailable. Please try again later.", "headers": { "Retry-After": { "description": "indicates how long the user agent should wait before making a follow-up request", "schema": { "type": "int" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBasic": [] } ] } }, "/users/v1/portaltoken/details": { "post": { "tags": [ "Auth" ], "summary": "Get Portal Token Details", "description": "Platform-specific token details. Return data that the platform allows for their tokens.", "operationId": "get_portal_token_details", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PortalTokenDetailsRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Response Get Portal Token Details" } } } }, "403": { "description": "\nError Codes:\n- `internal_error` - An internal error occurred. The request may succeed if retried. If not, contact an administrator.\n- `no_redirects_configured` - No redirect urls setup for oauth.\n- `redirect_uri_does_not_match` - Redirect URI does not match a configured value.\n- `error_occurred_during_exchange` - An error occurred while exchanging a code for token.\n- `failed_to_verify_state` - Failed to verify the state associated with the request.\n- `failed_to_save_state` - Error occurred saving the state.\n- `failed_to_save_tokens` - Problem saving tokens. Contact an administrator\n- `too_many_users` - Account has too many users associated with it. Contact an administrator\n- `user_auth_restricted` - Authentication for this user has been restricted\n- `user_needs_agreements` - User has not accepted all required agreements. See response for list of agreements required\n- `error_retrieving_player_results` - Error retrieving player results\n- `failed_to_retrieve_roles` - Failed to retrieve roles\n- `client_credentials_invalid` - Client Credentials provided to authentication attempt were invalid\n- `authentication_limited` - Authentication is currently limited to accounts that are already logged in. Please try again later\n- `authentication_locked` - Authentication is currently locked. Please try again later\n- `invalid_grant_type` - Grant Type {grant_type} is not supported\n- `user_auth_disabled` - User authentication is not permitted for this policy\n- `client_auth_disabled` - Client authentication is not permitted for this policy\n- `amazon_disabled` - Amazon authentication is currently disabled\n- `amazon_token_empty` - Amazon access token is empty\n- `amazon_invalid_access_token` - Amazon access token is invalid\n- `amazon_token_exchange_failed` - Problem exchanging code for token with Amazon\n- `anon_disabled` - Anon authentication is currently disabled\n- `anon_token_empty` - Anon access token is empty\n- `apple_disabled` - Apple authentication is currently disabled\n- `apple_token_empty` - Apple access token is empty\n- `apple_failed_key_lookup` - Failed to retrieve keys from Apple\n- `apple_token_exchange_failed` - Problem exchanging code for token with Apple\n- `apple_token_key_not_valid` - public key not found\n- `apple_token_not_valid` - Apple access token is not valid\n- `authorization_code_not_found` - Authorization code not found or expired\n- `basic_disabled` - Basic authentication is currently disabled\n- `basic_token_empty` - Basic access token is empty\n- `basic_auth_incorrect_format` - Basic auth should be formatted like `USERNAME:PASSWORD`\n- `basic_auth_credentials_not_found` - Basic auth credentials not found\n- `developer_api_disabled` - Developer API authentication is currently disabled\n- `developer_api_token_empty` - Developer API access token is empty\n- `developer_api_token_invalid` - Developer API access token is invalid or expired\n- `epic_disabled` - Epic authentication is currently disabled\n- `epic_token_empty` - Epic access token is empty\n- `epic_v1_token_key_id_invalid` - Epic v1 token contains an invalid key id\n- `epic_v1_token_invalid` - Epic v1 token is invalid\n- `epic_v2_keys_not_available` - Epic v2 keys are not available. Please contact an administrator\n- `epic_v2_token_invalid` - Epic v2 token is invalid\n- `epic_oauth_token_exchange_failed` - Problem exchanging code for token with Epic\n- `google_disabled` - Google authentication is currently disabled\n- `google_token_empty` - Google access token is empty\n- `google_keys_not_available` - Google keys are not available. Please contact an administrator\n- `google_token_not_valid` - Google access token is not valid\n- `google_token_exchange_failed` - Problem exchanging code for token with Google\n- `nintendo_disabled` - Nintendo authentication is currently disabled\n- `nintendo_token_empty` - Nintendo access token is empty\n- `nintendo_env_credentials_not_found` - Nintendo environment credentials not found\n- `nintendo_access_token_not_valid` - Nintendo access token is not valid\n- `nintendo_no_environment_matches_env_id` - Nintendo environment not found for given environment ID\n- `nintendo_retrieve_client_credentials_failed` - Problem retrieving client credentials from Nintendo. This commonly occurs while converting between NAID and PPID.\n- `nintendo_ppid_conversion_failed` - error during PPID conversion\n- `nintendo_ppid_conversion_too_many_accounts_found` - too many accounts found during PPID conversion\n- `nintendo_ppid_conversion_no_accounts_found` - no accounts found during PPID conversion\n- `nintendo_ppid_missing` - PPID is missing for user\n- `nintendo_ppid_key_not_valid` - Nintendo access token key is not valid\n- `nintendo_service_key_url_not_found` - Nintendo service key url not found. This usually indicates that the corresponding Nintendo environment has a mismatch between Nintendo account URL and Nintendo Service Account URL.\n- `nintendo_service_access_token_not_valid` - Nintendo service access token is not valid\n- `nintendo_service_access_token_for_wrong_app` - Nintendo service access token is for the wrong app\n- `nintendo_oauth_env_not_found` - Nintendo oauth environment not found. Check that the environment is configured correctly.\n- `nintendo_token_exchange_failed` - Problem exchanging code for token with Nintendo\n- `ps4_v1_disabled` - PS4 v1 authentication is currently disabled\n- `ps4_v1_token_empty` - PS4 v1 access token is empty\n- `ps4_v1_token_expired` - PS4 v1 access token is expired\n- `ps4_v1_token_exchange_failed` - Problem exchanging code for token with PS4\n- `ps4_v1_id_token_request_failed` - Problem requesting id token from PS4\n- `ps4_v1_id_token_not_valid` - PS4 v1 id token is not valid\n- `ps4_v1_token_details_disabled` - PS4 v1 token details are disabled\n- `ps4_v1_token_details_request_failed` - Problem requesting token details from PS4\n- `ps4_v3_disabled` - PS4 v3 authentication is currently disabled\n- `ps4_v3_token_details_disabled` - PS4 v3 token details are disabled\n- `ps4_v3_token_empty` - PS4 v3 access token is empty\n- `ps4_v3_id_token_request_failed` - Problem requesting id token from PS4\n- `ps4_v3_id_token_not_valid` - PS4 v3 id token is not valid\n- `ps5_v3_disabled` - PS5 v3 authentication is currently disabled\n- `ps5_v3_token_details_disabled` - PS5 v3 token details are disabled\n- `ps5_v3_token_empty` - PS5 v3 access token is empty\n- `ps5_v3_id_token_request_failed` - Problem requesting id token from PS5\n- `ps5_v3_id_token_not_valid` - PS5 v3 id token is not valid\n- `psn_environment_permission_denied` - PSN Environment permission was denied. This usually means that the Client ID/Secret do not match. This error can also occur for `sp-int` or `prod-qa` if the environment is not whitelisted to access the PSN environment.\n- `refresh_disabled` - Refresh authentication is currently disabled\n- `refresh_token_empty` - Refresh token is empty\n- `refresh_token_not_found` - Refresh token was not found or has expired\n- `refresh_token_invalid_user` - Refresh token refrences invalid user\n- `refresh_token_client_id_mismatch` - Client ID for new token request did not match original token\n- `steam_disabled` - Steam authentication is currently disabled\n- `steam_token_empty` - Steam code (Ticket) is empty\n- `steam_token_exchange_failed` - Problem exchanging code (ticket) for token with Steam\n- `steam_user_vacbanned` - User is VAC banned\n- `steam_user_publisherbanned` - User is publisher banned\n- `steam_user_offline` - User is reporting offline to Steam, causing all Steam tickets to invalidate\n- `steam_token_invalid` - Steam code (Ticket) was reported as invalid by Steam\n- `steam_token_for_wrong_app` - Steam code (Ticket) is for a different Steam Application\n- `twitch_disabled` - Twitch authentication is currently disabled\n- `twitch_token_empty` - Twitch access token is empty\n- `twitch_token_invalid` - Twitch access token is not valid\n- `twitch_keys_not_available` - Twitch keys are not available. Please contact an administrator\n- `twitch_token_exchange_failed` - Problem exchanging code for token with Twitch\n- `xbox_disabled` - Xbox authentication is currently disabled\n- `xbox_xsts_token_empty` - Xbox XSTS token is empty\n- `xbox_xsts_token_invalid` - Xbox XSTS token is not valid\n- `xbox_xtoken_invalid` - Xbox XToken is not valid\n- `xbox_access_token_request_failed` - Problem requesting access token from Xbox\n- `xbox_xsts_token_exchange_failed` - Problem exchanging access token for XSTS token with Xbox\n- `xbox_xtoken_exchange_failed` - Problem exchanging XSTS token for XToken with Xbox\n\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/v1/logout": { "post": { "tags": [ "Auth" ], "summary": "Logout", "description": "Log out a refresh token", "operationId": "logout", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogoutRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/v1/verify": { "post": { "tags": [ "Auth" ], "summary": "Verify", "description": "Verify if an access token is still valid", "operationId": "verify", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/publickeys": { "get": { "tags": [ "Auth" ], "summary": "Get All Public Keys", "description": "Get all current public keys for this auth provider", "operationId": "get_all_public_keys", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicKeyList" } } } } } } }, "/users/v1/publickeys/{key_id}": { "get": { "tags": [ "Auth" ], "summary": "Get Public Key By Id", "description": "Get a current public key by `key_id` for this auth provider.", "operationId": "get_public_key_by_id", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Key Id" }, "name": "key_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublicKey" } } } }, "404": { "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/v1/player/me/uuid": { "get": { "tags": [ "Users" ], "summary": "Get Player Uuid From Player Id For Self", "description": "Get a player's uuid from their id for the active player on the access token.", "operationId": "get_player_uuid_from_player_id_for_self", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "string", "format": "uuid", "title": "Response Get Player Uuid From Player Id For Self" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/player/{player_id}/uuid": { "get": { "tags": [ "Users" ], "summary": "Get Player Uuid From Player Id", "description": "Get a player's uuid from their id.", "operationId": "get_player_uuid_from_player_id", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "string", "format": "uuid", "title": "Response Get Player Uuid From Player Id" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v2/player/me/uuid": { "get": { "tags": [ "Users" ], "summary": "Get Player Uuid From Player Id For Self V2", "description": "Get a player's uuid from their id for the active player on the access token.", "operationId": "get_player_uuid_from_player_id_for_self_v2", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerUuidFromId" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v2/player/{player_id}/uuid": { "get": { "tags": [ "Users" ], "summary": "Get Player Uuid From Player Id V2", "description": "Get a player's uuid from their id.", "operationId": "get_player_uuid_from_player_id_v2", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerUuidFromId" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v2/player/me/id": { "get": { "tags": [ "Users" ], "summary": "Get Player Id From Player Uuid For Self", "description": "Get a player's id from their uuid for the active player on the access token.", "operationId": "get_player_id_from_player_uuid_for_self", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerIdWrapper" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v2/player/{player_uuid}/id": { "get": { "tags": [ "Users" ], "summary": "Get Player Id From Player Uuid", "description": "Get a player's id from their uuid.", "operationId": "get_player_id_from_player_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerIdWrapper" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v2/player/me/links": { "get": { "tags": [ "Users" ], "summary": "Get Player Links For Self", "description": "Get a player's linked portals for the active player on the access token.", "operationId": "get_player_links_for_self", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerLinkedPortalsResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v2/player/{player_uuid}/links": { "get": { "tags": [ "Users" ], "summary": "Get Player Links", "description": "Get a player's linked portals.", "operationId": "get_player_links", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerLinkedPortalsResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/player/{player_id}/linked_portals": { "get": { "tags": [ "Users" ], "summary": "Get Player Linked Portals", "description": "**DEPRECATED** Please use `/v2/player/{player_uuid}/links` instead. Get a player's linked portals.", "operationId": "get_player_linked_portals", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerLinkedPortalsResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/platform-user": { "get": { "tags": [ "Users" ], "summary": "Find Platform User By Id", "description": "Find an existing platform user with their platform identity.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `user:*`, `user:platform:read`", "operationId": "find_platform_user_by_id", "parameters": [ { "description": "Platform to search", "required": true, "schema": { "allOf": [ { "$ref": "#/components/schemas/Platform" } ], "description": "Platform to search" }, "name": "platform", "in": "query" }, { "description": "Platform user ID to search for", "required": true, "schema": { "type": "string", "maxLength": 2048, "title": "Platform User Id", "description": "Platform user ID to search for" }, "name": "platform_user_id", "in": "query" } ], "responses": { "200": { "description": "Platform user was found successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformUserResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Failed to find platform user. See error code and description for further details.\n\n\nError Codes:\n- `user_not_found` - User not found\n\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Users" ], "summary": "Create Platform User By Id", "description": "Create a new platform user from a platform identity.\n\nWARNING: This endpoint does not validate that the provided user ID is valid, and should only be used after validating a user's identity.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `user:*`, `user:platform:create`", "operationId": "create_platform_user_by_id", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatePlatformUserRequest" } } }, "required": true }, "responses": { "201": { "description": "Platform user was created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformUserResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Failed to create platform user. See error code and description for further details.\n\n\nError Codes:\n- `user_already_exists` - User already exists\n\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/player": { "get": { "tags": [ "Users" ], "summary": "Lookup Player By Portal", "description": "Lookup players by various parameters. Note that this does NOT find the active player, or other metadata about the resulting players. It is suggested to call `/v1/player/{player_id}/linked_portals` for each player for that info, if necessary.", "operationId": "lookup_player_by_portal", "parameters": [ { "description": "Lookup players by display names", "required": false, "schema": { "items": { "type": "string", "maxLength": 256 }, "type": "array", "title": "Display Name", "description": "Lookup players by display names", "default": [] }, "name": "display_name", "in": "query" }, { "description": "Lookup players by their portal identity for this platform", "required": false, "deprecated": true, "schema": { "allOf": [ { "$ref": "#/components/schemas/fastapicommon__platforms__Portal" } ], "description": "Lookup players by their portal identity for this platform" }, "name": "identity_platform", "in": "query" }, { "description": "Lookup players by their platform identity. Will override identity_platform if set.", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/Platform" } ], "description": "Lookup players by their platform identity. Will override identity_platform if set." }, "name": "platform", "in": "query" }, { "description": "Lookup players by their Portal Identity", "required": false, "schema": { "items": { "type": "string", "maxLength": 2048 }, "type": "array", "title": "Identities", "description": "Lookup players by their Portal Identity", "default": [] }, "name": "identities", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LookupResults" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v2/player:iterate": { "get": { "tags": [ "Users" ], "summary": "Get Players Paged", "description": "Iterate over all players. This is a paginated API, so you will need to call it multiple times to get all players.\nThere is no guaranteed ordering of players. So if you need to run multiple iterations for comparison, you will need to sort the results.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `user:*`, `user:player:iterate`", "operationId": "get_players_paged", "parameters": [ { "description": "cursor to continue iteration. Leaving this empty will begin a new query", "required": false, "schema": { "type": "string", "maxLength": 4096, "title": "Cursor", "description": "cursor to continue iteration. Leaving this empty will begin a new query", "default": "" }, "name": "cursor", "in": "query" }, { "description": "number of players to return", "required": false, "schema": { "type": "integer", "maximum": 1000, "minimum": 1, "title": "Page Size", "description": "number of players to return", "default": 100 }, "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerIterateResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/person/me/info": { "get": { "tags": [ "Users" ], "summary": "Get Person For Self", "description": "Get information for the person on the access token.", "operationId": "get_person_for_self", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonInfoResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Users" ], "summary": "Update Person For Self", "description": "Update information for the person on the access token.", "operationId": "update_person_for_self", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePersonInfoRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/person/{person_id}/info": { "get": { "tags": [ "Users" ], "summary": "Get Person", "description": "Get information for a person.", "operationId": "get_person", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Person Id" }, "name": "person_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonInfoResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Users" ], "summary": "Update Person", "description": "Update the information for a person.", "operationId": "update_person", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Person Id" }, "name": "person_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePersonInfoRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/person/me/email/list": { "get": { "tags": [ "Users" ], "summary": "Get Person Email List For Self", "description": "Get the email list ids for a person on the access token", "operationId": "get_person_email_list_for_self", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonEmailListResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Users" ], "summary": "Update Person Email List For Self", "description": "Update the email list for person on the access token. This is used to control which emails a person receives.", "operationId": "update_person_email_list_for_self", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonEmailListRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/person/{person_id}/email/list": { "get": { "tags": [ "Users" ], "summary": "Get Person Email List", "description": "Get the email list ids for a person", "operationId": "get_person_email_list", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Person Id" }, "name": "person_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonEmailListResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Users" ], "summary": "Update Person Email List", "description": "Update the email list for a person. This is used to control which emails a person receives.", "operationId": "update_person_email_list", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Person Id" }, "name": "person_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PersonEmailListRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/person/me/purge": { "get": { "tags": [ "Users" ], "summary": "Get Queue Purge Status For Me", "description": "Get the purge status for a person of the access token.", "operationId": "get_queue_purge_status_for_me", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurgeResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Users" ], "summary": "Queue Me For Purge", "description": "Queue person on the access token for purging. This can occur up to a configured amount of time in the future or can occur immediately depending on `suggested_purge_time`.", "operationId": "queue_me_for_purge", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurgeRequest" } } }, "required": true }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurgeResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Users" ], "summary": "Dequeue Me For Purge", "description": "Dequeue the active person of the access token if they are queued to be purged. This will only work if the purge has not already begun.", "operationId": "dequeue_me_for_purge", "responses": { "204": { "description": "Successful Response" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/person/{person_id}/purge": { "get": { "tags": [ "Users" ], "summary": "Get Queue Purge Status For Person", "description": "Get the purge status for a person. \n \nRequired Permissions:\n\n- For any person (including themselves) any of: `purge:*:*`, `purge:person:admin`", "operationId": "get_queue_purge_status_for_person", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Person Id" }, "name": "person_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurgeResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Users" ], "summary": "Queue Person For Purge", "description": "Queue a person for purging. This can occur up to a configured amount of time in the future or can occur immediately depending on `suggested_purge_time`.\n\nRequired Permissions:\n\n- For any person (including themselves) any of: `purge:*:*`, `purge:person:admin`", "operationId": "queue_person_for_purge", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Person Id" }, "name": "person_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurgeRequest" } } }, "required": true }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PurgeResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Users" ], "summary": "Dequeue Person For Purge", "description": "Dequeue a Person that is queued to be purged. This will only work if the purge has not already begun. \n \nRequired Permissions:\n\n- For any person (including themselves) any of: `purge:*:*`, `purge:person:admin`", "operationId": "dequeue_person_for_purge", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Person Id" }, "name": "person_id", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/oauth/login/{platform}": { "get": { "tags": [ "Auth" ], "summary": "Oauth Login", "description": "This endpoint is used to initiate the OAuth authentication flow for a user.\n\nIf the platform has been configured correctly, this endpoint will redirect to the platform's login page. \nOnce the user has logged in, the platform should redirect them to the `/users/v1/oauth/response/{platform}` endpoint for the associated platform. \n\nErrors will be immediately redirected to the requested `redirect_uri` (or the first configured redirect URI, if the requested URI is not configured).", "operationId": "oauth_login", "parameters": [ { "description": "The platform to use for authentication", "required": true, "schema": { "allOf": [ { "$ref": "#/components/schemas/OAuthPortal" } ], "description": "The platform to use for authentication" }, "name": "platform", "in": "path" }, { "description": "A client state value to be forwarded with this request to the redirect URI.", "required": false, "schema": { "type": "string", "maxLength": 4096, "title": "State", "description": "A client state value to be forwarded with this request to the redirect URI." }, "name": "state", "in": "query" }, { "description": "The URI to redirect to after the OAuth flow is complete. If not provided, or does not match one of the preconfigured redirect URIs, the first configured redirect URI will be used.", "required": false, "schema": { "type": "string", "title": "Redirect Uri", "description": "The URI to redirect to after the OAuth flow is complete. If not provided, or does not match one of the preconfigured redirect URIs, the first configured redirect URI will be used." }, "name": "redirect_uri", "in": "query" }, { "required": false, "schema": { "type": "string", "title": "User-Agent" }, "name": "user-agent", "in": "header" }, { "description": "IP Address hint", "required": false, "schema": { "type": "string", "maxLength": 32, "title": "X-Rh-Client-Addr", "description": "IP Address hint" }, "name": "x-rh-client-addr", "in": "header" } ], "responses": { "307": { "description": "Redirect to next step in OAuth flow", "headers": { "location": { "description": "\nURL that the user should be redirected to complete the next step of the OAuth flow.\n\nRedirects to the `redirect_uri` and may include the following query parameters:\n- `state`: The state value that was provided in the original request.\n- `error_code_v2`: The error code for the error that occurred during the OAuth flow. May (but is not guaranteed to) contain one of the following:\n - `internal_error` - An internal error occurred. The request may succeed if retried. If not, contact an administrator.\n - `no_redirects_configured` - No redirect urls setup for oauth.\n - `redirect_uri_does_not_match` - Redirect URI does not match a configured value.\n - `error_occurred_during_exchange` - An error occurred while exchanging a code for token.\n - `failed_to_verify_state` - Failed to verify the state associated with the request.\n - `failed_to_save_state` - Error occurred saving the state.\n - `failed_to_save_tokens` - Problem saving tokens. Contact an administrator\n - `too_many_users` - Account has too many users associated with it. Contact an administrator\n - `user_auth_restricted` - Authentication for this user has been restricted\n - `user_needs_agreements` - User has not accepted all required agreements. See response for list of agreements required\n - `error_retrieving_player_results` - Error retrieving player results\n - `failed_to_retrieve_roles` - Failed to retrieve roles\n - `client_credentials_invalid` - Client Credentials provided to authentication attempt were invalid\n - `authentication_limited` - Authentication is currently limited to accounts that are already logged in. Please try again later\n - `authentication_locked` - Authentication is currently locked. Please try again later\n - `invalid_grant_type` - Grant Type {grant_type} is not supported\n - `user_auth_disabled` - User authentication is not permitted for this policy\n - `client_auth_disabled` - Client authentication is not permitted for this policy\n - `amazon_disabled` - Amazon authentication is currently disabled\n - `amazon_token_empty` - Amazon access token is empty\n - `amazon_invalid_access_token` - Amazon access token is invalid\n - `amazon_token_exchange_failed` - Problem exchanging code for token with Amazon\n - `anon_disabled` - Anon authentication is currently disabled\n - `anon_token_empty` - Anon access token is empty\n - `apple_disabled` - Apple authentication is currently disabled\n - `apple_token_empty` - Apple access token is empty\n - `apple_failed_key_lookup` - Failed to retrieve keys from Apple\n - `apple_token_exchange_failed` - Problem exchanging code for token with Apple\n - `apple_token_key_not_valid` - public key not found\n - `apple_token_not_valid` - Apple access token is not valid\n - `authorization_code_not_found` - Authorization code not found or expired\n - `basic_disabled` - Basic authentication is currently disabled\n - `basic_token_empty` - Basic access token is empty\n - `basic_auth_incorrect_format` - Basic auth should be formatted like `USERNAME:PASSWORD`\n - `basic_auth_credentials_not_found` - Basic auth credentials not found\n - `developer_api_disabled` - Developer API authentication is currently disabled\n - `developer_api_token_empty` - Developer API access token is empty\n - `developer_api_token_invalid` - Developer API access token is invalid or expired\n - `epic_disabled` - Epic authentication is currently disabled\n - `epic_token_empty` - Epic access token is empty\n - `epic_v1_token_key_id_invalid` - Epic v1 token contains an invalid key id\n - `epic_v1_token_invalid` - Epic v1 token is invalid\n - `epic_v2_keys_not_available` - Epic v2 keys are not available. Please contact an administrator\n - `epic_v2_token_invalid` - Epic v2 token is invalid\n - `epic_oauth_token_exchange_failed` - Problem exchanging code for token with Epic\n - `google_disabled` - Google authentication is currently disabled\n - `google_token_empty` - Google access token is empty\n - `google_keys_not_available` - Google keys are not available. Please contact an administrator\n - `google_token_not_valid` - Google access token is not valid\n - `google_token_exchange_failed` - Problem exchanging code for token with Google\n - `nintendo_disabled` - Nintendo authentication is currently disabled\n - `nintendo_token_empty` - Nintendo access token is empty\n - `nintendo_env_credentials_not_found` - Nintendo environment credentials not found\n - `nintendo_access_token_not_valid` - Nintendo access token is not valid\n - `nintendo_no_environment_matches_env_id` - Nintendo environment not found for given environment ID\n - `nintendo_retrieve_client_credentials_failed` - Problem retrieving client credentials from Nintendo. This commonly occurs while converting between NAID and PPID.\n - `nintendo_ppid_conversion_failed` - error during PPID conversion\n - `nintendo_ppid_conversion_too_many_accounts_found` - too many accounts found during PPID conversion\n - `nintendo_ppid_conversion_no_accounts_found` - no accounts found during PPID conversion\n - `nintendo_ppid_missing` - PPID is missing for user\n - `nintendo_ppid_key_not_valid` - Nintendo access token key is not valid\n - `nintendo_service_key_url_not_found` - Nintendo service key url not found. This usually indicates that the corresponding Nintendo environment has a mismatch between Nintendo account URL and Nintendo Service Account URL.\n - `nintendo_service_access_token_not_valid` - Nintendo service access token is not valid\n - `nintendo_service_access_token_for_wrong_app` - Nintendo service access token is for the wrong app\n - `nintendo_oauth_env_not_found` - Nintendo oauth environment not found. Check that the environment is configured correctly.\n - `nintendo_token_exchange_failed` - Problem exchanging code for token with Nintendo\n - `ps4_v1_disabled` - PS4 v1 authentication is currently disabled\n - `ps4_v1_token_empty` - PS4 v1 access token is empty\n - `ps4_v1_token_expired` - PS4 v1 access token is expired\n - `ps4_v1_token_exchange_failed` - Problem exchanging code for token with PS4\n - `ps4_v1_id_token_request_failed` - Problem requesting id token from PS4\n - `ps4_v1_id_token_not_valid` - PS4 v1 id token is not valid\n - `ps4_v1_token_details_disabled` - PS4 v1 token details are disabled\n - `ps4_v1_token_details_request_failed` - Problem requesting token details from PS4\n - `ps4_v3_disabled` - PS4 v3 authentication is currently disabled\n - `ps4_v3_token_details_disabled` - PS4 v3 token details are disabled\n - `ps4_v3_token_empty` - PS4 v3 access token is empty\n - `ps4_v3_id_token_request_failed` - Problem requesting id token from PS4\n - `ps4_v3_id_token_not_valid` - PS4 v3 id token is not valid\n - `ps5_v3_disabled` - PS5 v3 authentication is currently disabled\n - `ps5_v3_token_details_disabled` - PS5 v3 token details are disabled\n - `ps5_v3_token_empty` - PS5 v3 access token is empty\n - `ps5_v3_id_token_request_failed` - Problem requesting id token from PS5\n - `ps5_v3_id_token_not_valid` - PS5 v3 id token is not valid\n - `psn_environment_permission_denied` - PSN Environment permission was denied. This usually means that the Client ID/Secret do not match. This error can also occur for `sp-int` or `prod-qa` if the environment is not whitelisted to access the PSN environment.\n - `refresh_disabled` - Refresh authentication is currently disabled\n - `refresh_token_empty` - Refresh token is empty\n - `refresh_token_not_found` - Refresh token was not found or has expired\n - `refresh_token_invalid_user` - Refresh token refrences invalid user\n - `refresh_token_client_id_mismatch` - Client ID for new token request did not match original token\n - `steam_disabled` - Steam authentication is currently disabled\n - `steam_token_empty` - Steam code (Ticket) is empty\n - `steam_token_exchange_failed` - Problem exchanging code (ticket) for token with Steam\n - `steam_user_vacbanned` - User is VAC banned\n - `steam_user_publisherbanned` - User is publisher banned\n - `steam_user_offline` - User is reporting offline to Steam, causing all Steam tickets to invalidate\n - `steam_token_invalid` - Steam code (Ticket) was reported as invalid by Steam\n - `steam_token_for_wrong_app` - Steam code (Ticket) is for a different Steam Application\n - `twitch_disabled` - Twitch authentication is currently disabled\n - `twitch_token_empty` - Twitch access token is empty\n - `twitch_token_invalid` - Twitch access token is not valid\n - `twitch_keys_not_available` - Twitch keys are not available. Please contact an administrator\n - `twitch_token_exchange_failed` - Problem exchanging code for token with Twitch\n - `xbox_disabled` - Xbox authentication is currently disabled\n - `xbox_xsts_token_empty` - Xbox XSTS token is empty\n - `xbox_xsts_token_invalid` - Xbox XSTS token is not valid\n - `xbox_xtoken_invalid` - Xbox XToken is not valid\n - `xbox_access_token_request_failed` - Problem requesting access token from Xbox\n - `xbox_xsts_token_exchange_failed` - Problem exchanging access token for XSTS token with Xbox\n - `xbox_xtoken_exchange_failed` - Problem exchanging XSTS token for XToken with Xbox\n\n- `error_description`: The description for the error that occurred during the OAuth flow.\n- `error_code`: ***DEPRECATED*** - Use `error_code_v2` instead. May (but is not guaranteed to) contain one of the following:\n - `NO_CODE_IN_REQUEST` - No code in request.\n - `NO_REDIRECTS_CONFIGURED` - No redirect urls setup for oauth.\n - `REDIRECT_URI_DOES_NOT_MATCH` - Redirect URI does not match a configured value.\n - `FAILED_TO_VERIFY_STATE` - Failed to verify the state associated with the request.\n - `FAILED_TO_SAVE_STATE` - Error occurred saving the state.\n - `FAILED_TO_SAVE_TOKENS` - Failed to save tokens.\n - `PORTAL_PROVIDER_DISABLED` - OAuth provider is disabled.\n - `ERROR_OCCURRED_DURING_EXCHANGE` - An error occurred while exchanging a code for token.\n\n", "schema": { "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/v1/oauth/response/{platform}": { "get": { "tags": [ "Auth" ], "summary": "Oauth Response", "description": "Handle OAuth response from the platform. Validates the response, and generates an authorization_code for the user. The authorization_code can be used with the `/users/v1/oauth/token` endpoint to get an access token for the user.", "operationId": "oauth_response", "parameters": [ { "description": "The platform to use for authentication", "required": true, "schema": { "allOf": [ { "$ref": "#/components/schemas/OAuthPortal" } ], "description": "The platform to use for authentication" }, "name": "platform", "in": "path" }, { "description": "The code or token from the platform that can be used to validate the user's identity", "required": false, "schema": { "type": "string", "title": "Code", "description": "The code or token from the platform that can be used to validate the user's identity", "default": "" }, "name": "code", "in": "query" }, { "description": "The state value sent to the platform provider that is used to continue with the oauth request.", "required": false, "schema": { "type": "string", "title": "State", "description": "The state value sent to the platform provider that is used to continue with the oauth request.", "default": "" }, "name": "state", "in": "query" }, { "required": false, "schema": { "type": "string", "title": "User-Agent" }, "name": "user-agent", "in": "header" }, { "description": "IP Address hint", "required": false, "schema": { "type": "string", "maxLength": 32, "title": "X-Rh-Client-Addr", "description": "IP Address hint" }, "name": "x-rh-client-addr", "in": "header" } ], "responses": { "307": { "description": "Redirect to next step in OAuth flow", "headers": { "location": { "description": "\nURL that the user should be redirected to complete the next step of the OAuth flow.\n\nRedirects to the `redirect_uri` and may include the following query parameters:\n- `code`: The authorization_code that can be exchanged for an access token for the user.\n- `state`: The state value that was provided in the original request.\n- `error_code_v2`: The error code for the error that occurred during the OAuth flow. May (but is not guaranteed to) contain one of the following:\n - `internal_error` - An internal error occurred. The request may succeed if retried. If not, contact an administrator.\n - `no_redirects_configured` - No redirect urls setup for oauth.\n - `redirect_uri_does_not_match` - Redirect URI does not match a configured value.\n - `error_occurred_during_exchange` - An error occurred while exchanging a code for token.\n - `failed_to_verify_state` - Failed to verify the state associated with the request.\n - `failed_to_save_state` - Error occurred saving the state.\n - `failed_to_save_tokens` - Problem saving tokens. Contact an administrator\n - `too_many_users` - Account has too many users associated with it. Contact an administrator\n - `user_auth_restricted` - Authentication for this user has been restricted\n - `user_needs_agreements` - User has not accepted all required agreements. See response for list of agreements required\n - `error_retrieving_player_results` - Error retrieving player results\n - `failed_to_retrieve_roles` - Failed to retrieve roles\n - `client_credentials_invalid` - Client Credentials provided to authentication attempt were invalid\n - `authentication_limited` - Authentication is currently limited to accounts that are already logged in. Please try again later\n - `authentication_locked` - Authentication is currently locked. Please try again later\n - `invalid_grant_type` - Grant Type {grant_type} is not supported\n - `user_auth_disabled` - User authentication is not permitted for this policy\n - `client_auth_disabled` - Client authentication is not permitted for this policy\n - `amazon_disabled` - Amazon authentication is currently disabled\n - `amazon_token_empty` - Amazon access token is empty\n - `amazon_invalid_access_token` - Amazon access token is invalid\n - `amazon_token_exchange_failed` - Problem exchanging code for token with Amazon\n - `anon_disabled` - Anon authentication is currently disabled\n - `anon_token_empty` - Anon access token is empty\n - `apple_disabled` - Apple authentication is currently disabled\n - `apple_token_empty` - Apple access token is empty\n - `apple_failed_key_lookup` - Failed to retrieve keys from Apple\n - `apple_token_exchange_failed` - Problem exchanging code for token with Apple\n - `apple_token_key_not_valid` - public key not found\n - `apple_token_not_valid` - Apple access token is not valid\n - `authorization_code_not_found` - Authorization code not found or expired\n - `basic_disabled` - Basic authentication is currently disabled\n - `basic_token_empty` - Basic access token is empty\n - `basic_auth_incorrect_format` - Basic auth should be formatted like `USERNAME:PASSWORD`\n - `basic_auth_credentials_not_found` - Basic auth credentials not found\n - `developer_api_disabled` - Developer API authentication is currently disabled\n - `developer_api_token_empty` - Developer API access token is empty\n - `developer_api_token_invalid` - Developer API access token is invalid or expired\n - `epic_disabled` - Epic authentication is currently disabled\n - `epic_token_empty` - Epic access token is empty\n - `epic_v1_token_key_id_invalid` - Epic v1 token contains an invalid key id\n - `epic_v1_token_invalid` - Epic v1 token is invalid\n - `epic_v2_keys_not_available` - Epic v2 keys are not available. Please contact an administrator\n - `epic_v2_token_invalid` - Epic v2 token is invalid\n - `epic_oauth_token_exchange_failed` - Problem exchanging code for token with Epic\n - `google_disabled` - Google authentication is currently disabled\n - `google_token_empty` - Google access token is empty\n - `google_keys_not_available` - Google keys are not available. Please contact an administrator\n - `google_token_not_valid` - Google access token is not valid\n - `google_token_exchange_failed` - Problem exchanging code for token with Google\n - `nintendo_disabled` - Nintendo authentication is currently disabled\n - `nintendo_token_empty` - Nintendo access token is empty\n - `nintendo_env_credentials_not_found` - Nintendo environment credentials not found\n - `nintendo_access_token_not_valid` - Nintendo access token is not valid\n - `nintendo_no_environment_matches_env_id` - Nintendo environment not found for given environment ID\n - `nintendo_retrieve_client_credentials_failed` - Problem retrieving client credentials from Nintendo. This commonly occurs while converting between NAID and PPID.\n - `nintendo_ppid_conversion_failed` - error during PPID conversion\n - `nintendo_ppid_conversion_too_many_accounts_found` - too many accounts found during PPID conversion\n - `nintendo_ppid_conversion_no_accounts_found` - no accounts found during PPID conversion\n - `nintendo_ppid_missing` - PPID is missing for user\n - `nintendo_ppid_key_not_valid` - Nintendo access token key is not valid\n - `nintendo_service_key_url_not_found` - Nintendo service key url not found. This usually indicates that the corresponding Nintendo environment has a mismatch between Nintendo account URL and Nintendo Service Account URL.\n - `nintendo_service_access_token_not_valid` - Nintendo service access token is not valid\n - `nintendo_service_access_token_for_wrong_app` - Nintendo service access token is for the wrong app\n - `nintendo_oauth_env_not_found` - Nintendo oauth environment not found. Check that the environment is configured correctly.\n - `nintendo_token_exchange_failed` - Problem exchanging code for token with Nintendo\n - `ps4_v1_disabled` - PS4 v1 authentication is currently disabled\n - `ps4_v1_token_empty` - PS4 v1 access token is empty\n - `ps4_v1_token_expired` - PS4 v1 access token is expired\n - `ps4_v1_token_exchange_failed` - Problem exchanging code for token with PS4\n - `ps4_v1_id_token_request_failed` - Problem requesting id token from PS4\n - `ps4_v1_id_token_not_valid` - PS4 v1 id token is not valid\n - `ps4_v1_token_details_disabled` - PS4 v1 token details are disabled\n - `ps4_v1_token_details_request_failed` - Problem requesting token details from PS4\n - `ps4_v3_disabled` - PS4 v3 authentication is currently disabled\n - `ps4_v3_token_details_disabled` - PS4 v3 token details are disabled\n - `ps4_v3_token_empty` - PS4 v3 access token is empty\n - `ps4_v3_id_token_request_failed` - Problem requesting id token from PS4\n - `ps4_v3_id_token_not_valid` - PS4 v3 id token is not valid\n - `ps5_v3_disabled` - PS5 v3 authentication is currently disabled\n - `ps5_v3_token_details_disabled` - PS5 v3 token details are disabled\n - `ps5_v3_token_empty` - PS5 v3 access token is empty\n - `ps5_v3_id_token_request_failed` - Problem requesting id token from PS5\n - `ps5_v3_id_token_not_valid` - PS5 v3 id token is not valid\n - `psn_environment_permission_denied` - PSN Environment permission was denied. This usually means that the Client ID/Secret do not match. This error can also occur for `sp-int` or `prod-qa` if the environment is not whitelisted to access the PSN environment.\n - `refresh_disabled` - Refresh authentication is currently disabled\n - `refresh_token_empty` - Refresh token is empty\n - `refresh_token_not_found` - Refresh token was not found or has expired\n - `refresh_token_invalid_user` - Refresh token refrences invalid user\n - `refresh_token_client_id_mismatch` - Client ID for new token request did not match original token\n - `steam_disabled` - Steam authentication is currently disabled\n - `steam_token_empty` - Steam code (Ticket) is empty\n - `steam_token_exchange_failed` - Problem exchanging code (ticket) for token with Steam\n - `steam_user_vacbanned` - User is VAC banned\n - `steam_user_publisherbanned` - User is publisher banned\n - `steam_user_offline` - User is reporting offline to Steam, causing all Steam tickets to invalidate\n - `steam_token_invalid` - Steam code (Ticket) was reported as invalid by Steam\n - `steam_token_for_wrong_app` - Steam code (Ticket) is for a different Steam Application\n - `twitch_disabled` - Twitch authentication is currently disabled\n - `twitch_token_empty` - Twitch access token is empty\n - `twitch_token_invalid` - Twitch access token is not valid\n - `twitch_keys_not_available` - Twitch keys are not available. Please contact an administrator\n - `twitch_token_exchange_failed` - Problem exchanging code for token with Twitch\n - `xbox_disabled` - Xbox authentication is currently disabled\n - `xbox_xsts_token_empty` - Xbox XSTS token is empty\n - `xbox_xsts_token_invalid` - Xbox XSTS token is not valid\n - `xbox_xtoken_invalid` - Xbox XToken is not valid\n - `xbox_access_token_request_failed` - Problem requesting access token from Xbox\n - `xbox_xsts_token_exchange_failed` - Problem exchanging access token for XSTS token with Xbox\n - `xbox_xtoken_exchange_failed` - Problem exchanging XSTS token for XToken with Xbox\n\n- `error_description`: The description for the error that occurred during the OAuth flow.\n- `error_code`: ***DEPRECATED*** - Use `error_code_v2` instead. May (but is not guaranteed to) contain one of the following:\n - `NO_CODE_IN_REQUEST` - No code in request.\n - `NO_REDIRECTS_CONFIGURED` - No redirect urls setup for oauth.\n - `REDIRECT_URI_DOES_NOT_MATCH` - Redirect URI does not match a configured value.\n - `FAILED_TO_VERIFY_STATE` - Failed to verify the state associated with the request.\n - `FAILED_TO_SAVE_STATE` - Error occurred saving the state.\n - `FAILED_TO_SAVE_TOKENS` - Failed to save tokens.\n - `PORTAL_PROVIDER_DISABLED` - OAuth provider is disabled.\n - `ERROR_OCCURRED_DURING_EXCHANGE` - An error occurred while exchanging a code for token.\n\n", "schema": { "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/users/v1/oauth/token": { "post": { "tags": [ "Auth" ], "summary": "Oauth Token Exchange", "description": "Exchange an authorization_code from the `/users/v1/oauth/response/{platform}` endpoint for an access token and refresh token.", "operationId": "oauth_token_exchange", "parameters": [ { "required": false, "schema": { "type": "string", "title": "User-Agent" }, "name": "user-agent", "in": "header" }, { "description": "IP Address hint", "required": false, "schema": { "type": "string", "maxLength": 32, "title": "X-Rh-Client-Addr", "description": "IP Address hint" }, "name": "x-rh-client-addr", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthTokenExchange" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthTokenResponse" } } } }, "403": { "description": "\nError Codes:\n- `authorization_code_not_found`: Authorization code not found or expired\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBasic": [] } ] } }, "/users/v2/oauth/token": { "post": { "tags": [ "Auth" ], "summary": "Token", "description": "OAuth2 Token Endpoint. For more information see: Token Endpoint Spec.", "operationId": "token", "parameters": [ { "required": false, "schema": { "type": "string", "title": "User-Agent" }, "name": "user-agent", "in": "header" }, { "description": "IP Address hint", "required": false, "schema": { "type": "string", "maxLength": 32, "title": "X-Rh-Client-Addr", "description": "IP Address hint" }, "name": "x-rh-client-addr", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBasic": [] } ] } }, "/users/v1/link": { "post": { "tags": [ "Users" ], "summary": "Link", "description": "Link a follower platform user to a leader person.\n \nThe Leader person is found using the following priority:\n\n1. If the `leader_person_id` is provided directly\n2. If the `leader_platform` and `leader_platform_user_id` are provided, the `person_id` of that platform user is used.\n3. If the `scheme` and `credentials` are provided, the person_id of the platform user of credentials is used.\n\nThe Follower platform user is found using the following priority:\n\n1. If the `follower_platform` and `follower_platform_user_id` are provided directly.\n2. If the Authorization header contains a user token, the platform and platform user id from the token are used.\n\nFor leader selection 1,2 or follower selection 1, Required Permissions:\n\n- For any user (including themselves) any of: `user:*`, `user:modify:any`\n\n\n\nNOTE: Whenever you change the link or cross progression status of a user, it is recommended to \nrefresh their access token. Each token does container user information, which may be incorrect after a link or \ncross progression change. There is no guarantee that calling other endpoints will operate on the correct user\nuntil the token has been refreshed.", "operationId": "link", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PlatformUserLinkRequest" } ], "title": "Link Request", "default": {} } } } }, "responses": { "200": { "description": "Successful Response" }, "400": { "description": "Request inputs are not valid\n\n\nError Codes:\n- `account_not_found` - User Account not found\n- `cannot_link_same_player` - Cannot link a player to themselves\n- `follower_already_linked` - Follower is already linked to another person. They must be unlinked before they can be linked again.\n- `follower_has_cross_progression_enabled` - follower must disable cross progression before this operation\n- `follower_has_restrictions` - follower has restrictions that prevent this operation\n- `invalid_token_claims` - Token has missing/invalid claims. Are you using a non-user token on a user endpoint?\n- `leader_has_restrictions` - leader has restrictions that prevent this operation\n- `leader_not_found` - Desired user for the leader of the link was not found\n- `platform_already_linked` - Person is already linked to another user on this platform\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/unlink": { "post": { "tags": [ "Users" ], "summary": "Unlink", "description": "Unlink a platform user from their current person. This will create a new person for the \nplatform user to be associated with.\n\nIf an identity is not provided, the identity in the token will be used.\n\nIf you are modifying a user outside of your person, Required Permissions:\n\n- For any user (including themselves) any of: `user:*`, `user:modify:any`\n\n\n\nNOTE: Whenever you change the link or cross progression status of a user, it is recommended to \nrefresh their access token. Each token does container user information, which may be incorrect after a link or \ncross progression change. There is no guarantee that calling other endpoints will operate on the correct user\nuntil the token has been refreshed.", "operationId": "unlink", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PlatformUserOperationRequest" } ], "title": "Platform Identity", "default": {} } } } }, "responses": { "200": { "description": "Successful Response" }, "400": { "description": "Request inputs are not valid\n\n\nError Codes:\n- `account_not_found` - User Account not found\n- `cannot_modify_person` - You have insufficient permissions to modify this person\n- `cannot_unlink_cross_progression_player` - Cannot unlink the cross progression player\n- `invalid_token_claims` - Token has missing/invalid claims. Are you using a non-user token on a user endpoint?\n- `player_not_linked` - Player is not linked\n- `user_has_restrictions` - user has restrictions that prevent this operation\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/cross-progression/enable": { "post": { "tags": [ "Users" ], "summary": "Enable Cross Progression", "description": "Enable Cross Progression for the player associated with the platform identity. \nWhile cross progression is enabled, all linked users who login will receive a token for the player with cross \nprogression enabled (instead of a token for their platform user's player).\n\nIf an identity is not provided, the identity in the token will be used.\n\nIf you are modifying a user outside of your person, Required Permissions:\n\n- For any user (including themselves) any of: `user:*`, `user:modify:any`\n\n\n\nNOTE: Whenever you change the link or cross progression status of a user, it is recommended to \nrefresh their access token. Each token does container user information, which may be incorrect after a link or \ncross progression change. There is no guarantee that calling other endpoints will operate on the correct user\nuntil the token has been refreshed.", "operationId": "enable_cross_progression", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PlatformUserOperationRequest" } ], "title": "Platform Identity", "default": {} } } } }, "responses": { "200": { "description": "Successful Response" }, "400": { "description": "Request inputs are not valid\n\n\nError Codes:\n- `account_not_found` - User Account not found\n- `already_cross_progression_player` - Player is already the cross progression player\n- `cannot_modify_person` - You have insufficient permissions to modify this person\n- `invalid_token_claims` - Token has missing/invalid claims. Are you using a non-user token on a user endpoint?\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/cross-progression/disable": { "post": { "tags": [ "Users" ], "summary": "Disable Cross Progression", "description": "Disable Cross Progression for a person. While cross progression is disabled, \nall linked users who login will receive a token for the player associated with their platform user.\n \nThe person is found using the following priority:\n\n1. If the `person_id` is provided directly\n2. If the `platform` and `platform_user_id` are provided, the `person_id` of that platform user is used.\n3. If the Authorization header contains a user token, the platform and platform user id from the token are used and the person associated with that user is used.\n\nIf you are modifying a user outside of your person, Required Permissions:\n\n- For any user (including themselves) any of: `user:*`, `user:modify:any`\n\n\n\nNOTE: Whenever you change the link or cross progression status of a user, it is recommended to \nrefresh their access token. Each token does container user information, which may be incorrect after a link or \ncross progression change. There is no guarantee that calling other endpoints will operate on the correct user\nuntil the token has been refreshed.", "operationId": "disable_cross_progression", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PersonOperationRequest" } ], "title": "Person Info", "default": {} } } } }, "responses": { "200": { "description": "Successful Response" }, "400": { "description": "Request inputs are not valid\n\n\nError Codes:\n- `account_not_found` - User Account not found\n- `cannot_modify_person` - You have insufficient permissions to modify this person\n- `invalid_token_claims` - Token has missing/invalid claims. Are you using a non-user token on a user endpoint?\n- `not_cross_progression_player` - Player is not the cross progression player\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/role": { "get": { "tags": [ "Users" ], "summary": "Get All Roles", "description": "Get all current roles. Including their custom_data and login_loot_rewards.\n \nRequired Permissions:\n\n- For any player (including themselves) : `role:read`", "operationId": "get_all_roles", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/Role" }, "type": "array", "title": "Response Get All Roles" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/history/login": { "get": { "tags": [ "Users" ], "summary": "Get Login History", "description": "Get the Login history for a given user\n \nRequired Permissions:\n\n- For any player, person or platform identity (including themselves) any of: `user:*`, `user:audit:any`\n\n- For the player, person or platform identity themselves : `user:audit:self`", "operationId": "get_login_history", "parameters": [ { "description": "The player UUID to audit", "required": false, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid", "description": "The player UUID to audit" }, "name": "player_uuid", "in": "query" }, { "description": "The person ID to audit", "required": false, "schema": { "type": "string", "format": "uuid", "title": "Person Id", "description": "The person ID to audit" }, "name": "person_id", "in": "query" }, { "description": "The platform to audit", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/Platform" } ], "description": "The platform to audit" }, "name": "platform", "in": "query" }, { "description": "The platform user ID to audit", "required": false, "schema": { "type": "string", "maxLength": 2048, "title": "Platform User Id", "description": "The platform user ID to audit" }, "name": "platform_user_id", "in": "query" }, { "description": "Token to retrieve the next page of results", "required": false, "schema": { "type": "string", "title": "Continuation Token", "description": "Token to retrieve the next page of results" }, "name": "continuation_token", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginHistoryPage" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/users/v1/history/link": { "get": { "tags": [ "Users" ], "summary": "Get Link History", "description": "Get the Link history for a given user\n \nRequired Permissions:\n\n- For any player, person or platform identity (including themselves) any of: `user:*`, `user:audit:any`\n\n- For the player, person or platform identity themselves : `user:audit:self`", "operationId": "get_link_history", "parameters": [ { "description": "The player UUID to audit", "required": false, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid", "description": "The player UUID to audit" }, "name": "player_uuid", "in": "query" }, { "description": "The person ID to audit", "required": false, "schema": { "type": "string", "format": "uuid", "title": "Person Id", "description": "The person ID to audit" }, "name": "person_id", "in": "query" }, { "description": "The platform to audit", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/Platform" } ], "description": "The platform to audit" }, "name": "platform", "in": "query" }, { "description": "The platform user ID to audit", "required": false, "schema": { "type": "string", "maxLength": 2048, "title": "Platform User Id", "description": "The platform user ID to audit" }, "name": "platform_user_id", "in": "query" }, { "description": "Token to retrieve the next page of results", "required": false, "schema": { "type": "string", "title": "Continuation Token", "description": "Token to retrieve the next page of results" }, "name": "continuation_token", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserLinkHistory" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/settings/v1/setting_type": { "get": { "tags": [ "Settings" ], "summary": "Get Config For All Setting Types", "description": "Get all setting types and their configuration.\n \nRequired Permissions:\n\n- For any player (including themselves) any of: `setting-config:read`, `setting:*:*`", "operationId": "get_config_for_all_setting_types", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-modified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information", "title": "If-Modified-Since" }, "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/SettingType" }, "title": "Response Get Config For All Setting Types" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/settings/v1/setting_type/{setting_type_id}/v": { "get": { "tags": [ "Settings" ], "summary": "Get Config For Single Setting Type All Versions", "description": "Get a configuration and all versions for a given setting type ID.\n \nRequired Permissions:\n\n- For any player (including themselves) any of: `setting-config:read`, `setting:*:*`", "operationId": "get_config_for_single_setting_type_all_versions", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Setting Type Id" } }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-modified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information", "title": "If-Modified-Since" }, "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/SettingTypeVersion" }, "title": "Response Get Config For Single Setting Type All Versions" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/settings/v1/setting_type/{setting_type_id}/v/{setting_version_id}": { "get": { "tags": [ "Settings" ], "summary": "Get Config For Single Setting Type And Version", "description": "Get a specific version of a specific setting type.\n \nRequired Permissions:\n\n- For any player (including themselves) any of: `setting-config:read`, `setting:*:*`", "operationId": "get_config_for_single_setting_type_and_version", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Setting Type Id" } }, { "name": "setting_version_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Setting Version Id" } }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-modified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information", "title": "If-Modified-Since" }, "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingTypeVersion" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n- `setting_version_id_not_found` - The setting Version was not found for that type\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/settings/v2/player/me/setting_type/{setting_type_id}/key": { "get": { "tags": [ "Settings" ], "summary": "Get All Player Uuid Settings For Setting Type Self", "description": "Get a list of all player setting documents for a specific Setting Type\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:read`\n\n- For the player themselves : `setting:read:self`", "operationId": "get_all_player_uuid_settings_for_setting_type_self", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to get settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to get settings for. Must be one of the known setting types" }, { "name": "key", "in": "query", "required": false, "schema": { "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 256 }, "description": "Setting Key to get settings for. If not specified, all settings for the setting type will be returned", "title": "Key" }, "description": "Setting Key to get settings for. If not specified, all settings for the setting type will be returned" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-modified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information", "title": "If-Modified-Since" }, "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/SettingData" }, "title": "Response Get All Player Uuid Settings For Setting Type Self" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Settings" ], "summary": "Delete All Player Uuid Settings For Setting Type Self", "description": "Delete all player setting documents for a specific type\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:write`\n\n- For the player themselves : `setting:write:self`", "operationId": "delete_all_player_uuid_settings_for_setting_type_self", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to delete settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to delete settings for. Must be one of the known setting types" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n- `does_not_exist` - Setting Key(s) do not exist\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/settings/v2/player/{player_uuid}/setting_type/{setting_type_id}/key": { "get": { "tags": [ "Settings" ], "summary": "Get All Player Uuid Settings For Setting Type", "description": "Get a list of all player setting documents for a specific Setting Type\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:read`\n\n- For the player themselves : `setting:read:self`", "operationId": "get_all_player_uuid_settings_for_setting_type", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "description": "Player to get settings for", "title": "Player Uuid" }, "description": "Player to get settings for" }, { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to get settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to get settings for. Must be one of the known setting types" }, { "name": "key", "in": "query", "required": false, "schema": { "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 256 }, "description": "Setting Key to get settings for. If not specified, all settings for the setting type will be returned", "title": "Key" }, "description": "Setting Key to get settings for. If not specified, all settings for the setting type will be returned" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-modified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information", "title": "If-Modified-Since" }, "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/SettingData" }, "title": "Response Get All Player Uuid Settings For Setting Type" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Settings" ], "summary": "Delete All Player Uuid Settings For Setting Type", "description": "Delete all player setting documents for a specific type\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:write`\n\n- For the player themselves : `setting:write:self`", "operationId": "delete_all_player_uuid_settings_for_setting_type", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "description": "Player to delete setting for", "title": "Player Uuid" }, "description": "Player to delete setting for" }, { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to delete settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to delete settings for. Must be one of the known setting types" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n- `does_not_exist` - Setting Key(s) do not exist\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/settings/v2/player/me/setting_type/{setting_type_id}/key/{key}": { "get": { "tags": [ "Settings" ], "summary": "Get Single Player Uuid Setting Self", "description": "Get a single player setting document\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:read`\n\n- For the player themselves : `setting:read:self`", "operationId": "get_single_player_uuid_setting_self", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to get settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to get settings for. Must be one of the known setting types" }, { "name": "key", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Key to get settings for", "title": "Key" }, "description": "Setting Key to get settings for" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-modified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information", "title": "If-Modified-Since" }, "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingData" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n- `not_found` - The setting key was not found\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Settings" ], "summary": "Set Single Player Uuid Setting Self", "description": "Update the value of a single player setting document.\n \nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:write`\n\n- For the player themselves : `setting:write:self`\n\n\nIf Legacy types are enabled, to maintain compatibility with legacy applications, the following settings have special-case handling:\n* Setting Type `case` - Version `1` - key `create` - creates a new case set and returns the new key and document in the response. \n* Setting Type `case` - Version `1` - key is integer - Modify an existing case set. If it does not exist, a 404 response with the `does_not_exist` error code. \n* Setting Type `loadout` - Version `1` - key `create` - creates a new loadout and returns the new key and document in the response. All items keys will be given a new key \n* Setting Type `loadout` - Version `1` - key is integer - Modify an existing loadout. If it does not exist, a 404 response with the `does_not_exist` error code. When modifying loadout items, item keys that convert into integers/longs are treated as updates (and will error the update if they are not valid), all others are treated as creates and will be given a new key.", "operationId": "set_single_player_uuid_setting_self", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to update settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to update settings for. Must be one of the known setting types" }, { "name": "key", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Key to update setting for. Must conform to the setting type key format", "title": "Key" }, "description": "Setting Key to update setting for. Must conform to the setting type key format" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetSinglePlayerSettingRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/SettingData" }, "title": "Response Set Single Player Uuid Setting Self" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Settings" ], "summary": "Delete Single Player Uuid Setting Self", "description": "Delete a single player setting document\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:write`\n\n- For the player themselves : `setting:write:self`", "operationId": "delete_single_player_uuid_setting_self", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to delete settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to delete settings for. Must be one of the known setting types" }, { "name": "key", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Key to delete setting for", "title": "Key" }, "description": "Setting Key to delete setting for" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n- `does_not_exist` - Setting Key(s) do not exist\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/settings/v2/player/{player_uuid}/setting_type/{setting_type_id}/key/{key}": { "get": { "tags": [ "Settings" ], "summary": "Get Single Player Uuid Setting", "description": "Get a single player setting document\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:read`\n\n- For the player themselves : `setting:read:self`", "operationId": "get_single_player_uuid_setting", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "description": "Player to get settings for", "title": "Player Uuid" }, "description": "Player to get settings for" }, { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to get settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to get settings for. Must be one of the known setting types" }, { "name": "key", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Key to get settings for", "title": "Key" }, "description": "Setting Key to get settings for" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-modified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information", "title": "If-Modified-Since" }, "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingData" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n- `not_found` - The setting key was not found\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Settings" ], "summary": "Set Single Player Uuid Setting", "description": "Update the value of a single player setting document.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:write`\n\n- For the player themselves : `setting:write:self`\n\n\nIf Legacy types are enabled, to maintain compatibility with legacy applications, the following settings have special-case handling:\n* Setting Type `case` - Version `1` - key `create` - creates a new case set and returns the new key and document in the response. \n* Setting Type `case` - Version `1` - key is integer - Modify an existing case set. If it does not exist, a 404 response with the `does_not_exist` error code. \n* Setting Type `loadout` - Version `1` - key `create` - creates a new loadout and returns the new key and document in the response. All items keys will be given a new key \n* Setting Type `loadout` - Version `1` - key is integer - Modify an existing loadout. If it does not exist, a 404 response with the `does_not_exist` error code. When modifying loadout items, item keys that convert into integers/longs are treated as updates (and will error the update if they are not valid), all others are treated as creates and will be given a new key.", "operationId": "set_single_player_uuid_setting", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "description": "Player to update setting for", "title": "Player Uuid" }, "description": "Player to update setting for" }, { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to update settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to update settings for. Must be one of the known setting types" }, { "name": "key", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Key to update setting for. Must conform to the setting type key format", "title": "Key" }, "description": "Setting Key to update setting for. Must conform to the setting type key format" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetSinglePlayerSettingRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/SettingData" }, "title": "Response Set Single Player Uuid Setting" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Settings" ], "summary": "Delete Single Player Uuid Setting", "description": "Delete a single player setting document\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:write`\n\n- For the player themselves : `setting:write:self`", "operationId": "delete_single_player_uuid_setting", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "description": "Player to delete setting for", "title": "Player Uuid" }, "description": "Player to delete setting for" }, { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to delete settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to delete settings for. Must be one of the known setting types" }, { "name": "key", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Key to delete setting for", "title": "Key" }, "description": "Setting Key to delete setting for" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n- `does_not_exist` - Setting Key(s) do not exist\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/settings/v1/player/{player_id}/setting_type/{setting_type_id}/key/{key}": { "get": { "tags": [ "Settings" ], "summary": "Get Single Player Id Setting", "description": "**DEPRECATED** - Use v2 instead. Get a single player setting document\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:read`\n\n- For the player themselves : `setting:read:self`", "operationId": "get_single_player_id_setting", "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_id", "in": "path", "required": true, "schema": { "type": "integer", "description": "Player to get settings for", "title": "Player Id" }, "description": "Player to get settings for" }, { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to get settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to get settings for. Must be one of the known setting types" }, { "name": "key", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Key to get settings for", "title": "Key" }, "description": "Setting Key to get settings for" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-modified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information", "title": "If-Modified-Since" }, "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingData" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n- `not_found` - The setting key was not found\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Settings" ], "summary": "Set Single Player Id Setting", "description": "**DEPRECATED** - Use the v2 endpoint instead. This endpoint will be removed in a future release. Update the value of a single player setting document.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:write`\n\n- For the player themselves : `setting:write:self`\n\n\nIf Legacy types are enabled, to maintain compatibility with legacy applications, the following settings have special-case handling:\n* Setting Type `case` - Version `1` - key `create` - creates a new case set and returns the new key and document in the response. \n* Setting Type `case` - Version `1` - key is integer - Modify an existing case set. If it does not exist, a 404 response with the `does_not_exist` error code. \n* Setting Type `loadout` - Version `1` - key `create` - creates a new loadout and returns the new key and document in the response. All items keys will be given a new key \n* Setting Type `loadout` - Version `1` - key is integer - Modify an existing loadout. If it does not exist, a 404 response with the `does_not_exist` error code. When modifying loadout items, item keys that convert into integers/longs are treated as updates (and will error the update if they are not valid), all others are treated as creates and will be given a new key.", "operationId": "set_single_player_id_setting", "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_id", "in": "path", "required": true, "schema": { "type": "integer", "description": "Player to update setting for", "title": "Player Id" }, "description": "Player to update setting for" }, { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to update settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to update settings for. Must be one of the known setting types" }, { "name": "key", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Key to update setting for. Must conform to the setting type key format", "title": "Key" }, "description": "Setting Key to update setting for. Must conform to the setting type key format" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetSinglePlayerSettingRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/SettingData" }, "title": "Response Set Single Player Id Setting" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Settings" ], "summary": "Delete Single Player Id Setting", "description": "**DEPRECATED** - Use v2 instead. Delete a single player setting document\n \nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:write`\n\n- For the player themselves : `setting:write:self`", "operationId": "delete_single_player_id_setting", "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_id", "in": "path", "required": true, "schema": { "type": "integer", "description": "Player to delete setting for", "title": "Player Id" }, "description": "Player to delete setting for" }, { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to delete settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to delete settings for. Must be one of the known setting types" }, { "name": "key", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Key to delete setting for", "title": "Key" }, "description": "Setting Key to delete setting for" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n- `does_not_exist` - Setting Key(s) do not exist\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/settings/v1/player/{player_id}/setting_type/{setting_type_id}/key": { "get": { "tags": [ "Settings" ], "summary": "Get All Player Id Settings For Setting Type", "description": "**DEPRECATED** - Use v2 instead. Get a list of all player setting documents for a specific Setting Type.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:read`\n\n- For the player themselves : `setting:read:self`", "operationId": "get_all_player_id_settings_for_setting_type", "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_id", "in": "path", "required": true, "schema": { "type": "integer", "description": "Player to get settings for", "title": "Player Id" }, "description": "Player to get settings for" }, { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "description": "Setting Type to get settings for. Must be one of the known setting types", "title": "Setting Type Id" }, "description": "Setting Type to get settings for. Must be one of the known setting types" }, { "name": "key", "in": "query", "required": false, "schema": { "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 256 }, "description": "Setting Key to get settings for. If not specified, all settings for the setting type will be returned", "title": "Key" }, "description": "Setting Key to get settings for. If not specified, all settings for the setting type will be returned" }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-modified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information", "title": "If-Modified-Since" }, "description": "Precondition check if the resource's Last-Modified date is newer than the provided date. Ignored if the If-None-Match header is provided. Only valid for GET/HEAD endpoints.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-modified-since for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/SettingData" }, "title": "Response Get All Player Id Settings For Setting Type" } } }, "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "304": { "description": "The resource has not been modified from the provided preconditions.", "headers": { "ETag": { "schema": { "type": "string" }, "description": "The ETag for the resource. Used for caching and preconditions." }, "Last-Modified": { "schema": { "type": "string", "format": "date-time" }, "description": "The Last-Modified date for the resource. Used for caching and preconditions." } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Settings" ], "summary": "Delete All Player Id Settings For Setting Type", "description": "**DEPRECATED** - Use v2 instead. Delete all player setting documents for a specific type\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `setting:*:*`, `setting:write`\n\n- For the player themselves : `setting:write:self`", "operationId": "delete_all_player_id_settings_for_setting_type", "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Player Id" } }, { "name": "setting_type_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Setting Type Id" } }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information", "title": "If-Match" }, "description": "Precondition check if the resource's current ETag matches the provided values. * can be used to match any existing value.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-match for more information" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information", "title": "If-None-Match" }, "description": "Precondition check if the resource's current ETag does NOT match the provided values. * can be used to match existing value, causing the request to fail. \n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-none-match for more information" }, { "name": "if-unmodified-since", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information", "title": "If-Unmodified-Since" }, "description": "Precondition check if the resource's Last-Modified date is older than the provided date. Ignored if the If-Match header is provided.\n\nSee https://www.rfc-editor.org/rfc/rfc9110#name-if-unmodified-since for more information" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "400": { "description": "\nError Codes:\n- `setting_type_not_supported` - The setting type is not supported at this time. Contact an administrator\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `setting_type_id_not_found` - The setting type ID was not found\n- `does_not_exist` - Setting Key(s) do not exist\n ", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource does not meet the provided preconditions." }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/friends/v2/player/{player_uuid}/friend": { "get": { "tags": [ "Friends" ], "summary": "Get Friends List For Player V2", "description": "Fetch the friend's list for the Player and their relationship status with those friends.\n \n*Note*: This API supports etags and will return the etag header when with the response. \n\nClients can utilize the `if-none-match` header to avoid having to reload the response if it has not changed.", "operationId": "get_friends_list_for_player_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": false, "schema": { "type": "integer", "minimum": 0, "title": "Page", "default": 0 }, "name": "page", "in": "query" }, { "required": false, "schema": { "type": "integer", "maximum": 10000, "minimum": 1, "title": "Limit", "default": 50 }, "name": "limit", "in": "query" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be return - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be return - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FriendsList" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Friends" ], "summary": "Delete Friends V2", "description": "Remove the friend's relationship status with the other players", "operationId": "delete_friends_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Friends" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/friends/v2/player/{player_uuid}/friend/{other_player_uuid}": { "get": { "tags": [ "Friends" ], "summary": "Get Friend Relationship V2", "description": "Get the relationship status with the other Player.\n \n*Note*: This API supports etags and will return the etag header when with the response.\n\nClients can then utilize the `if-none-match` header to avoid having to reload the response if it has not changed or to use it to modify the relationship without loosing updates.\n\nPermissions Required: friend:friend_list:read", "operationId": "get_friend_relationship_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Other Player Uuid" }, "name": "other_player_uuid", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be return - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be return - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FriendRelationship" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "put": { "tags": [ "Friends" ], "summary": "Add Friend V2", "description": "Modify the friend's relationship status with the other Player. There is a max number of friends that can be added for a Player.\n \nThe limit can determined using [this API](/#/Configuration%20V1/get_friends_and_block_limits). This API allows you optionally update the player's notes for the other player. If you do not want to update or set the notes when adding the other player, then do not include a body.\n\n*Note*: This API supports etags and will return the etag header when with the response and will match the etag value provided when [fetching Friend Relationship between these two players](/#/Friends%20V1/get_friend_relationship). It is highly recommended to provide the etag value with the `if-match` header to avoid lost updates.\n\nPermissions Required: friend:friend_list:write", "operationId": "add_friend_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Other Player Uuid" }, "name": "other_player_uuid", "in": "path" }, { "description": "If you provide the ETag that does not matches the current ETag for this resource, a 412 response will be return - indicating that the resource has changed.", "required": false, "schema": { "type": "string", "title": "If-Match", "description": "If you provide the ETag that does not matches the current ETag for this resource, a 412 response will be return - indicating that the resource has changed." }, "name": "if-match", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Notes" } } } }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FriendRelationship" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource's Etag does not match the Etag provided. Get the Etag from the Get request and try again" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Friends" ], "summary": "Delete Friend V2", "description": "Remove the friend's relationship status with the other Player. \n \nThis should be used for declining Friend requests, deleting sent Friends Requests, and deleting Friends\n\n*Note*: This API supports etags and will return the etag header when with the response and will match the etag value provided when [fetching Friend Relationship between these two players](#/Friends V1/get_friend_relationship). It is highly recommended to provide the etag value with the `if-match` header to avoid lost updates.\n \nPermissions Required: friend:friend_list:write", "operationId": "delete_friend_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Other Player Uuid" }, "name": "other_player_uuid", "in": "path" }, { "description": "If you provide the ETag that does not matches the current ETag for this resource, a 412 response will be return - indicating that the resource has changed.", "required": false, "schema": { "type": "string", "title": "If-Match", "description": "If you provide the ETag that does not matches the current ETag for this resource, a 412 response will be return - indicating that the resource has changed." }, "name": "if-match", "in": "header" } ], "responses": { "204": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "The resource's Etag does not match the Etag provided. Get the Etag from the Get request and try again" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/friends/v2/player/{player_uuid}/friend/{other_player_uuid}/notes": { "put": { "tags": [ "Friends" ], "summary": "Add Notes V2", "description": "Update Player's notes on the other player. Players can only add notes for players they have relationship's with. The notes will be removed when the relationship is ended.\n\nPermissions Required: friend:friend_list:write", "operationId": "add_notes_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Other Player Uuid" }, "name": "other_player_uuid", "in": "path" }, { "description": "If you provide the ETag that does not matches the current ETag for this resource, a 412 response will be return - indicating that the resource has changed.", "required": false, "schema": { "type": "string", "title": "If-Match", "description": "If you provide the ETag that does not matches the current ETag for this resource, a 412 response will be return - indicating that the resource has changed." }, "name": "if-match", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Notes" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FriendRelationship" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Friends" ], "summary": "Delete Notes V2", "description": "Remove the Player's notes on the other player. Players can only add notes for players they have relationship's with. The notes will be removed when the relationship is ended.\n \nPermissions Required: friend:friend_list:write", "operationId": "delete_notes_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Other Player Uuid" }, "name": "other_player_uuid", "in": "path" }, { "description": "If you provide the ETag that does not matches the current ETag for this resource, a 412 response will be return - indicating that the resource has changed.", "required": false, "schema": { "type": "string", "title": "If-Match", "description": "If you provide the ETag that does not matches the current ETag for this resource, a 412 response will be return - indicating that the resource has changed." }, "name": "if-match", "in": "header" } ], "responses": { "204": { "description": "Successful Response" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/friends/v2/player/{player_uuid}/block": { "get": { "tags": [ "Friends" ], "summary": "Get Blocked List For Player V2", "description": "Fetch the blocked list for the Player.\n \n*Note*: This API supports etags and will return the etag header when with the response. \n \nClients can utilize the `if-none-match` header to avoid having to reload the response if it has not changed.\n\nPermissions Required: friend:block_list:read", "operationId": "get_blocked_list_for_player_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": false, "schema": { "type": "integer", "minimum": 0, "title": "Page", "default": 0 }, "name": "page", "in": "query" }, { "required": false, "schema": { "type": "integer", "maximum": 10000, "minimum": 1, "title": "Limit", "default": 50 }, "name": "limit", "in": "query" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be return - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be return - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BlockedList" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/friends/v2/player/{player_uuid}/block/{other_player_uuid}": { "get": { "tags": [ "Friends" ], "summary": "Get Blocked V2", "description": "Get the Blocked Player\n \nPermissions Required: friend:block_list:read", "operationId": "get_blocked_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Other Player Uuid" }, "name": "other_player_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BlockedPlayer" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "put": { "tags": [ "Friends" ], "summary": "Block V2", "description": "Block the other Player. There is a max number of Players that can be blocked per Player.\n\nThe limit can determined using [this API](/#/Configuration%20V1/get_friends_and_block_limits).\n\nPermissions Required: friend:block_list:write", "operationId": "block_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Other Player Uuid" }, "name": "other_player_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BlockedPlayer" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Friends" ], "summary": "Unblock V2", "description": "Unblock the other Player\n \nPermissions Required: friend:block_list:write", "operationId": "unblock_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Other Player Uuid" }, "name": "other_player_uuid", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog All", "description": "Get the entire catalog.\n\nThis endpoint endpoint is generally discouraged outside of prototyping and early development. It's not that the endpoint won't function, but rather that it creates a pattern that may result in a poor end user experience. It has etag/if-none-match handling, but it is for the entire catalog. So if a single byte changes inside the catalog (e.g. turning on a loot record, adding a single new item, changing a price point, adjusting the threshold to hit level X in an XP Table), then the etag will change. If clients are re-requesting data from this endpoint, then those changes will result in them re-downloading, and re-parsing the entire catalog for that tiny modification.\n\nEarly on in a game's lifecycle, this doesn't matter much - since catalog data is pretty small. But as your game grows, and you create lots of things to receive/purchase/grant, the data will balloon in size. Parsing the response does occur on unreal's main thread, and with a sufficiently large catalog, you may see hitches. There will also be lots of data in there that may not even be necessary for your client to see at all (e.g. if you only grant the loot from the dedicated server or if an item is just a tracker, it doesn't necessarily need to be visible on the client).\n\nWe generally encourage having a well-known list of vendors to request from `/inventory/v1/catalog/vendor/{vendor_id}`, and then requesting the entire set of xp tables, price points, and bucket rulesets (as those are generally pretty small lists). That list of vendors could come from anywhere, it could be hardcoded, be set from an ini (if your client is unlikely to need arbitrary vendor additions, but you want to retain the ability to patch it) or it could come down in a kv.", "operationId": "get_catalog_all", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Catalog" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/xp": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Xp All", "description": "Get all XP Tables.", "operationId": "get_catalog_xp_all", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/XpTables" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/xp/{xp_table_id}": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Xp Table", "description": "Get a specific XP Table.", "operationId": "get_catalog_xp_table", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Xp Table Id" }, "name": "xp_table_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/XpTable" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/portal-use-ruleset": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Portal Use Rulesets All", "description": "Get all Portal Use Rulesets.", "operationId": "get_catalog_portal_use_rulesets_all", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PortalUseRulesets" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/portal-use-ruleset/{portal_use_ruleset_id}": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Portal Use Ruleset", "description": "Get a specific Portal Use Ruleset.", "operationId": "get_catalog_portal_use_ruleset", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Portal Use Ruleset Id" }, "name": "portal_use_ruleset_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PortalUseRuleset" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/inventory-bucket-use-rule-set": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Inventory Bucket Use Rule Sets All", "description": "Get all Inventory Bucket Use Rule Sets.", "operationId": "get_catalog_inventory_bucket_use_rule_sets_all", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryBucketUseRuleSets" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/inventory-bucket-use-rule-set/{inventory_bucket_use_ruleset_id}": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Inventory Bucket Use Rule Set", "description": "Get a specific Inventory Bucket Use Rule Set.", "operationId": "get_catalog_inventory_bucket_use_rule_set", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Inventory Bucket Use Ruleset Id" }, "name": "inventory_bucket_use_ruleset_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryBucketUseRuleSet" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/price-point": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Price Points All", "description": "Get all Price Points.", "operationId": "get_catalog_price_points_all", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PricePoints" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/price-point/{price_point_id}": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Price Point", "description": "Get a specific Price Point.", "operationId": "get_catalog_price_point", "parameters": [ { "required": true, "schema": { "type": "string", "minLength": 1, "title": "Price Point Id" }, "name": "price_point_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PricePoint" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/item": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Items All", "description": "Get all Items.", "operationId": "get_catalog_items_all", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Items" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/item/{item_id}": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Item", "description": "Get a specific Item.", "operationId": "get_catalog_item", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Item Id" }, "name": "item_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Item" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/vendor": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Vendors All", "description": "Get all Vendors.", "operationId": "get_catalog_vendors_all", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Vendors" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/vendor/{vendor_id}": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Vendor", "description": "Get a specific Vendor.", "operationId": "get_catalog_vendor", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Vendor Id" }, "name": "vendor_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Vendor" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/loot": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Loots All", "description": "Get all Loot.", "operationId": "get_catalog_loots_all", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Loots" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/loot/{loot_id}": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Loot", "description": "Get a specific Loot.", "operationId": "get_catalog_loot", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Loot Id" }, "name": "loot_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Loot" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/time-frame": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Time Frames All", "description": "Get all Time Frames.", "operationId": "get_catalog_time_frames_all", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeFrames" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/time-frame/{time_frame_id}": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Time Frame", "description": "Get a specific Time Frame.", "operationId": "get_catalog_time_frame", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Time Frame Id" }, "name": "time_frame_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TimeFrame" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/entitlement-sku": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Entitlement Sku All", "description": "Get all Entitlement SKUs.", "operationId": "get_catalog_entitlement_sku_all", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformSKUs" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/catalog/entitlement-sku/{platform}/{sku}": { "get": { "tags": [ "Catalog" ], "summary": "Get Catalog Entitlement Sku", "description": "Get a specific Entitlement SKU.", "operationId": "get_catalog_entitlement_sku", "parameters": [ { "required": true, "schema": { "$ref": "#/components/schemas/Platform" }, "name": "platform", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Sku" }, "name": "sku", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformSKU" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/me/inventory": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Inventory Uuid Self", "description": "Get the Inventory for the currently authenticated player.", "operationId": "get_player_inventory_uuid_self", "parameters": [ { "required": false, "schema": { "items": { "type": "integer" }, "type": "array", "title": "Item Ids", "default": [] }, "name": "item_ids", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryContextResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request, when the server should have the resource available", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "put": { "tags": [ "Inventory" ], "summary": "Modify Many Player Inventory Uuid Self", "description": "Modify many Inventory records for the currently authenticated player.", "operationId": "modify_many_player_inventory_uuid_self", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateInventoryRequests" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create Player Inventory Uuid Self", "description": "Create Inventory for the currently authenticated player.", "operationId": "create_player_inventory_uuid_self", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInventoryRequests" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/{player_uuid}/inventory": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Inventory Uuid", "description": "Get the Inventory for the specified player.", "operationId": "get_player_inventory_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": false, "schema": { "items": { "type": "integer" }, "type": "array", "title": "Item Ids", "default": [] }, "name": "item_ids", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryContextResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request, when the server should have the resource available", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "put": { "tags": [ "Inventory" ], "summary": "Modify Many Player Inventory Uuid", "description": "Modify many Inventory records for the specified player.", "operationId": "modify_many_player_inventory_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateInventoryRequests" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create Player Inventory Uuid", "description": "Create Inventory for the specified player.", "operationId": "create_player_inventory_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInventoryRequests" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/me/inventory": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Inventory Self", "description": "Get the Inventory for the currently authenticated player.", "operationId": "get_player_inventory_self", "parameters": [ { "required": false, "schema": { "items": { "type": "integer" }, "type": "array", "title": "Item Ids", "default": [] }, "name": "item_ids", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryContextResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request, when the server should have the resource available", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "put": { "tags": [ "Inventory" ], "summary": "Modify Many Player Inventory Self", "description": "Modify many Inventory records for the currently authenticated player.", "operationId": "modify_many_player_inventory_self", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateInventoryRequests" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create Player Inventory Self", "description": "Create Inventory for the currently authenticated player.", "operationId": "create_player_inventory_self", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInventoryRequests" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/{player_id}/inventory": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Inventory", "description": "Get the Inventory for the specified player.", "operationId": "get_player_inventory", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" }, { "required": false, "schema": { "items": { "type": "integer" }, "type": "array", "title": "Item Ids", "default": [] }, "name": "item_ids", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryContextResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request, when the server should have the resource available", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "put": { "tags": [ "Inventory" ], "summary": "Modify Many Player Inventory", "description": "Modify many Inventory records for the specified player.", "operationId": "modify_many_player_inventory", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateInventoryRequests" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create Player Inventory", "description": "Create Inventory for the specified player.", "operationId": "create_player_inventory", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInventoryRequests" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/me/inventory-level": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Inventory Level Self", "description": "***DEPRECATED, use /v2/player/me/player-level instead. Get the levels for items in a player's inventory\n \nRequired Permissions:\n\n- For any player (including themselves) any of: `inv:*`, `inv:read_inv:any`\n\n- For the player themselves : `inv:read_inv:self`", "operationId": "get_player_inventory_level_self", "parameters": [ { "required": false, "schema": { "items": { "type": "integer" }, "type": "array", "title": "Item Ids", "default": [] }, "name": "item_ids", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryLevels" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "The specified player was not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request, when the server should have the resource available", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/{player_id}/inventory-level": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Inventory Level", "description": "***DEPRECATED, use /v2/player/{player_uuid}/player-level instead. Get the levels for items in a player's inventory\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `inv:*`, `inv:read_inv:any`\n\n- For the player themselves : `inv:read_inv:self`", "operationId": "get_player_inventory_level", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" }, { "required": false, "schema": { "items": { "type": "integer" }, "type": "array", "title": "Item Ids", "default": [] }, "name": "item_ids", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryLevels" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "The specified player was not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request, when the server should have the resource available", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/me/inventory-level": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Uuid Inventory Level Self", "description": "Get the levels for items in a player's inventory\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `inv:*`, `inv:read_inv:any`\n\n- For the player themselves : `inv:read_inv:self`", "operationId": "get_player_uuid_inventory_level_self", "parameters": [ { "required": false, "schema": { "items": { "type": "integer" }, "type": "array", "title": "Item Ids", "default": [] }, "name": "item_ids", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryLevels" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "The specified player was not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request, when the server should have the resource available", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/{player_uuid}/inventory-level": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Uuid Inventory Level", "description": "Get the levels for items in a player's inventory\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `inv:*`, `inv:read_inv:any`\n\n- For the player themselves : `inv:read_inv:self`", "operationId": "get_player_uuid_inventory_level", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": false, "schema": { "items": { "type": "integer" }, "type": "array", "title": "Item Ids", "default": [] }, "name": "item_ids", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventoryLevels" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "The specified player was not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request, when the server should have the resource available", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/me/inventory/{inventory_id}": { "put": { "tags": [ "Inventory" ], "summary": "Modify Player Inventory Uuid Self", "description": "Modify a single Inventory record for the currently authenticated player.", "operationId": "modify_player_inventory_uuid_self", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Inventory Id" }, "name": "inventory_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateInventoryRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/{player_uuid}/inventory/{inventory_id}": { "put": { "tags": [ "Inventory" ], "summary": "Modify Player Inventory Uuid", "description": "Modify a single Inventory record for the specified player.", "operationId": "modify_player_inventory_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Inventory Id" }, "name": "inventory_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateInventoryRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/me/inventory/{inventory_id}": { "put": { "tags": [ "Inventory" ], "summary": "Modify Player Inventory Self", "description": "Modify a single Inventory record for the currently authenticated player.", "operationId": "modify_player_inventory_self", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Inventory Id" }, "name": "inventory_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateInventoryRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/{player_id}/inventory/{inventory_id}": { "put": { "tags": [ "Inventory" ], "summary": "Modify Player Inventory", "description": "Modify a single Inventory record for the specified player.", "operationId": "modify_player_inventory", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Inventory Id" }, "name": "inventory_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateInventoryRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/me/session": { "get": { "tags": [ "Inventory" ], "summary": "Get Inventory Session Info By Player Uuid Self", "description": "Get an Inventory Session for the currently logged in player.", "operationId": "get_inventory_session_info_by_player_uuid_self", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySession" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create New Inventory Session By Player Uuid Self", "description": "Create a new Inventory Session for the currently logged in player.", "operationId": "create_new_inventory_session_by_player_uuid_self", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySessionCreateRequest" } } }, "required": true }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySessionCreateResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/{player_uuid}/session": { "get": { "tags": [ "Inventory" ], "summary": "Get Inventory Session Info By Player Uuid", "description": "Get an Inventory Session for the specified player.", "operationId": "get_inventory_session_info_by_player_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySession" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create New Inventory Session By Player Uuid", "description": "Create a new Inventory Session for the specified player.", "operationId": "create_new_inventory_session_by_player_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySessionCreateRequest" } } }, "required": true }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySessionCreateResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/me/session": { "get": { "tags": [ "Inventory" ], "summary": "Get Inventory Session Info Self", "description": "Get an Inventory Session for the currently logged in player.", "operationId": "get_inventory_session_info_self", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySession" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create New Inventory Session Self", "description": "Create a new Inventory Session for the currently logged in player.", "operationId": "create_new_inventory_session_self", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySessionCreateRequest" } } }, "required": true }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySessionCreateResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/{player_id}/session": { "get": { "tags": [ "Inventory" ], "summary": "Get Inventory Session Info", "description": "Get an Inventory Session for the specified player.", "operationId": "get_inventory_session_info", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySession" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create New Inventory Session", "description": "Create a new Inventory Session for the specified player.", "operationId": "create_new_inventory_session", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySessionCreateRequest" } } }, "required": true }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InventorySessionCreateResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/me/order": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Uuid Orders Self", "description": "Get recent player orders about a player. Empty results means there were no recent orders.If starting_position and cursor are given, starting_position will be ignored in favor of cursor", "operationId": "get_player_uuid_orders_self", "parameters": [ { "description": "Inclusive starting time for the first order", "required": false, "schema": { "type": "string", "format": "date-time", "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone" }, "name": "starting_position", "in": "query" }, { "description": "The cursor value pointing to the next page of results. If cursor is provided, starting_position is ignored", "required": false, "schema": { "type": "string", "title": "Cursor", "description": "The cursor value pointing to the next page of results. If cursor is provided, starting_position is ignored" }, "name": "cursor", "in": "query" }, { "description": "The direction to search.", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/SortOrder" } ], "description": "The direction to search.", "default": "asc" }, "name": "sort", "in": "query" }, { "description": "The number of Orders to return", "required": false, "schema": { "type": "integer", "maximum": 50, "minimum": 1, "title": "Limit", "description": "The number of Orders to return", "default": 10 }, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrdersResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create New Player Uuid Order Self", "description": "Create a new Order for the current logged in player.\n\nNote that some orders may not be fulfilled at the completion of this request and need to be polled separately for results.", "operationId": "create_new_player_uuid_order_self", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/{player_uuid}/order": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Uuid Orders", "description": "Get recent player orders about a player. Empty results means there were no recent orders.If starting_position and cursor are given, starting_position will be ignored in favor of cursor", "operationId": "get_player_uuid_orders", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "description": "Inclusive starting time for the first order", "required": false, "schema": { "type": "string", "format": "date-time", "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone" }, "name": "starting_position", "in": "query" }, { "description": "The cursor value pointing to the next page of results. If cursor is provided, starting_position is ignored", "required": false, "schema": { "type": "string", "title": "Cursor", "description": "The cursor value pointing to the next page of results. If cursor is provided, starting_position is ignored" }, "name": "cursor", "in": "query" }, { "description": "The direction to search.", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/SortOrder" } ], "description": "The direction to search.", "default": "asc" }, "name": "sort", "in": "query" }, { "description": "The number of Orders to return", "required": false, "schema": { "type": "integer", "maximum": 50, "minimum": 1, "title": "Limit", "description": "The number of Orders to return", "default": 10 }, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrdersResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create New Player Uuid Order", "description": "Create a new Order for a specific player.\n\nNote that some orders may not be fulfilled at the completion of this request and need to be polled separately for results.", "operationId": "create_new_player_uuid_order", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/me/order": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Orders Self", "description": "Get recent player orders about a player. Empty results means there were no recent orders.If starting_position and cursor are given, starting_position will be ignored in favor of cursor", "operationId": "get_player_orders_self", "parameters": [ { "description": "Inclusive starting time for the first order", "required": false, "schema": { "type": "string", "format": "date-time", "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone" }, "name": "starting_position", "in": "query" }, { "description": "The cursor value pointing to the next page of results. If cursor is provided, starting_position is ignored", "required": false, "schema": { "type": "string", "title": "Cursor", "description": "The cursor value pointing to the next page of results. If cursor is provided, starting_position is ignored" }, "name": "cursor", "in": "query" }, { "description": "The direction to search.", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/SortOrder" } ], "description": "The direction to search.", "default": "asc" }, "name": "sort", "in": "query" }, { "description": "The number of Orders to return", "required": false, "schema": { "type": "integer", "maximum": 50, "minimum": 1, "title": "Limit", "description": "The number of Orders to return", "default": 10 }, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrdersResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create New Player Order Self", "description": "Create a new Order for the current logged in player.\n\nNote that some orders may not be fulfilled at the completion of this request and need to be polled separately for results.", "operationId": "create_new_player_order_self", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/{player_id}/order": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Orders", "description": "Get recent player orders about a player. Empty results means there were no recent orders.If starting_position and cursor are given, starting_position will be ignored in favor of cursor", "operationId": "get_player_orders", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" }, { "description": "Inclusive starting time for the first order", "required": false, "schema": { "type": "string", "format": "date-time", "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone" }, "name": "starting_position", "in": "query" }, { "description": "The cursor value pointing to the next page of results. If cursor is provided, starting_position is ignored", "required": false, "schema": { "type": "string", "title": "Cursor", "description": "The cursor value pointing to the next page of results. If cursor is provided, starting_position is ignored" }, "name": "cursor", "in": "query" }, { "description": "The direction to search.", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/SortOrder" } ], "description": "The direction to search.", "default": "asc" }, "name": "sort", "in": "query" }, { "description": "The number of Orders to return", "required": false, "schema": { "type": "integer", "maximum": 50, "minimum": 1, "title": "Limit", "description": "The number of Orders to return", "default": 10 }, "name": "limit", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrdersResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Inventory" ], "summary": "Create New Player Order", "description": "Create a new Order for a specific player.\n\nNote that some orders may not be fulfilled at the completion of this request and need to be polled separately for results.", "operationId": "create_new_player_order", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrderCreate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/me/order/{order_id}": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Uuid Order By Id Self", "description": "Get a single Order for a player by order id. This API only returns recent Orders for Players", "operationId": "get_player_uuid_order_by_id_self", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Order Id" }, "name": "order_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Order was not found for player", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/{player_uuid}/order/{order_id}": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Uuid Order By Id", "description": "Get a single Order for a player by order id. This API only returns recent Orders for Players", "operationId": "get_player_uuid_order_by_id", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Order Id" }, "name": "order_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Order was not found for player", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/me/order/{order_id}": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Order By Id Self", "description": "Get a single Order for a player by order id. This API only returns recent Orders for Players", "operationId": "get_player_order_by_id_self", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Order Id" }, "name": "order_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Order was not found for player", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/{player_id}/order/{order_id}": { "get": { "tags": [ "Inventory" ], "summary": "Get Player Order By Id", "description": "Get a single Order for a player by order id. This API only returns recent Orders for Players", "operationId": "get_player_order_by_id", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Order Id" }, "name": "order_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerOrder" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Order was not found for player", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/me/entitlement": { "post": { "tags": [ "Entitlements" ], "summary": "Process Platform Entitlement For Me", "description": "Process platform entitlements, consuming from the platform inventory where possible and generating orders. \n\nNote that some orders may not be fulfilled at the completion of this request and need to be polled separately for results\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `inv:*`, `inv:platform_entitlements:any`\n\n- For the player themselves : `inv:platform_entitlements:self`", "operationId": "process_platform_entitlement_for_me", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformEntitlementProcessRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformEntitlementProcessResult" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/{player_uuid}/entitlement": { "post": { "tags": [ "Entitlements" ], "summary": "Process Platform Entitlements By Player Uuid", "description": "Process platform entitlements, consuming from the platform inventory where possible and generating orders. \n\nNote that some orders may not be fulfilled at the completion of this request and need to be polled separately for results\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `inv:*`, `inv:platform_entitlements:any`\n\n- For the player themselves : `inv:platform_entitlements:self`", "operationId": "process_platform_entitlements_by_player_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformEntitlementProcessRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformEntitlementProcessResult" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/me/entitlement/request/{request_id}": { "get": { "tags": [ "Entitlements" ], "summary": "Retrieve Entitlement Request For Me", "description": "Get the status of a platform entitlement request by request id.\n \n Required Permissions:\n\n- For any player (including themselves) any of: `inv:*`, `inv:platform_entitlements:any`\n\n- For the player themselves : `inv:platform_entitlements:self`", "operationId": "retrieve_entitlement_request_for_me", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Request Id" }, "name": "request_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformEntitlementProcessResult" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/{player_uuid}/entitlement/request/{request_id}": { "get": { "tags": [ "Entitlements" ], "summary": "Retrieve Entitlement Request By Player Uuid", "description": "Get the status of a platform entitlement request by request id.\n \n Required Permissions:\n\n- For any player (including themselves) any of: `inv:*`, `inv:platform_entitlements:any`\n\n- For the player themselves : `inv:platform_entitlements:self`", "operationId": "retrieve_entitlement_request_by_player_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "title": "Request Id" }, "name": "request_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformEntitlementProcessResult" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/entitlement-event": { "get": { "tags": [ "Entitlements" ], "summary": "Get Entitlement Events", "description": "Get entitlement events for a player. If no player is provided, all events will be returned.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `inv:*`, `inv:entitlement_event:read`", "operationId": "get_entitlement_events", "parameters": [ { "description": "Player to get entitlement events for", "required": false, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid", "description": "Player to get entitlement events for" }, "name": "player_uuid", "in": "query" }, { "description": "Player to get entitlement events for. Will be ignored if player_uuid is provided", "required": false, "deprecated": true, "schema": { "type": "integer", "title": "Player Id", "description": "Player to get entitlement events for. Will be ignored if player_uuid is provided" }, "name": "player_id", "in": "query" }, { "description": "Cursor for pagination", "required": false, "schema": { "type": "string", "maxLength": 255, "title": "Cursor", "description": "Cursor for pagination" }, "name": "cursor", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntitlementEventList" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Entitlements" ], "summary": "Generate Entitlement Event", "description": "Create an entitlement event - this is used to bypass platform providers and grant entitlement events directly. \n\nRequired Permissions:\n\n- For any player (including themselves) any of: `inv:*`, `inv:entitlement_event:write`", "operationId": "generate_entitlement_event", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntitlementEventRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EntitlementEvent" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "\nError Codes:\n\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/me/portal/{portal_id}/processKeyEntitlements": { "post": { "tags": [ "Entitlements" ], "summary": "Process Key Entitlements Player Uuid Self", "description": "Process entitlements for the current player with the given Platform. The end result will consume entitlements from the Platform and grant unclaimed Key Claims to the player.", "operationId": "process_key_entitlements_player_uuid_self", "parameters": [ { "required": true, "schema": { "$ref": "#/components/schemas/Portal" }, "name": "portal_id", "in": "path" } ], "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/{player_uuid}/portal/{portal_id}/processKeyEntitlements": { "post": { "tags": [ "Entitlements" ], "summary": "Process Key Entitlements Player Uuid", "description": "Process entitlements for the given player with the given portal. The end result will consume entitlements from the Platform and grant unclaimed Key Claims to the player.", "operationId": "process_key_entitlements_player_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/Portal" }, "name": "portal_id", "in": "path" } ], "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/me/portal/{portal_id}/processKeyEntitlements": { "post": { "tags": [ "Entitlements" ], "summary": "Process Key Entitlements Self", "description": "Process entitlements for the given player with the given portal. The end result will consume entitlements from the Platform and grant unclaimed Key Claims to the player.", "operationId": "process_key_entitlements_self", "parameters": [ { "required": true, "schema": { "$ref": "#/components/schemas/Portal" }, "name": "portal_id", "in": "path" } ], "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/{player_id}/portal/{portal_id}/processKeyEntitlements": { "post": { "tags": [ "Entitlements" ], "summary": "Process Key Entitlements", "description": "Process entitlements for the given player with the given portal. The end result will consume entitlements from the Platform and grant unclaimed Key Claims to the player.", "operationId": "process_key_entitlements", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/Portal" }, "name": "portal_id", "in": "path" } ], "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/me/keyClaim": { "get": { "tags": [ "Key Claims" ], "summary": "Get Key Claims For My Uuid", "description": "Get All Key Claims for all external Key campaigns for the current player.", "operationId": "get_key_claims_for_my_uuid", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaims" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/{player_uuid}/keyClaim": { "get": { "tags": [ "Key Claims" ], "summary": "Get Player Uuid Key Claims", "description": "Get All Key Claims for all external Key campaigns for the given player.", "operationId": "get_player_uuid_key_claims", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaims" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/me/keyClaim": { "get": { "tags": [ "Key Claims" ], "summary": "Get Key Claims For Me", "description": "Get All Key Claims for all external Key campaigns for the current player.", "operationId": "get_key_claims_for_me", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaims" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/{player_id}/keyClaim": { "get": { "tags": [ "Key Claims" ], "summary": "Get Key Claims", "description": "Get All Key Claims for all external Key campaigns for the given player.", "operationId": "get_key_claims", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaims" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/me/keyClaim/{key_claim_uuid}": { "get": { "tags": [ "Key Claims" ], "summary": "Get Player Uuid Key Claim Self", "description": "Get Key Claim by uuid for the current player.", "operationId": "get_player_uuid_key_claim_self", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Key Claim Uuid" }, "name": "key_claim_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaim" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Key Claims" ], "summary": "Claim Player Uuid Unclaimed Key Claim For Me", "description": "Claim the Key Claim by uuid for the current player. The external_key will be set to a value if any key matching the external_key_type is available.", "operationId": "claim_player_uuid_unclaimed_key_claim_for_me", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Key Claim Uuid" }, "name": "key_claim_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClaimKeyRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaim" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v2/player/{player_uuid}/keyClaim/{key_claim_uuid}": { "get": { "tags": [ "Key Claims" ], "summary": "Get Player Uuid Key Claim", "description": "Get Key Claim by uuid for the given player.", "operationId": "get_player_uuid_key_claim", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Key Claim Uuid" }, "name": "key_claim_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaim" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Key Claims" ], "summary": "Claim Player Uuid Unclaimed Key Claim", "description": "Claim the Key Claim by uuid for the given player. The external_key will be set to a value if any key matching the external_key_type is available.", "operationId": "claim_player_uuid_unclaimed_key_claim", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Key Claim Uuid" }, "name": "key_claim_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClaimKeyRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaim" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/me/keyClaim/{key_claim_uuid}": { "get": { "tags": [ "Key Claims" ], "summary": "Get Key Claim For Me", "description": "Get Key Claim by uuid for the current player.", "operationId": "get_key_claim_for_me", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Key Claim Uuid" }, "name": "key_claim_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaim" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Key Claims" ], "summary": "Claim Unclaimed Key Claim For Me", "description": "Claim the Key Claim by uuid for the current player. The external_key will be set to a value if any key matching the external_key_type is available.", "operationId": "claim_unclaimed_key_claim_for_me", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Key Claim Uuid" }, "name": "key_claim_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClaimKeyRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaim" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/player/{player_id}/keyClaim/{key_claim_uuid}": { "get": { "tags": [ "Key Claims" ], "summary": "Get Key Claim", "description": "Get Key Claim by uuid for the given player.", "operationId": "get_key_claim", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Key Claim Uuid" }, "name": "key_claim_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaim" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Key Claims" ], "summary": "Claim Unclaimed Key Claim", "description": "Claim the Key Claim by uuid for the given player. The external_key will be set to a value if any key matching the external_key_type is available.", "operationId": "claim_unclaimed_key_claim", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Key Claim Uuid" }, "name": "key_claim_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClaimKeyRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyClaim" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/inventory/v1/marketing/campaign": { "get": { "tags": [ "Key Claims" ], "summary": "Get Marketing Campaigns", "description": "Get all marketing campaigns. There is currently no way to add Market Campaigns via API. Reach out to your Rally Here representative to add a new campaign.", "operationId": "get_marketing_campaigns", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MarketingCampaigns" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/template": { "get": { "tags": [ "Sessions" ], "summary": "Get All Session Templates", "description": "Get the config about all session templates\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n\nRequired Session Permissions: None", "operationId": "get_all_session_templates", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionTemplates" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/template/{session_type}": { "get": { "tags": [ "Sessions" ], "summary": "Get Session Template By Type", "description": "Get config about a session template by ID\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n\nRequired Session Permissions: None", "operationId": "get_session_template_by_type", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Session Type" }, "name": "session_type", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionTemplate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/browser": { "get": { "tags": [ "Sessions" ], "summary": "Get Browser Sessions By Type", "description": "Get all public sessions of a specific type\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:browser`\n\n\n\nRequired Permissions: None", "operationId": "get_browser_sessions_by_type", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Session Type" }, "name": "session_type", "in": "query" }, { "required": false, "schema": { "type": "integer", "minimum": 0, "title": "Cursor", "default": 0 }, "name": "cursor", "in": "query" }, { "required": false, "schema": { "type": "integer", "maximum": 50, "minimum": 1, "title": "Page Size", "default": 50 }, "name": "page_size", "in": "query" }, { "required": false, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Region Id" }, "name": "region_id", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrowserResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session": { "post": { "tags": [ "Sessions" ], "summary": "Create Or Join Session", "description": "Join the first publicly available session of given type. If there is no public session, and the session type\npermits player made sessions, create a new session and put the player in it\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:create`\n\n\n\nRequired Session Permissions: None", "operationId": "create_or_join_session", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateOrJoinRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionJoinResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}": { "get": { "tags": [ "Sessions" ], "summary": "Get Session By Id", "description": "Get Session by ID. This request will return limited results for non-members of the session, such as excluding info for \nhow to connect to the instance. Elevated permissions can bypass that restriction\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:any`, `session:read:self`\n\n\n\nRequired Session Permissions: None for limited results. `SessionPermissions.active_in_session` to get complete results for users who do not have the `session:read:any` auth permission", "operationId": "get_session_by_id", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Refresh Ttl", "default": true }, "name": "refresh_ttl", "in": "query" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "patch": { "tags": [ "Sessions" ], "summary": "Update Session By Id", "description": "Update session info by session id\n\nFor all sessions:\n\n* Required auth permissions are any of: `session:*`, `session:update:any`\n\n* Required session permissions are None\n\nFor sessions you are actively in:\n\n* Required auth permissions are any of: `session:*`, `session:update:any`, `session:update:self`\n\n* Required session permissions are `SessionPermissions.session_admin`", "operationId": "update_session_by_id", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/team/{team_id}": { "patch": { "tags": [ "Sessions" ], "summary": "Update Team By Id", "description": "Update specific team info by session and team id\n\nFor all sessions:\n\n* Required auth permissions are any of: `session:*`, `session:update:any`\n\n* Required session permissions are None\n\nFor sessions you are actively in:\n\n* Required auth permissions are any of: `session:*`, `session:update:any`, `session:update:self`\n\n* Required session permissions are `SessionPermissions.session_admin`", "operationId": "update_team_by_id", "parameters": [ { "required": true, "schema": { "type": "integer", "minimum": 0, "title": "Team Id" }, "name": "team_id", "in": "path" }, { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Refresh Ttl", "default": true }, "name": "refresh_ttl", "in": "query" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TeamUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionTeam" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/allocation/{allocation_id}": { "get": { "tags": [ "Sessions" ], "summary": "Get Session By Allocation Id", "description": "Get session by allocation ID. Returns the same limited results as getting the session by session id\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:allocation`\n\n\n\nRequired Session Permissions: None", "operationId": "get_session_by_allocation_id", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Allocation Id" }, "name": "allocation_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/browser": { "post": { "tags": [ "Sessions" ], "summary": "Post Browser Info", "description": "Register session in the public browser\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update:browser`\n\n\n\nRequired Session Permissions: `SessionPermissions.session_admin` if user does not have the `session:*` auth permission", "operationId": "post_browser_info", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Refresh Ttl", "default": true }, "name": "refresh_ttl", "in": "query" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrowserInfo" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrowserInfo" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Sessions" ], "summary": "Delete Browser Info", "description": "Delete the session from the public browser\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update:browser`\n\n\n\nRequired Session Permissions: `SessionPermissions.session_admin` if user does not have the `session:*` auth permission", "operationId": "delete_browser_info", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "patch": { "tags": [ "Sessions" ], "summary": "Update Browser Info", "description": "Update the browser info for the session\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update:browser`\n\n\n\nRequired Session Permissions: `SessionPermissions.session_admin` if user does not have the `session:*` auth permission", "operationId": "update_browser_info", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrowserInfo" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrowserInfo" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/player/me": { "post": { "tags": [ "Sessions" ], "summary": "Join Session By Id Self", "description": "Join a session with currently authed player\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update-player:any`\n\n- For the player themselves : `session:update-player:self`\n\nRequired Session Permissions: None", "operationId": "join_session_by_id_self", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SelfSessionPlayerUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionPlayerUpdateResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Sessions" ], "summary": "Leave Session By Id Self", "description": "Leave a session with currently authed player\n\nRequired Permissions:\n\n- For any player (including themselves) : `session:*`\n\n- For the player themselves : `session:update:self`\n\nRequired Permissions: None", "operationId": "leave_session_by_id_self", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/player/{player_uuid}": { "post": { "tags": [ "Sessions" ], "summary": "Update Session Player By Uuid V2", "description": "Add or invite a player to the session, or change the status of a player already in the session\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:promote:any`, `session:promote:self`\n\n\n\nRequired Session Permissions: None if session is publicly joinable or the player has been invited. \n`SessionPermissions.session_admin` for other operations", "operationId": "update_session_player_by_uuid_v2", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionPlayerUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionPlayerUpdateResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Sessions" ], "summary": "Kick Player From Session By Uuid V2", "description": "Kick or Remove a player from a session, or cancel an invite for a player to the session\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update-player:any`\n\n- For the player themselves : `session:update-player:self`\n\nRequired Session Permissions: None for users operating on themselves. \n`SessionPermissions.session_admin` for operating on other players in your session", "operationId": "kick_player_from_session_by_uuid_v2", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "204": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/player/uuid/{player_uuid}": { "post": { "tags": [ "Sessions" ], "summary": "Update Session Player By Uuid", "description": "Add or invite a player to the session, or change the status of a player already in the session\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:promote:any`, `session:promote:self`\n\n\n\nRequired Session Permissions: None if session is publicly joinable or the player has been invited. \n`SessionPermissions.session_admin` for other operations\n**DEPRECATED** - Use player/{player_uuid} endpoint instead", "operationId": "update_session_player_by_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionPlayerUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionPlayerUpdateResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Sessions" ], "summary": "Kick Player From Session By Uuid", "description": "Kick or Remove a player from a session, or cancel an invite for a player to the session\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update-player:any`\n\n- For the player themselves : `session:update-player:self`\n\nRequired Session Permissions: None for users operating on themselves. \n`SessionPermissions.session_admin` for operating on other players in your session\n**DEPRECATED** - Use player/{player_uuid} endpoint instead", "operationId": "kick_player_from_session_by_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "204": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/player/id/{player_id}": { "post": { "tags": [ "Sessions" ], "summary": "Update Session Player By Id", "description": "Add or invite a player to the session, or change the status of a player already in the session\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:promote:any`, `session:promote:self`\n\n\n\nRequired Session Permissions: None if session is publicly joinable or the player has been invited.\n`SessionPermissions.session_admin` for other operations\n\n**DEPRECATED** - Use the player endpoint instead", "operationId": "update_session_player_by_id", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionPlayerUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionPlayerUpdateResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Sessions" ], "summary": "Kick Player From Session By Id", "description": "Kick or Remove a player from a session, or cancel an invite for a player to the session\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update-player:any`\n\n- For the player themselves : `session:update-player:self`\n\nRequired Session Permissions: None for players operating on themselves.\n`SessionPermissions.session_admin` for operating on other players in your session\n\n**DEPRECATED** - Use the player endpoint instead", "operationId": "kick_player_from_session_by_id", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/player/me/session": { "get": { "tags": [ "Sessions" ], "summary": "Get Player Sessions Self", "description": "Get all session IDs associated with the token's player. NOTE This list is eventually consistent with the data from the session by ID endpoints.\n\nRequired Auth Permissions: `session:read-player:self`\n \nRequired Session Permissions: None", "operationId": "get_player_sessions_self", "parameters": [ { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerSessions" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/player/{player_uuid}/session": { "get": { "tags": [ "Sessions" ], "summary": "Get Player Sessions By Uuid V2", "description": "Get all session IDs associated with a player. NOTE This list is eventually consistent with the data from the session by ID endpoints.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read-player:any`\n\n- For the player themselves : `session:read-player:self`\n\nRequired Session Permissions: None", "operationId": "get_player_sessions_by_uuid_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerSessions" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/player/uuid/{player_uuid}/session": { "get": { "tags": [ "Sessions" ], "summary": "Get Player Sessions By Uuid", "description": "Get all session IDs associated with a player. NOTE This list is eventually consistent with the data from the session by ID endpoints.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read-player:any`\n\n- For the player themselves : `session:read-player:self`\n\nRequired Session Permissions: None\n**DEPRECATED** - Use /v1/player/{player_uuid}/session endpoint instead", "operationId": "get_player_sessions_by_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerSessions" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/player/id/{player_id}/session": { "get": { "tags": [ "Sessions" ], "summary": "Get Player Sessions", "description": "Get all session IDs associated with a player. NOTE This list is eventually consistent with the data from the session by ID endpoints.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read-player:any`\n\n- For the player themselves : `session:read-player:self`\n\nRequired Session Permissions: None\n\n**DEPRECATED** - Use player endpoint instead", "operationId": "get_player_sessions", "parameters": [ { "required": true, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerSessions" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/connection-info": { "get": { "tags": [ "Sessions" ], "summary": "Get Connection Info Self", "description": "Get public connection info for self\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n\nRequired Permissions: None", "operationId": "get_connection_info_self", "parameters": [ { "required": false, "schema": { "type": "string", "title": "X-Forwarded-For", "default": "" }, "name": "x-forwarded-for", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectionInfo" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/queue": { "post": { "tags": [ "Sessions" ], "summary": "Join Queue", "description": "Add session to a matchmaking queue\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update:any`, `session:update:self`\n\n\n\nRequired Session Permissions: `SessionPermissions.session_admin`", "operationId": "join_queue", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QueueJoinRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QueueJoinResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Sessions" ], "summary": "Leave Queue", "description": "Remove session from a matchmaking queue\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update:any`, `session:update:self`\n\n\n \nRequired Session Permissions: `SessionPermissions.session_admin`", "operationId": "leave_queue", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/DeleteTicketReason" } ], "default": "left_queue" }, "name": "reason", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Refresh Ttl", "default": true }, "name": "refresh_ttl", "in": "query" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/match-made-session": { "post": { "tags": [ "Sessions" ], "summary": "Create Matchmade Session", "description": "Create a match session based on matchmaking results.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:create:matchmade`\n\n\n\nRequired Session Permissions: None", "operationId": "create_matchmade_session", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchMakingSessionRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/instance": { "post": { "tags": [ "Sessions" ], "summary": "Create Instance Request", "description": "Request an instance be spawned for the session, or register self as a host of the instance\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update:any`, `session:update:self`\n\n\n\nRequired Session Permissions: `SessionPermissions.session_admin` if user does not have the `session:update:any` auth permission", "operationId": "create_instance_request", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceInfo" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Sessions" ], "summary": "End Instance", "description": "Unregister the instance from the session.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update:any`, `session:update:self`\n\n\n\nRequired Session Permissions: `SessionPermissions.session_host` if user does not have the `session:update:any` auth permission", "operationId": "end_instance", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" } ], "responses": { "204": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "patch": { "tags": [ "Sessions" ], "summary": "Update Instance Info", "description": "Update info about the instance. If the instance was a result of the instance allocation system, then it will have an allocation id.\nAllocated instances must send their allocation id for updates to ensure they are still the proper allocation.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update:any`, `session:update:self`\n\n\n\nRequired Session Permissions: `SessionPermissions.session_host` if user does not have the `session:update:any` auth permission", "operationId": "update_instance_info", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceInfoUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceInfo" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/instance/health": { "post": { "tags": [ "Sessions" ], "summary": "Instance Health Check", "description": "Endpoint to post health status of an instance\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:instance:health`\n\n\n\nsession:instance:health", "operationId": "instance_health_check", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceHealthStatusUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceHealthStatusResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/instance/health/config": { "get": { "tags": [ "Sessions" ], "summary": "Instance Health Config", "description": "Get config about expected poll rates for instance health, and when instances will go missing/unhealthy\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`", "operationId": "instance_health_config", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceHealthSettingsResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/platform/{platform}/platform-session/{platform_session_id_base64}/session/{session_id}": { "post": { "tags": [ "Sessions" ], "summary": "Add Platform Session To Rally Here Session", "description": "Add a platform session to an existing RallyHere session. The requesting player will be added to the platform session\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update:platform`\n\n\n\nRequired Session Permissions: `SessionPermissions.active_in_session` for users that do not have the `session:update:any` auth permission", "operationId": "add_platform_session_to_rally_here_session", "parameters": [ { "required": true, "schema": { "$ref": "#/components/schemas/Platform" }, "name": "platform", "in": "path" }, { "required": true, "schema": { "type": "string", "maxLength": 4096, "minLength": 1, "title": "Platform Session Id Base64" }, "name": "platform_session_id_base64", "in": "path" }, { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Refresh Ttl", "default": true }, "name": "refresh_ttl", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformSession" } } } }, "403": { "description": "User is not authenticated, or does not have sufficient role access to perform request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Platform Session or Platform Player doesn't exist. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Sessions" ], "summary": "Delete Platform Session From Rally Here Session", "description": "Remove a platform session from a Rally Here session\n \nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update:platform`\n\n\n\nRequired Session Permissions: `SessionPermissions.active_in_session` for users that do not have the `session:update:any` auth permission", "operationId": "delete_platform_session_from_rally_here_session", "parameters": [ { "required": true, "schema": { "$ref": "#/components/schemas/Platform" }, "name": "platform", "in": "path" }, { "required": true, "schema": { "type": "string", "maxLength": 4096, "minLength": 1, "title": "Platform Session Id Base64" }, "name": "platform_session_id_base64", "in": "path" }, { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Refresh Ttl", "default": true }, "name": "refresh_ttl", "in": "query" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "User is not authenticated, or does not have sufficient role access to perform request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Platform Session or Platform Player doesn't exist. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/platform/{platform}/platform-session/{platform_session_id_base64}": { "get": { "tags": [ "Sessions" ], "summary": "Get Platform Session Info", "description": "Get information about a platform session\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:platform`\n\n\n\nRequired Session Permissions: `SessionPermissions.active_in_session` for users that do not have the `session:read:any` auth permission", "operationId": "get_platform_session_info", "parameters": [ { "required": true, "schema": { "$ref": "#/components/schemas/Platform" }, "name": "platform", "in": "path" }, { "required": true, "schema": { "type": "string", "maxLength": 4096, "minLength": 1, "title": "Platform Session Id Base64" }, "name": "platform_session_id_base64", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformSession" } } } }, "403": { "description": "User is not authenticated, or does not have sufficient role access to perform request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Platform Session or Platform Player doesn't exist. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/platform/{platform}/platform-session/{platform_session_id_base64}/player/me": { "post": { "tags": [ "Sessions" ], "summary": "Join Session By Platform Session Id Self", "description": "Join a platform session by ID, and the parent session\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update-player:any`\n\n- For the player themselves : `session:update-player:self`\n\nRequired Session Permissions: None", "operationId": "join_session_by_platform_session_id_self", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 4096, "minLength": 1, "title": "Platform Session Id Base64" }, "name": "platform_session_id_base64", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/Platform" }, "name": "platform", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SelfSessionPlayerUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } }, "403": { "description": "User is not authenticated, or does not have sufficient role access to perform request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Platform Session or Platform Player doesn't exist. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Sessions" ], "summary": "Leave Session By Platform Session Self", "description": "Leave a platform session by platform ID and parent platform session id\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update-player:any`\n\n- For the player themselves : `session:update-player:self`\n\nRequired Session Permissions: None", "operationId": "leave_session_by_platform_session_self", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 4096, "minLength": 1, "title": "Platform Session Id Base64" }, "name": "platform_session_id_base64", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/Platform" }, "name": "platform", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "User is not authenticated, or does not have sufficient role access to perform request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Platform Session or Platform Player doesn't exist. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/platform/{platform}/platform-session/{platform_session_id_base64}/player/{player_uuid}": { "post": { "tags": [ "Sessions" ], "summary": "Join Session By Platform Session By Uuid", "description": "Join a platform session by platform ID and parent platform session id\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update-player:any`\n\n- For the player themselves : `session:update-player:self`\n\nRequired Session Permissions: None", "operationId": "join_session_by_platform_session_by_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 4096, "minLength": 1, "title": "Platform Session Id Base64" }, "name": "platform_session_id_base64", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/Platform" }, "name": "platform", "in": "path" }, { "required": false, "schema": { "type": "integer", "title": "Player Id" }, "name": "player_id", "in": "query" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SelfSessionPlayerUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Session" } } } }, "403": { "description": "User is not authenticated, or does not have sufficient role access to perform request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Platform Session or Platform Player doesn't exist. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Sessions" ], "summary": "Leave Session By Platform Session By Uuid", "description": "Leave a platform session by platform ID and parent platform session id\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update-player:any`\n\n- For the player themselves : `session:update-player:self`\n\nRequired Session Permissions: None", "operationId": "leave_session_by_platform_session_by_uuid", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 4096, "minLength": 1, "title": "Platform Session Id Base64" }, "name": "platform_session_id_base64", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/Platform" }, "name": "platform", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "User is not authenticated, or does not have sufficient role access to perform request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Platform Session or Platform Player doesn't exist. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "Service was unable to fulfill the request at this time and should be retried after the Retry-After wait time", "headers": { "Retry-After": { "description": "Number of seconds after which to retry the request", "schema": { "type": "integer" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/backfill/config": { "get": { "tags": [ "Sessions" ], "summary": "Backfill Config", "description": "Get config about how often backfill heartbeats must be sent in order to prevent the backfill resource from being deleted\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`", "operationId": "backfill_config", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BackfillSettingsResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/backfill/session/{session_id}": { "post": { "tags": [ "Sessions" ], "summary": "Acknowledge Backfill Request", "description": "Acknowledge a backfill request, and keep it alive. If an acknowledgment is missed, open-match will delete the backfill object", "operationId": "acknowledge_backfill_request", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Refresh Ttl", "default": true }, "name": "refresh_ttl", "in": "query" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcknowledgeBackfillRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcknowledgeBackfillResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Backfill resource could not be found on the session, or in the open-match system", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Sessions" ], "summary": "Delete Backfill Request", "description": "Manually delete the backfill associated with this session", "operationId": "delete_backfill_request", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Refresh Ttl", "default": true }, "name": "refresh_ttl", "in": "query" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BaseBackfillRequest" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Backfill resource could not be found on the session, or in the open-match system", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "patch": { "tags": [ "Sessions" ], "summary": "Update Backfill Request", "description": "Update a existing backfill's search fields and extensions", "operationId": "update_backfill_request", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Refresh Ttl", "default": true }, "name": "refresh_ttl", "in": "query" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateBackfillRequest" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Backfill resource could not be found on the session, or in the open-match system", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/invited-session/{invited_session_id}:invite": { "post": { "tags": [ "Sessions" ], "summary": "Invite Session To Session", "description": "Invite an entire session to a target session\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update-player:any`\n\n to invite any session regardless of membership status\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update-player:any`, `session:update-player:self`\n\n to invite a session you are part of\n\nRequired Session Permissions: None", "operationId": "invite_session_to_session", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Invited Session Id" }, "name": "invited_session_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionInviteRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionInviteResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/kicked-session/{kicked_session_id}": { "delete": { "tags": [ "Sessions" ], "summary": "Kick Session From Session", "description": "Remove players from a session, `{kicked_session_id}`, if they are also in the session `{session_id}`\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:update-player:any`\n\n to kick any session regardless of membership status\n\nRequired Permissions:\n\n- For any player (including themselves) : `session:update-player:as-leader`\n\n to invite a session you are part of\n\nRequired Session Permissions: `SessionPermissions.session_admin", "operationId": "kick_session_from_session", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Kicked Session Id" }, "name": "kicked_session_id", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist or Player is not a member of the session. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/queues": { "get": { "tags": [ "Sessions" ], "summary": "Get All Queue Info", "description": "Get all the available and active queues that sessions can try to join\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n\nRequired Session Permissions: None\n**DEPRECATED** - Use the V2 endpoint instead", "operationId": "get_all_queue_info", "parameters": [ { "required": false, "schema": { "type": "integer", "minimum": 0, "title": "Cursor", "default": 0 }, "name": "cursor", "in": "query" }, { "required": false, "schema": { "type": "integer", "maximum": 50, "minimum": 1, "title": "Page Size", "default": 50 }, "name": "page_size", "in": "query" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QueuesResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v2/queues": { "get": { "tags": [ "Sessions" ], "summary": "Get All Queue Info V2", "description": "Get all the available and active queues that sessions can try to join\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n\nRequired Session Permissions: None", "operationId": "get_all_queue_info_v2", "parameters": [ { "required": false, "schema": { "type": "integer", "minimum": 0, "title": "Cursor", "default": 0 }, "name": "cursor", "in": "query" }, { "required": false, "schema": { "type": "integer", "maximum": 50, "minimum": 1, "title": "Page Size", "default": 50 }, "name": "page_size", "in": "query" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QueuesResponseV2" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/instance-launch-templates/{instance_launch_template_id}": { "get": { "tags": [ "Sessions" ], "summary": "Get All Map Game Info", "description": "Get the config used to launch an instance by the launch template id. Launch template ID can be found in\nMatchMakingProfiles that are return by the `/v1/match-making-templates/` endpoint\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n\nRequired Session Permissions: None\n**DEPRECATED** - Use the /v1/instance-request-template endpoint instead. This endpoint does not support loading data from the developer-portal", "operationId": "get_all_map_game_info", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Instance Launch Template Id" }, "name": "instance_launch_template_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceLaunchTemplate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/instance-request-template/{instance_request_template_id}": { "get": { "tags": [ "Sessions" ], "summary": "Get Instance Request Template", "description": "Get the config used to request an instance by the InstanceRequestTemplate ID. This ID can be found in\nMatchMakingProfiles that are return by the `/v1/match-making-templates/` endpoint\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n\nRequired Session Permissions: None", "operationId": "get_instance_request_template", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Instance Request Template Id" }, "name": "instance_request_template_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstanceRequestTemplate" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/match-making-templates/{template_group_id}": { "get": { "tags": [ "Sessions" ], "summary": "Get Match Making Templates", "description": "Get match making templates, rules, and profiles for a template group. Groups can be found on the queue information\nfrom the `queues` config endpoints\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n \nRequired Session Permissions: None\n**DEPRECATED** Use the V2 endpoint instead", "operationId": "get_match_making_templates", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Template Group Id" }, "name": "template_group_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchMakingTemplateGroup" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/match-making-profile/{match_making_profile_id}": { "get": { "tags": [ "Sessions" ], "summary": "Get Match Making Profile", "description": "Get info about a specific match making profile\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n\nRequired Session Permissions: None\n**DEPRECATED** Use the V2 endpoint instead", "operationId": "get_match_making_profile", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Match Making Profile Id" }, "name": "match_making_profile_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchMakingProfile" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v2/match-making-profile/{match_making_profile_id}": { "get": { "tags": [ "Sessions" ], "summary": "Get Match Making Profile V2", "description": "Get info about a specific match making profile\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n\nRequired Session Permissions: None", "operationId": "get_match_making_profile_v2", "parameters": [ { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Match Making Profile Id" }, "name": "match_making_profile_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchMakingProfileV2" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v2/match-making-templates/{template_group_id}": { "get": { "tags": [ "Sessions" ], "summary": "Get Match Making Templates V2", "description": "Get match making templates, rules, and profiles for a template group. Groups can be found on the queue information\nfrom the `queues` config endpoints\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n\nRequired Session Permissions: None\n**DEPRECATED** Use the V2 endpoint instead", "operationId": "get_match_making_templates_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Template Group Id" }, "name": "template_group_id", "in": "path" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be returned - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchMakingTemplateGroupV2" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/regions": { "get": { "tags": [ "Sessions" ], "summary": "Get All Regions", "description": "Get all of the enabled regions and their configuration\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:read:config`\n\n\n\nRequired Session Permissions: None", "operationId": "get_all_regions", "parameters": [ { "required": false, "schema": { "type": "integer", "minimum": 0, "title": "Cursor", "default": 0 }, "name": "cursor", "in": "query" }, { "required": false, "schema": { "type": "integer", "maximum": 50, "minimum": 1, "title": "Page Size", "default": 50 }, "name": "page_size", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegionsResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/audit": { "get": { "tags": [ "Sessions" ], "summary": "Get Session Audit", "description": "Get all audit events for a specific session or player. Empty list means there is no audit history.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session-audit:read:all`, `session:*`\n\n for all sessions\n\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session-audit:read:self`, `session:*`\n\n for sessions you are a member of\n\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session-player-audit:read:all`, `session:*`\n\n to read audit information about any player\n\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session-player-audit:read:self`, `session:*`\n\n to read audit information about yourself", "operationId": "get_session_audit", "parameters": [ { "required": false, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "query" }, { "required": false, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "query" }, { "required": false, "schema": { "type": "integer", "minimum": 0, "title": "Page Num", "default": 0 }, "name": "page_num", "in": "query" }, { "required": false, "schema": { "type": "integer", "maximum": 50, "minimum": 1, "title": "Page Size", "default": 50 }, "name": "page_size", "in": "query" }, { "required": false, "schema": { "type": "string", "format": "date-time", "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone" }, "name": "start_date", "in": "query" }, { "required": false, "schema": { "type": "string", "format": "date-time", "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone" }, "name": "end_date", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuditResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Sessions" ], "summary": "Create Session Audit", "description": "Create an audit event in the log for this session.\nInternal session operations will create new events that are accessible from the get request.\n\nPlayer clients and instances are expected to create events here when something occurs on their clients that is\nrelevant. Customer created events will be prepended with 'customer.'\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session-audit:update:all`, `session:*`\n\n\n\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session-audit:update:self`, `session:*`\n\n for sessions you are a member of\n\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session-player-audit:update:all`, `session:*`\n\n to read audit information about any player\n\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session-player-audit:update:self`, `session:*`\n\n to read audit information about yourself", "operationId": "create_session_audit", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAuditRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Session doesn't exist. See error code for more info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/voip/vivox:login": { "get": { "tags": [ "Sessions" ], "summary": "Get Voip Login Token", "description": "Generate a token to login with vivox\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:vivox:login`", "operationId": "get_voip_login_token", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VoipTokenResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/player/me/voip/vivox:{vivox_action}": { "get": { "tags": [ "Sessions" ], "summary": "Get Voip Action Token Me", "description": "Generate a token for one of the specific vivox actions except logging in\n\n`JOIN` Required Permissions:\n\n- For the player themselves : `session:vivox:join`\n\n`JOIN_MUTED` Required Permissions:\n\n- For the player themselves : `session:vivox:join_muted`\n\n`KICK` Required Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:vivox:kick:all`\n\n- For the player themselves : `session:vivox:kick:self`\n\nor be leader of session and have Required Permissions:\n\n- For any player (including themselves) : `session:vivox:kick:as-leader`\n\n\n\n`MUTE` Required Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:vivox:mute:all`\n\n- For the player themselves : `session:vivox:mute:self`\n\nor be leader of session and have Required Permissions:\n\n- For any player (including themselves) : `session:vivox:kick:as-leader`\n\n\n\n`TRANSCRIBE` Required Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:vivox:transcribe:any`\n\n- For the player themselves : `session:vivox:transcribe:as-member`", "operationId": "get_voip_action_token_me", "parameters": [ { "required": true, "schema": { "$ref": "#/components/schemas/VivoxSessionActionSingle" }, "name": "vivox_action", "in": "path" }, { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/VoipSessionType" }, "name": "voip_session_type", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Refresh Ttl", "default": true }, "name": "refresh_ttl", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VoipTokenResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/session/{session_id}/player/{player_uuid}/voip/vivox:{vivox_action}": { "get": { "tags": [ "Sessions" ], "summary": "Get Voip Action Token", "description": "Generate a token for one of the specific vivox actions except logging in\n\n`JOIN` Required Permissions:\n\n- For the player themselves : `session:vivox:join`\n\n`JOIN_MUTED` Required Permissions:\n\n- For the player themselves : `session:vivox:join_muted`\n\n`KICK` Required Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:vivox:kick:all`\n\n- For the player themselves : `session:vivox:kick:self`\n\nor be leader of session and have Required Permissions:\n\n- For any player (including themselves) : `session:vivox:kick:as-leader`\n\n\n\n`MUTE` Required Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:vivox:mute:all`\n\n- For the player themselves : `session:vivox:mute:self`\n\nor be leader of session and have Required Permissions:\n\n- For any player (including themselves) : `session:vivox:mute:as-leader`\n\n\n\n`TRANSCRIBE` Required Permissions:\n\n- For any player (including themselves) any of: `session:*`, `session:vivox:transcribe:any`\n\n- For the player themselves : `session:vivox:transcribe:as-member`", "operationId": "get_voip_action_token", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/VivoxSessionActionSingle" }, "name": "vivox_action", "in": "path" }, { "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Session Id" }, "name": "session_id", "in": "path" }, { "required": true, "schema": { "$ref": "#/components/schemas/VoipSessionType" }, "name": "voip_session_type", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Refresh Ttl", "default": true }, "name": "refresh_ttl", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VoipTokenResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/deserter": { "get": { "tags": [ "Deserter" ], "summary": "Get All Deserter Configs", "description": "Get all deserter configs", "operationId": "get_all_deserter_configs", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeserterConfigResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/deserter/{deserter_id}": { "get": { "tags": [ "Deserter" ], "summary": "Get Specific Deserter Config", "description": "Get specific deserter configs", "operationId": "get_specific_deserter_config", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Deserter Id" }, "name": "deserter_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeserterConfig" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/player/me/deserter/{deserter_id}": { "get": { "tags": [ "Deserter" ], "summary": "Get Player Deserter Self", "description": "Get currently authed player's deserter status", "operationId": "get_player_deserter_self", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Deserter Id" }, "name": "deserter_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerDeserterStatus" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/player/{player_uuid}/deserter/{deserter_id}": { "get": { "tags": [ "Deserter" ], "summary": "Get Player Deserter", "description": "Get a specific player's deserter status", "operationId": "get_player_deserter", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Deserter Id" }, "name": "deserter_id", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerDeserterStatus" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "put": { "tags": [ "Deserter" ], "summary": "Put Player Deserter", "description": "Update a specific player's deserter status", "operationId": "put_player_deserter", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Deserter Id" }, "name": "deserter_id", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeserterUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerDeserterStatus" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Deserter" ], "summary": "Delete Player Deserter", "description": "Delete a single deserter status for a specific player", "operationId": "delete_player_deserter", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Deserter Id" }, "name": "deserter_id", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/player/{player_uuid}/deserter": { "get": { "tags": [ "Deserter" ], "summary": "Get All Player Deserters", "description": "Get a specific player's deserter status", "operationId": "get_all_player_deserters", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AllPlayerDeserterStatuses" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "delete": { "tags": [ "Deserter" ], "summary": "Delete All Player Deserter", "description": "Delete all of a player's deserter statuses", "operationId": "delete_all_player_deserter", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/deserter:clear": { "post": { "tags": [ "Deserter" ], "summary": "Clear All Deserter", "description": "Clear deserter status for all deserter ids", "operationId": "clear_all_deserter", "responses": { "204": { "description": "Successful Response" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/session/v1/deserter/{deserter_id}:clear": { "post": { "tags": [ "Deserter" ], "summary": "Clear Specific Deserter", "description": "Clear deserter status for a specific deserter id", "operationId": "clear_specific_deserter", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Deserter Id" }, "name": "deserter_id", "in": "path" } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v1/rank:calculate": { "post": { "tags": [ "Rank" ], "summary": "Update Rankings V1", "description": "Calculate and update on players and persist their new ranks\nRequires at least two teams, and the player's ranks before the last match was played\n\nRequired Permissions: `rank:update:any`\n**DEPRECATED** Use the v2 endpoint instead", "operationId": "update_rankings_v1", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RankUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankUpdateResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v1/player/me/rank/{rank_id}": { "get": { "tags": [ "Rank" ], "summary": "Get Player Uuid Rank Self", "description": "Get current player's rank for a specific rank id\n \nRequired Permissions: `rank:read:self`\n**DEPRECATED** Use the V2 endpoint", "operationId": "get_player_uuid_rank_self", "parameters": [ { "required": true, "schema": { "type": "integer", "minimum": 1, "title": "Rank Id" }, "name": "rank_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankRequestResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Rank" ], "summary": "Update Player Uuid Rank Self", "description": "Update current player's ranks to those that are provided. Ranks are taken as is \n\nRequired Permissions: `rank:update:self`\n**DEPRECATED** Use the V2 endpoint", "operationId": "update_player_uuid_rank_self", "parameters": [ { "required": true, "schema": { "type": "integer", "minimum": 1, "title": "Rank Id" }, "name": "rank_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankUpdateResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v1/player/{player_uuid}/rank/{rank_id}": { "get": { "tags": [ "Rank" ], "summary": "Get Player Uuid Rank", "description": "Get a specific player's rank for a specific rank id\n \nRequired Permissions: `rank:read:self` for players acting on themselves, \notherwise `rank:read:any`\n**DEPRECATED** Use the V2 endpoint", "operationId": "get_player_uuid_rank", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "integer", "minimum": 1, "title": "Rank Id" }, "name": "rank_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankRequestResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Rank" ], "summary": "Update Player Uuid Rank", "description": "Update a specific player's ranks to those that are provided. Ranks are taken as is\n\nRequired Permissions: `rank:update:self` for players acting on themselves, \notherwise `rank:update:any`\n**DEPRECATED** Use V2 endpoints", "operationId": "update_player_uuid_rank", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "integer", "minimum": 1, "title": "Rank Id" }, "name": "rank_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankUpdateResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v1/player/me/rank": { "get": { "tags": [ "Rank" ], "summary": "Get All Player Uuid Ranks Self", "description": "Get all of current player's ranks\n\nRequired Permissions: `rank:read:self`\n**DEPRECATED** Use the V2 endpoints", "operationId": "get_all_player_uuid_ranks_self", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankRequestResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v1/player/{player_uuid}/rank": { "get": { "tags": [ "Rank" ], "summary": "Get All Player Uuid Ranks", "description": "Get all of a specific player's ranks\n\nRequired Permissions: `rank:read:self` for players acting on themselves,\notherwise `rank:read:any`\n**DEPRECATED** Use the V2 endpoint", "operationId": "get_all_player_uuid_ranks", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankRequestResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v2/rank:calculate": { "post": { "tags": [ "Rank" ], "summary": "Calculate V2 Ranks", "description": "Calculate a rank update on players and persist their new ranks\nRequires at least two teams, and the players' ranks before the last match was played\n\nRequired Permissions: `rank:update:any`", "operationId": "calculate_v2_ranks", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RankUpdateRequestV2" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankUpdateResponseV2" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v2/player/me/rank/{rank_id}": { "get": { "tags": [ "Rank" ], "summary": "Get Player Uuid Rank Self V2", "description": "Get current player's rank for a specific rank id\n\nRequired Permissions: `rank:read:self`", "operationId": "get_player_uuid_rank_self_v2", "parameters": [ { "required": true, "schema": { "type": "string", "minLength": 1, "title": "Rank Id" }, "name": "rank_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankRequestResponseV2" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Rank" ], "summary": "Update Player Uuid Rank Self V2", "description": "Update current player's ranks to those that are provided. Ranks are taken as is \n\nRequired Permissions: `rank:update:self`", "operationId": "update_player_uuid_rank_self_v2", "parameters": [ { "required": true, "schema": { "type": "string", "minLength": 1, "title": "Rank Id" }, "name": "rank_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankUpdateResponseV2" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v2/player/{player_uuid}/rank/{rank_id}": { "get": { "tags": [ "Rank" ], "summary": "Get Player Uuid Rank V2", "description": "Get a specific player's rank for a specific rank id\n\nRequired Permissions: `rank:read:self` for players acting on themselves, \notherwise `rank:read:any`", "operationId": "get_player_uuid_rank_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "minLength": 1, "title": "Rank Id" }, "name": "rank_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankRequestResponseV2" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Rank" ], "summary": "Update Player Uuid Rank V2", "description": "Update a specific player's ranks to those that are provided. Ranks are taken as is\n\nRequired Permissions: `rank:update:self` for players acting on themselves, \notherwise `rank:update:any`", "operationId": "update_player_uuid_rank_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": true, "schema": { "type": "string", "minLength": 1, "title": "Rank Id" }, "name": "rank_id", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankUpdateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankUpdateResponseV2" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v2/player/me/rank": { "get": { "tags": [ "Rank" ], "summary": "Get All Player Uuid Ranks Self V2", "description": "Get all of current player's ranks\n\nRequired Permissions: `rank:read:self`", "operationId": "get_all_player_uuid_ranks_self_v2", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankRequestResponseV2" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v2/player/{player_uuid}/rank": { "get": { "tags": [ "Rank" ], "summary": "Get All Player Uuid Ranks V2", "description": "Get all of a specific player's ranks\n\nRequired Permissions: `rank:read:self` for players acting on themselves,\notherwise `rank:read:any`", "operationId": "get_all_player_uuid_ranks_v2", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerRankRequestResponseV2" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v3/rank": { "get": { "tags": [ "Rank" ], "summary": "Get All Rank Config V3", "description": "Get all rank configuration\n\nRequired Permissions: `rank:read:config`", "operationId": "get_all_rank_config_v3", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RankConfigRequestResponseV3" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v3/rank/{rank_id}": { "get": { "tags": [ "Rank" ], "summary": "Get Rank Config V3", "description": "Get rank configuration for specific rank id\n\nRequired Permissions: `rank:read:config`", "operationId": "get_rank_config_v3", "parameters": [ { "required": true, "schema": { "type": "string", "minLength": 1, "title": "Rank Id" }, "name": "rank_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RankConfigRequestResponseV3" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/rank/v3/rank:calculate": { "post": { "tags": [ "Rank" ], "summary": "Calculate V3 Ranks", "description": "Calculate a rank update on players and return the results without persisting them\nRequires at least two teams, the players' ranks before the last match was played, and parameters on how to calculate the rank changes\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `rank:*`, `rank:calculate`", "operationId": "calculate_v3_ranks", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CalculateRankRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CalculateRankResponse" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/match/v1/match": { "get": { "tags": [ "Match" ], "summary": "Get Matches", "description": "Get pages of matches based on provided filters.\n\nRequired Permissions:\n\n- For any match any of: `match:*`, `match:match:any:read`", "operationId": "get_matches", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cursor" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "maximum": 100, "minimum": 1 }, { "type": "null" } ], "description": "The maximum number of elements to be returned per call", "default": 50, "title": "Page Size" }, "description": "The maximum number of elements to be returned per call" }, { "name": "instance_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Instance Id" } }, { "name": "allocation_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Allocation Id" } }, { "name": "session_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Session Id" } }, { "name": "host_player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Host Player Uuid" } }, { "name": "region_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Region Id" } }, { "name": "player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Player Uuid" } }, { "name": "type", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type" } }, { "name": "state", "in": "query", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/MatchState" }, { "type": "null" } ], "title": "State" } }, { "name": "include_segments", "in": "query", "required": false, "schema": { "type": "boolean", "default": true, "title": "Include Segments" } }, { "name": "include_players", "in": "query", "required": false, "schema": { "type": "boolean", "default": true, "title": "Include Players" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PagedMatchResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Match" ], "summary": "Create Match", "description": "Create match by match_id.\n\nRequired Permissions:\n\n- For any match any of: `match:*`, `match:match:edit:any`\n\n- For match if the player is the host any of: `match:*`, `match:match:edit:any`, `match:match:edit:authority`", "operationId": "create_match", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchWithPlayers" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/match/{match_id}": { "get": { "tags": [ "Match" ], "summary": "Get Match", "description": "Get match segment by match_id.\n\nRequired Permissions:\n\n- For any match any of: `match:*`, `match:match:any:read`\n\n- For match if the player was in match any of: `match:*`, `match:match:player:read`", "operationId": "get_match", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchWithPlayers" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Match" ], "summary": "Update Match", "description": "Update match by match_id.\n\nMatch must be in pending state to be updated.\n\nRequired Permissions:\n\n- For any match any of: `match:*`, `match:match:edit:any`\n\n- For match if the player is the host any of: `match:*`, `match:match:edit:any`, `match:match:edit:authority`", "operationId": "update_match", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchWithPlayers" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Bad Request" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "Match" ], "summary": "Patch Match", "description": "Update match by match_id only with provided fields.\n\nMatch must be in pending state to be updated.\n\nRequired Permissions:\n\n- For any match any of: `match:*`, `match:match:edit:any`\n\n- For match if the player is the host any of: `match:*`, `match:match:edit:any`, `match:match:edit:authority`", "operationId": "patch_match", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchWithPlayers" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Bad Request" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Match" ], "summary": "Delete Match", "description": "Delete match by match_id\n\nRequired Permissions:\n\n- For any match any of: `match:*`, `match:match:edit:any`", "operationId": "delete_match", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/player/me/match": { "get": { "tags": [ "Match" ], "summary": "Get Player Matches Self", "description": "Get all matches for self. Only provides matches for the player_uuid in the provided token.\n\nany of: `match:*`, `match:match:player:read`, `match:player:any:read` \n \n: `match:player:self:read`", "operationId": "get_player_matches_self", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cursor" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "description": "The maximum number of elements to be returned per call", "default": 50, "title": "Page Size" }, "description": "The maximum number of elements to be returned per call" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PagedPlayerMatchResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/player/{player_uuid}/stats": { "get": { "tags": [ "Match" ], "summary": "Get Player Stats", "description": "Get player stats for the provided player_uuid,.\n\nany of: `match:*`, `match:match:player:read`, `match:player:any:read` \n \n: `match:player:self:read`", "operationId": "get_player_stats", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerStatsResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/player/{player_uuid}/match": { "get": { "tags": [ "Match" ], "summary": "Get Players Matches", "description": "Get All matches for a provided player_uuid.\n\nany of: `match:*`, `match:match:player:read`, `match:player:any:read` \n \n: `match:player:self:read`", "operationId": "get_players_matches", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cursor" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "description": "The maximum number of elements to be returned per call", "default": 50, "title": "Page Size" }, "description": "The maximum number of elements to be returned per call" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PagedPlayerMatchResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/player/{player_uuid}/match/{match_id}": { "get": { "tags": [ "Match" ], "summary": "Get Match Player", "description": "Get a player match record for the provided player_uuid and match_id\n\nany of: `match:*`, `match:match:player:read`, `match:player:any:read` \n \n: `match:player:self:read`", "operationId": "get_match_player", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" } }, { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchPlayerWithMatch" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Match" ], "summary": "Create Match Player", "description": "Create player match record for the provided player_uuid and match_id\n\nMust have one of the following permissions: any of: `match:*`, `match:match:edit:any`\n\nOr you have any of: `match:*`, `match:match:edit:any`, `match:match:edit:authority` and are the host of the match.", "operationId": "create_match_player", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" } }, { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchPlayerRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchPlayerWithMatch" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Match" ], "summary": "Update Match Player", "description": "Update player match record for the provided player_uuid and match_id\n \nMatch must be in pending state to be updated.\n \nany of: `match:*`, `match:match:edit:any` - update any match.\n\nany of: `match:*`, `match:match:edit:any`, `match:match:edit:authority` - update match if the player is the host of the match.", "operationId": "update_match_player", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" } }, { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchPlayerRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchPlayerWithMatch" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "Match" ], "summary": "Patch Match Player", "description": "Update player match record for the provided player_uuid \" \"and match_id only with provided fields.\n\nMatch must still be in a pending state.\n\nRequired Permissions: \n\n- For any match any of: `match:*`, `match:match:edit:any`\n\n- For match if the player is the host any of: `match:*`, `match:match:edit:any`, `match:match:edit:authority`", "operationId": "patch_match_player", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" } }, { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchPlayerRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchPlayerWithMatch" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Match" ], "summary": "Delete Match Player", "description": "Delete player by player_uuid and match_id\n\nRequired Permissions:\n\n- For any match any of: `match:*`, `match:match:edit:any`", "operationId": "delete_match_player", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" } }, { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/match/{match_id}/segment/{segment_id}": { "get": { "tags": [ "Match" ], "summary": "Get Match Segment", "description": "Get match segment by match_id and segment_id.\n\n- For any match any of: `match:*`, `match:match:any:read`\n\n- For match if the player was in match any of: `match:*`, `match:match:player:read`", "operationId": "get_match_segment", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } }, { "name": "segment_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Segment Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchSegmentWithPlayers" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "Match" ], "summary": "Update Match Segment", "description": "Update match segment by match_id and segment_id.\n\nMatch must be in pending state to be updated.\n\nRequired Permissions:\n\n- For any match segment any of: `match:*`, `match:match:edit:any`\n\n- For match segment if the player is the host any of: `match:*`, `match:match:edit:any`, `match:match:edit:authority`", "operationId": "update_match_segment", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } }, { "name": "segment_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Segment Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchSegmentRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchSegmentWithPlayers" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "Match" ], "summary": "Patch Match Segment", "description": "Update match segment by match_id and segment_id only with provided fields.\n\nMatch must be in pending state to be updated.\n\nRequired Permissions:\n\n- For any match segment any of: `match:*`, `match:match:edit:any`\n\n- For match segment if the player is the host any of: `match:*`, `match:match:edit:any`, `match:match:edit:authority`", "operationId": "patch_match_segment", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } }, { "name": "segment_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Segment Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchSegmentPatchRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchSegmentWithPlayers" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Match" ], "summary": "Delete Match Segment", "description": "Delete match segment by match_id and segment_id\n\nRequired Permissions:\n\n- For any match any of: `match:*`, `match:match:edit:any`", "operationId": "delete_match_segment", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } }, { "name": "segment_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Segment Id" } } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/match/{match_id}/segment": { "post": { "tags": [ "Match" ], "summary": "Create Match Segment", "description": "Create match segment by match_id.\n\n- For any match segment any of: `match:*`, `match:match:edit:any`\n\n- For match segment if the player is the host any of: `match:*`, `match:match:edit:any`, `match:match:edit:authority`", "operationId": "create_match_segment", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "match_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Match Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchSegmentRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MatchSegmentWithPlayers" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/pex/host/raw": { "get": { "tags": [ "Player Experience" ], "summary": "Get All Pex Host Raw By Filter", "description": "Get pages of PEX host raw data based on provided filters\n\nRequired Permissions:\n\n- For any pex host any of: `match:*`, `match:pex:read`", "operationId": "get_all_pex_host_raw_by_filter", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cursor" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "maximum": 100, "minimum": 1 }, { "type": "null" } ], "description": "The maximum number of elements to be returned per call", "default": 50, "title": "Page Size" }, "description": "The maximum number of elements to be returned per call" }, { "name": "to_datetime", "in": "query", "required": false, "schema": { "anyOf": [ { "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone", "type": "string", "format": "date-time", "example": "2023-01-23T21:07:02.000000+00:00" }, { "type": "null" } ], "title": "To Datetime" } }, { "name": "from_datetime", "in": "query", "required": false, "schema": { "anyOf": [ { "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone", "type": "string", "format": "date-time", "example": "2023-01-23T21:07:02.000000+00:00" }, { "type": "null" } ], "title": "From Datetime" } }, { "name": "match_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Match Id" } }, { "name": "region_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Region Id" } }, { "name": "server_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Server Id" } }, { "name": "allocation_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Allocation Id" } }, { "name": "datacenter_provider", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Datacenter Provider" } }, { "name": "datacenter_location", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Datacenter Location" } }, { "name": "machine_class", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Machine Class" } }, { "name": "address_ip", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address Ip" } }, { "name": "map_name", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Map Name" } }, { "name": "game_mode", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Game Mode" } }, { "name": "matchmaking_profile_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Matchmaking Profile Id" } }, { "name": "expected_team_size", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Expected Team Size" } }, { "name": "expected_player_count", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Expected Player Count" } }, { "name": "host_player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Host Player Uuid" } }, { "name": "owning_player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Owning Player Uuid" } }, { "name": "version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Version" } }, { "name": "platform_id", "in": "query", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/MatchPlatform" }, { "type": "null" } ], "title": "Platform Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PexHostPagedResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/pex/host/score": { "get": { "tags": [ "Player Experience" ], "summary": "Get All Pex Host Scores By Filter", "description": "Get pages of PEX host scores based on provided filters\n\nRequired Permissions:\n\n- For any pex client any of: `match:*`, `match:pex:read`", "operationId": "get_all_pex_host_scores_by_filter", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cursor" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "maximum": 100, "minimum": 1 }, { "type": "null" } ], "description": "The maximum number of elements to be returned per call", "default": 50, "title": "Page Size" }, "description": "The maximum number of elements to be returned per call" }, { "name": "to_datetime", "in": "query", "required": false, "schema": { "anyOf": [ { "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone", "type": "string", "format": "date-time", "example": "2023-01-23T21:07:02.000000+00:00" }, { "type": "null" } ], "title": "To Datetime" } }, { "name": "from_datetime", "in": "query", "required": false, "schema": { "anyOf": [ { "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone", "type": "string", "format": "date-time", "example": "2023-01-23T21:07:02.000000+00:00" }, { "type": "null" } ], "title": "From Datetime" } }, { "name": "match_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Match Id" } }, { "name": "region_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Region Id" } }, { "name": "server_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Server Id" } }, { "name": "allocation_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Allocation Id" } }, { "name": "datacenter_provider", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Datacenter Provider" } }, { "name": "datacenter_location", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Datacenter Location" } }, { "name": "machine_class", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Machine Class" } }, { "name": "address_ip", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address Ip" } }, { "name": "map_name", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Map Name" } }, { "name": "game_mode", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Game Mode" } }, { "name": "matchmaking_profile_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Matchmaking Profile Id" } }, { "name": "expected_team_size", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Expected Team Size" } }, { "name": "expected_player_count", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Expected Player Count" } }, { "name": "host_player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Host Player Uuid" } }, { "name": "owning_player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Owning Player Uuid" } }, { "name": "version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Version" } }, { "name": "platform_id", "in": "query", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/MatchPlatform" }, { "type": "null" } ], "title": "Platform Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PexHostPagedResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/pex/client/raw": { "get": { "tags": [ "Player Experience" ], "summary": "Get All Pex Client Raw By Filter", "description": "Get pages of PEX client raw data based on provided filters\n\nRequired Permissions:\n\n- For any pex client any of: `match:*`, `match:pex:read`", "operationId": "get_all_pex_client_raw_by_filter", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cursor" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "maximum": 100, "minimum": 1 }, { "type": "null" } ], "description": "The maximum number of elements to be returned per call", "default": 50, "title": "Page Size" }, "description": "The maximum number of elements to be returned per call" }, { "name": "to_datetime", "in": "query", "required": false, "schema": { "anyOf": [ { "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone", "type": "string", "format": "date-time", "example": "2023-01-23T21:07:02.000000+00:00" }, { "type": "null" } ], "title": "To Datetime" } }, { "name": "from_datetime", "in": "query", "required": false, "schema": { "anyOf": [ { "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone", "type": "string", "format": "date-time", "example": "2023-01-23T21:07:02.000000+00:00" }, { "type": "null" } ], "title": "From Datetime" } }, { "name": "match_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Match Id" } }, { "name": "region_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Region Id" } }, { "name": "server_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Server Id" } }, { "name": "allocation_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Allocation Id" } }, { "name": "datacenter_provider", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Datacenter Provider" } }, { "name": "datacenter_location", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Datacenter Location" } }, { "name": "machine_class", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Machine Class" } }, { "name": "address_ip", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address Ip" } }, { "name": "map_name", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Map Name" } }, { "name": "game_mode", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Game Mode" } }, { "name": "matchmaking_profile_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Matchmaking Profile Id" } }, { "name": "expected_team_size", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Expected Team Size" } }, { "name": "expected_player_count", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Expected Player Count" } }, { "name": "host_player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Host Player Uuid" } }, { "name": "owning_player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Owning Player Uuid" } }, { "name": "version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Version" } }, { "name": "platform_id", "in": "query", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/MatchPlatform" }, { "type": "null" } ], "title": "Platform Id" } }, { "name": "player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Player Uuid" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PexClientPagedResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } }, "description": "Not Found" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/pex/client/score": { "get": { "tags": [ "Player Experience" ], "summary": "Get All Pex Client Scores By Filter", "description": "Get pages of PEX client score data based on provided filters\n\nRequired Permissions:\n\n- For any pex client any of: `match:*`, `match:pex:read`", "operationId": "get_all_pex_client_scores_by_filter", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Cursor" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "maximum": 100, "minimum": 1 }, { "type": "null" } ], "description": "The maximum number of elements to be returned per call", "default": 50, "title": "Page Size" }, "description": "The maximum number of elements to be returned per call" }, { "name": "to_datetime", "in": "query", "required": false, "schema": { "anyOf": [ { "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone", "type": "string", "format": "date-time", "example": "2023-01-23T21:07:02.000000+00:00" }, { "type": "null" } ], "title": "To Datetime" } }, { "name": "from_datetime", "in": "query", "required": false, "schema": { "anyOf": [ { "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone", "type": "string", "format": "date-time", "example": "2023-01-23T21:07:02.000000+00:00" }, { "type": "null" } ], "title": "From Datetime" } }, { "name": "match_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Match Id" } }, { "name": "region_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Region Id" } }, { "name": "server_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Server Id" } }, { "name": "allocation_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Allocation Id" } }, { "name": "datacenter_provider", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Datacenter Provider" } }, { "name": "datacenter_location", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Datacenter Location" } }, { "name": "machine_class", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Machine Class" } }, { "name": "address_ip", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Address Ip" } }, { "name": "map_name", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Map Name" } }, { "name": "game_mode", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Game Mode" } }, { "name": "matchmaking_profile_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Matchmaking Profile Id" } }, { "name": "expected_team_size", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Expected Team Size" } }, { "name": "expected_player_count", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Expected Player Count" } }, { "name": "host_player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Host Player Uuid" } }, { "name": "owning_player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Owning Player Uuid" } }, { "name": "version", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Version" } }, { "name": "platform_id", "in": "query", "required": false, "schema": { "anyOf": [ { "$ref": "#/components/schemas/MatchPlatform" }, { "type": "null" } ], "title": "Platform Id" } }, { "name": "player_uuid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Player Uuid" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PexClientPagedResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/match/v1/pex/host": { "post": { "tags": [ "Player Experience" ], "summary": "Create Pex Host", "description": "Create PEX Host\n\nRequired Permissions:\n\n- For any pex host any of: `match:*`, `match:pex:host:write`", "operationId": "create_pex_host", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PexHostRequest" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/match/v1/pex/client": { "post": { "tags": [ "Player Experience" ], "summary": "Create Pex Player", "description": "Create PEX Client\n\nRequired Permissions:\n\n- For any pex client any of: `match:*`, `match:pex:client:write`", "operationId": "create_pex_player", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PexClientRequest" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/file/v1/{file_type}/{entity_type}": { "get": { "tags": [ "File" ], "summary": "Get Entity Directory Information", "description": "Get information about a entity types storage container. Very resource intensive, use sparingly.", "operationId": "get_entity_directory_information", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "file_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/FileType" } }, { "name": "entity_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/EntityType" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StorageInformation" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "File" ], "summary": "Delete Entity Directory", "operationId": "delete_entity_directory", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "file_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/FileType" } }, { "name": "entity_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/EntityType" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/file/v1/{file_type}/{entity_type}/{entity_id}/{file_name}": { "put": { "tags": [ "File" ], "summary": "Create Entity Directory File", "description": "Upload a file to entity storage for the provided entity_id. \nThis endpoint will accept a multipart/form-data by default when the request's content-type is not provided. \nWhen a content-type is provided, the request body will be as raw bytes.", "operationId": "create_entity_directory_file", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "file_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/FileType" } }, { "name": "file_name", "in": "path", "required": true, "schema": { "type": "string", "title": "File Name" } }, { "name": "entity_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/EntityType" } }, { "name": "entity_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Entity Id" } }, { "name": "content-type", "in": "header", "required": false, "schema": { "type": "string", "title": "Content-Type" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "allOf": [ { "$ref": "#/components/schemas/Body_create_entity_directory_file" } ], "title": "Body" } }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "get": { "tags": [ "File" ], "summary": "Download Entity Directory File", "operationId": "download_entity_directory_file", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "entity_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/EntityType" } }, { "name": "entity_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Entity Id" } }, { "name": "file_name", "in": "path", "required": true, "schema": { "type": "string", "title": "File Name" } }, { "name": "file_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/FileType" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/octet-stream": { "schema": { "type": "string" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `file_not_found` - File not found.\n", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "File" ], "summary": "Delete Entity Directory File", "operationId": "delete_entity_directory_file", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "entity_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/EntityType" } }, { "name": "entity_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Entity Id" } }, { "name": "file_name", "in": "path", "required": true, "schema": { "type": "string", "title": "File Name" } }, { "name": "file_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/FileType" } } ], "responses": { "204": { "description": "Successful Response" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/file/v1/{file_type}/{entity_type}/{entity_id}": { "get": { "tags": [ "File" ], "summary": "List Entity Directory Files", "operationId": "list_entity_directory_files", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "entity_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/EntityType" } }, { "name": "entity_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Entity Id" } }, { "name": "file_type", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/FileType" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileListResponse" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/presence/v1/player/me/presence": { "get": { "tags": [ "Presence" ], "summary": "Get Player Presence Self", "description": "Get the player's presence information. The status reflects the true value and is not modified before it\nis returned.", "operationId": "get_player_presence_self", "parameters": [ { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerPresence" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "patch": { "tags": [ "Presence" ], "summary": "Update Player Presence Self", "description": "Update the player's online status and other presence data.\nIf the player reports their online status as online or away, their \"last_seen\" presence info is updated.\nPlayer clients are expected to send requests to this endpoint on an interval of self_ping_interval_seconds.\nOtherwise they will be considered offline.", "operationId": "update_player_presence_self", "parameters": [ { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerPresenceUpdateSelf" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/player/uuid/{player_uuid}/presence": { "get": { "tags": [ "Presence" ], "summary": "Get Player Presence Public By Uuid", "description": "Get the player's presence information. The status will be modified based on the following rules:\n- A status of invisible will be reported as offline\n- The status will become offline if older than the configured age", "operationId": "get_player_presence_public_by_uuid", "parameters": [ { "description": "A valid UUID identifying a player. Rejects integer player identification.", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid", "description": "A valid UUID identifying a player. Rejects integer player identification." }, "name": "player_uuid", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be return - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be return - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerPresence" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/player/id/{player_id}/presence": { "get": { "tags": [ "Presence" ], "summary": "Get Player Presence Public By Id", "description": "Get the player's presence information. The status will be modified based on the following rules:\n- A status of invisible will be reported as offline\n- The status will become offline if older than the configured age", "operationId": "get_player_presence_public_by_id", "parameters": [ { "description": "A valid integer identifying a player. Rejects UUID player identification.", "required": true, "schema": { "type": "integer", "title": "Player Id", "description": "A valid integer identifying a player. Rejects UUID player identification." }, "name": "player_id", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" }, { "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be return - indicating that the resource has not changed.", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this resource, a 304 response will be return - indicating that the resource has not changed." }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerPresence" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/settings": { "get": { "tags": [ "Presence" ], "summary": "Get Presence Settings", "description": "Settings which help tell the client how it should interact with this service.", "operationId": "get_presence_settings", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientVisibleSettings" } } } } } } }, "/presence/v1/admin/player/uuid/{player_uuid}/last_seen": { "patch": { "tags": [ "Presence Admin" ], "summary": "Admin Update Player Last Seen", "description": "Forcibly update the player's last_seen with the specified values. This enables an admin to set the last_seen time\nto something specific for testing.", "operationId": "admin_update_player_last_seen", "parameters": [ { "description": "A valid UUID identifying a player. Rejects integer player identification.", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid", "description": "A valid UUID identifying a player. Rejects integer player identification." }, "name": "player_uuid", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerLastSeenUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/player/id/{player_id}/last_seen": { "patch": { "tags": [ "Presence Admin" ], "summary": "Admin Update Player Last Seen Id", "description": "Forcibly update the player's last_seen with the specified values. This enables an admin to set the last_seen time\nto something specific for testing.", "operationId": "admin_update_player_last_seen_id", "parameters": [ { "description": "A valid integer identifying a player. Rejects UUID player identification.", "required": true, "schema": { "type": "integer", "title": "Player Id", "description": "A valid integer identifying a player. Rejects UUID player identification." }, "name": "player_id", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerLastSeenUpdate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/player/uuid/{player_uuid}/presence": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Player Presence", "description": "Get the player's presence information. The status reflects the true value and is not modified before it\nis returned.", "operationId": "admin_get_player_presence", "parameters": [ { "description": "A valid UUID identifying a player. Rejects integer player identification.", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid", "description": "A valid UUID identifying a player. Rejects integer player identification." }, "name": "player_uuid", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerPresence" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/player/id/{player_id}/presence": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Player Presence Id", "description": "Get the player's presence information. The status reflects the true value and is not modified before it\nis returned.", "operationId": "admin_get_player_presence_id", "parameters": [ { "description": "A valid integer identifying a player. Rejects UUID player identification.", "required": true, "schema": { "type": "integer", "title": "Player Id", "description": "A valid integer identifying a player. Rejects UUID player identification." }, "name": "player_id", "in": "path" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerPresence" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/total/combined": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Total Ccu", "description": "Get the combined CCU over the requested time period. This call results in one number which should exclude most duplicates across the given time\nperiod. This stands in contrast to the individual request endpoint.\n\nFor example, if you request the CCU over an hour you'll receive one number in which players that were around over that time period will only be\ncounted once.", "operationId": "admin_get_total_ccu", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnionCCU" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/total/individual": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Total Ccu Individual", "description": "Get the individual CCU counts over the requested time period. This call results in a count per time period within the requested range. These\nvalues should not be combined directly unless you've accounted for duplicates in some other way. The combined endpoint allows you to combine\nthe values within a time range without counting the same player multiple times.", "operationId": "admin_get_total_ccu_individual", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IndividualCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/requesting/combined": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Requesting Ccu", "description": "Get the combined CCU for requesters over the requested time period. This call results in one number which should exclude most duplicates across\nthe given time period. This stands in contrast to the individual request endpoint.\n\nFor example, if you request the CCU over an hour you'll receive one number in which players that were around over that time period will only be\ncounted once.", "operationId": "admin_get_requesting_ccu", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnionCCU" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/requesting/individual": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Requesting Ccu Individual", "description": "Get the individual CCU counts for requesters over the requested time period. This call results in a count per time period within the requested\nrange. These values should not be combined directly unless you've accounted for duplicates in some other way. The combined endpoint allows you to\ncombine the values within a time range without counting the same player multiple times.", "operationId": "admin_get_requesting_ccu_individual", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IndividualCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/updating/combined": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Updating Ccu", "description": "Get the combined CCU for updaters over the requested time period. This call results in one number which should exclude most duplicates across\nthe given time period. This stands in contrast to the individual request endpoint.\n\nFor example, if you request the CCU over an hour you'll receive one number in which players that were around over that time period will only be\ncounted once.", "operationId": "admin_get_updating_ccu", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnionCCU" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/updating/individual": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Updating Ccu Individual", "description": "Get the individual CCU counts for updaters over the requested time period. This call results in a count per time period within the requested\nrange. These values should not be combined directly unless you've accounted for duplicates in some other way. The combined endpoint allows you to\ncombine the values within a time range without counting the same player multiple times.", "operationId": "admin_get_updating_ccu_individual", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IndividualCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/platforms": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Known Platforms", "description": "Get all of the platforms that presence has been told about by players updating their presence", "operationId": "admin_get_known_platforms", "parameters": [ { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Platforms" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/total/allplatforms/individual": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Total Ccu All Platform Individual", "operationId": "admin_get_total_ccu_all_platform_individual", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformIndividualCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/total/allplatforms/combined": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Total Ccu All Platform Combined", "operationId": "admin_get_total_ccu_all_platform_combined", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformUnionCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/requesting/allplatforms/individual": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Requesting Ccu All Platform Individual", "operationId": "admin_get_requesting_ccu_all_platform_individual", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformIndividualCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/requesting/allplatforms/combined": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Requesting Ccu All Platform Combined", "operationId": "admin_get_requesting_ccu_all_platform_combined", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformUnionCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/updating/allplatforms/individual": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Updating Ccu All Platform Individual", "operationId": "admin_get_updating_ccu_all_platform_individual", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformIndividualCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/updating/allplatforms/combined": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Updating Ccu All Platform Combined", "operationId": "admin_get_updating_ccu_all_platform_combined", "parameters": [ { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformUnionCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/total/platform/{platform}/individual": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Total Ccu Platform Individual", "operationId": "admin_get_total_ccu_platform_individual", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Platform" }, "name": "platform", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformIndividualCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/total/platform/{platform}/combined": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Total Ccu Platform Combined", "operationId": "admin_get_total_ccu_platform_combined", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Platform" }, "name": "platform", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformUnionCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/requesting/platform/{platform}/individual": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Requesting Ccu Platform Individual", "operationId": "admin_get_requesting_ccu_platform_individual", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Platform" }, "name": "platform", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformIndividualCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/requesting/platform/{platform}/combined": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Requesting Ccu Platform Combined", "operationId": "admin_get_requesting_ccu_platform_combined", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Platform" }, "name": "platform", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformUnionCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/updating/platform/{platform}/individual": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Updating Ccu Platform Individual", "operationId": "admin_get_updating_ccu_platform_individual", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Platform" }, "name": "platform", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformIndividualCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/presence/v1/admin/ccu/updating/platform/{platform}/combined": { "get": { "tags": [ "Presence Admin" ], "summary": "Admin Get Updating Ccu Platform Combined", "operationId": "admin_get_updating_ccu_platform_combined", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Platform" }, "name": "platform", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "begin", "in": "query" }, { "required": true, "schema": { "type": "string", "format": "date-time", "title": "TZAware", "description": "A date-time with timezone data." }, "name": "end", "in": "query" }, { "required": false, "schema": { "type": "boolean", "title": "Use Cache", "default": true }, "name": "use_cache", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformUnionCCUs" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/sanctions/v2/player/{player_uuid}/reports": { "post": { "tags": [ "Reports" ], "summary": "Create Report For Target Player Uuid", "description": "Create a new report for a target player\nRequired Permissions:\nIf `source_player_uuid` is not provided, or is the same as the active player: any of: `sanction:report:create:any`, `sanction:*`, `sanction:report:create:self`\nOtherwise: any of: `sanction:report:create:any`, `sanction:*`", "operationId": "create_report_for_target_player_uuid", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerReportCreate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerReport" } } } }, "400": { "description": "\nError Codes:\n- `source_player_required` - Source Player must be provided in request or with a user token\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `player_not_found` - Player {id} not found\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "get": { "tags": [ "Reports" ], "summary": "Get Reports For Target Player Uuid", "description": "Get reports for a target player\nRequired Permissions:\n\n- For any player (including themselves) any of: `sanction:*`, `sanction:report:read:target-any`\n\n- For the player themselves : `sanction:report:read:target-self`\n\nSource players will be empty without the Required Permissions:\n\n- For any player (including themselves) any of: `sanction:*`, `sanction:report:read:source-any`\n\n- For the player themselves : `sanction:report:read:source-self`", "operationId": "get_reports_for_target_player_uuid", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 1024 }, { "type": "null" } ], "description": "Pass this on subsequent calls to iterate forwards. Null/missing value indicates the first page", "title": "Cursor" }, "description": "Pass this on subsequent calls to iterate forwards. Null/missing value indicates the first page" }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "default": 10, "title": "Page Size" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerReportList" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `player_not_found` - Player {id} not found\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/sanctions/v2/player/me/reports": { "get": { "tags": [ "Reports" ], "summary": "Get Reports For Target Player Uuid Self", "description": "Get reports for a target player\nRequired Permissions:\n\n- For any player (including themselves) any of: `sanction:*`, `sanction:report:read:target-any`\n\n- For the player themselves : `sanction:report:read:target-self`\n\nSource players will be empty without the Required Permissions:\n\n- For any player (including themselves) any of: `sanction:*`, `sanction:report:read:source-any`\n\n- For the player themselves : `sanction:report:read:source-self`", "operationId": "get_reports_for_target_player_uuid_self", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 1024 }, { "type": "null" } ], "description": "Pass this on subsequent calls to iterate forwards. Null/missing value indicates the first page", "title": "Cursor" }, "description": "Pass this on subsequent calls to iterate forwards. Null/missing value indicates the first page" }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "default": 10, "title": "Page Size" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerReportList" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `player_not_found` - Player {id} not found\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/sanctions/v2/player/me/sent-reports": { "get": { "tags": [ "Reports" ], "summary": "Get Reports From Source Player Uuid Self", "description": "Get reports from a source player\nRequired Permissions:\n\n- For any player (including themselves) any of: `sanction:*`, `sanction:report:read:source-any`\n\n- For the player themselves : `sanction:report:read:source-self`", "operationId": "get_reports_from_source_player_uuid_self", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 1024 }, { "type": "null" } ], "description": "Pass this on subsequent calls to iterate forwards. Null/missing value indicates the first page", "title": "Cursor" }, "description": "Pass this on subsequent calls to iterate forwards. Null/missing value indicates the first page" }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "default": 10, "title": "Page Size" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerReportList" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `player_not_found` - Player {id} not found\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/sanctions/v2/player/{player_uuid}/sent-reports": { "get": { "tags": [ "Reports" ], "summary": "Get Reports From Source Player Uuid", "description": "Get reports from a source player\nRequired Permissions:\n\n- For any player (including themselves) any of: `sanction:*`, `sanction:report:read:source-any`\n\n- For the player themselves : `sanction:report:read:source-self`", "operationId": "get_reports_from_source_player_uuid", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "player_uuid", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 1024 }, { "type": "null" } ], "description": "Pass this on subsequent calls to iterate forwards. Null/missing value indicates the first page", "title": "Cursor" }, "description": "Pass this on subsequent calls to iterate forwards. Null/missing value indicates the first page" }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "default": 10, "title": "Page Size" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlayerReportList" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `player_not_found` - Player {id} not found\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/notification/v1/player/me/stream/notification/lp": { "get": { "tags": [ "Notification" ], "summary": "Long Poll For Notifications Self", "description": "This endpoint will return notifications newer than `exclude_before`. This endpoint returns notifications\nfrom older to newer, which is the opposite of the paging API. The returned `cursor` value can be used as\n`exclude_before` in subsequent polls to ensure you only receive new notifications.\n\nThis operation is a long-poll. That means we will keep the connection open until we get any notification\nor until the passed in deadline (to the best of our ability). Once one of these happens, we will return\nthe notifications found.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `notification:player:*`, `notification:player:read`, `notification:player:self:*`, `notification:player:self:read`", "operationId": "player_long_poll_for_notifications_self", "parameters": [ { "description": "Max number of entries to return at one time", "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "title": "Max Page Size", "description": "Max number of entries to return at one time", "default": 10 }, "name": "max_page_size", "in": "query" }, { "description": "All notifications including and before this (chronologically) provided id will be ignored when returning results. You cannot depend on the format of this string, and it must be considered opaque", "required": false, "schema": { "type": "string", "title": "Exclude Before", "description": "All notifications including and before this (chronologically) provided id will be ignored when returning results. You cannot depend on the format of this string, and it must be considered opaque" }, "name": "exclude_before", "in": "query" }, { "description": "When `exclude_before` is not found in the stream or not given, begin streaming messages from the earliest/latest message", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/OffsetReset" } ], "description": "When `exclude_before` is not found in the stream or not given, begin streaming messages from the earliest/latest message", "default": "latest" }, "name": "offset_reset_strategy", "in": "query" }, { "description": "We will try to the best of our ability to return by this deadline, even when we have no notifications. Value should be in seconds", "required": false, "schema": { "type": "integer", "maximum": 900, "minimum": 0, "title": "Deadline", "description": "We will try to the best of our ability to return by this deadline, even when we have no notifications. Value should be in seconds", "default": 30 }, "name": "deadline", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Notifications" } } } }, "400": { "description": "\nError Codes:\n- `bad_id` - Passed client id is not a valid id\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "\nError Codes:\n- `too_many_listening_to_single_client` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "\nError Codes:\n- `connection_limit_reached` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/notification/v1/player/{player_uuid}/stream/notification/lp": { "get": { "tags": [ "Notification" ], "summary": "Long Poll For Notifications", "description": "This endpoint will return notifications newer than `exclude_before`. This endpoint returns notifications\nfrom older to newer, which is the opposite of the paging API. The returned `cursor` value can be used as\n`exclude_before` in subsequent polls to ensure you only receive new notifications.\n\nThis operation is a long-poll. That means we will keep the connection open until we get any notification\nor until the passed in deadline (to the best of our ability). Once one of these happens, we will return\nthe notifications found.\n\nThis version can be used for any client provided its id (with proper permissions)\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `notification:player:*`, `notification:player:read`\n\n- For the player themselves any of: `notification:player:self:*`, `notification:player:self:read`", "operationId": "player_long_poll_for_notifications", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "description": "Max number of entries to return at one time", "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "title": "Max Page Size", "description": "Max number of entries to return at one time", "default": 10 }, "name": "max_page_size", "in": "query" }, { "description": "All notifications including and before this (chronologically) provided id will be ignored when returning results. You cannot depend on the format of this string, and it must be considered opaque", "required": false, "schema": { "type": "string", "title": "Exclude Before", "description": "All notifications including and before this (chronologically) provided id will be ignored when returning results. You cannot depend on the format of this string, and it must be considered opaque" }, "name": "exclude_before", "in": "query" }, { "description": "When `exclude_before` is not found in the stream or not given, begin streaming messages from the earliest/latest message", "required": false, "schema": { "allOf": [ { "$ref": "#/components/schemas/OffsetReset" } ], "description": "When `exclude_before` is not found in the stream or not given, begin streaming messages from the earliest/latest message", "default": "latest" }, "name": "offset_reset_strategy", "in": "query" }, { "description": "We will try to the best of our ability to return by this deadline, even when we have no notifications. Value should be in seconds", "required": false, "schema": { "type": "integer", "maximum": 900, "minimum": 0, "title": "Deadline", "description": "We will try to the best of our ability to return by this deadline, even when we have no notifications. Value should be in seconds", "default": 30 }, "name": "deadline", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Notifications" } } } }, "400": { "description": "\nError Codes:\n- `bad_id` - Passed client id is not a valid id\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "\nError Codes:\n- `too_many_listening_to_single_client` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "\nError Codes:\n- `connection_limit_reached` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/notification/v1/player/me/notification": { "get": { "tags": [ "Notification" ], "summary": "Get Notifications Page Self", "description": "Get recent notifications ordered from the newest to the oldest.\n\nIt is important to stress that this endpoint returns notifications in reverse order compared to the streaming API.\nThe first notification returned from this will be the newest one we can find, and older ones will be further down\nthe page (or on later pages).\n\nThis API is useful for displaying a list of the most recent notifications to the user, only requesting further\npages when the user requests a bigger list.\n\nClient are expected to poll this endpoint regularly.\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `notification:player:*`, `notification:player:read`, `notification:player:self:*`, `notification:player:self:read`", "operationId": "player_get_notifications_page_self", "parameters": [ { "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "title": "Page Size", "default": 10 }, "name": "page_size", "in": "query" }, { "description": "Return results starting at this index (inclusive). If none provided then will start at the latest notification. You cannot depend on the format of this string, and it must be considered opaque", "required": false, "schema": { "type": "string", "title": "Start At", "description": "Return results starting at this index (inclusive). If none provided then will start at the latest notification. You cannot depend on the format of this string, and it must be considered opaque" }, "name": "start_at", "in": "query" }, { "description": "All notifications including and before this (chronologically) provided id will be ignored when returning results. You cannot depend on the format of this string, and it must be considered opaque", "required": false, "schema": { "type": "string", "title": "Exclude Before", "description": "All notifications including and before this (chronologically) provided id will be ignored when returning results. You cannot depend on the format of this string, and it must be considered opaque" }, "name": "exclude_before", "in": "query" }, { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed" }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Notifications" } } } }, "304": { "description": "Not Modified" }, "400": { "description": "\nError Codes:\n- `bad_id` - Passed client id is not a valid id\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "\nError Codes:\n- `too_many_listening_to_single_client` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "\nError Codes:\n- `connection_limit_reached` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Notification" ], "summary": "Create Notification Self", "description": "Create new notification for client.\nRequired Permissions:\n\n- For any player (including themselves) any of: `notification:player:*`, `notification:player:self:*`, `notification:player:self:write`, `notification:player:write`", "operationId": "player_create_notification_self", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotificationCreates" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotificationCreateResult" } } } }, "400": { "description": "\nError Codes:\n- `bad_id` - Passed client id is not a valid id\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "\nError Codes:\n- `too_many_listening_to_single_client` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "\nError Codes:\n- `connection_limit_reached` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/notification/v1/player/{player_uuid}/notification": { "get": { "tags": [ "Notification" ], "summary": "Get Notifications Page", "description": "Get recent notifications ordered from the newest to the oldest.\n\nIt is important to stress that this endpoint returns notifications in reverse order compared to the streaming API.\nThe first notification returned from this will be the newest one we can find, and older ones will be further down\nthe page (or on later pages).\n\nThis API is useful for displaying a list of the most recent notifications to the user, only requesting further\npages when the user requests a bigger list.\n\nClient are expected to poll this endpoint regularly.\n\nThis version can be used for any client provided its id (with proper permissions)\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `notification:player:*`, `notification:player:read`\n\n- For the player themselves any of: `notification:player:self:*`, `notification:player:self:read`", "operationId": "player_get_notifications_page", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" }, { "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "title": "Page Size", "default": 10 }, "name": "page_size", "in": "query" }, { "description": "Return results starting at this index (inclusive). If none provided then will start at the latest notification. You cannot depend on the format of this string, and it must be considered opaque", "required": false, "schema": { "type": "string", "title": "Start At", "description": "Return results starting at this index (inclusive). If none provided then will start at the latest notification. You cannot depend on the format of this string, and it must be considered opaque" }, "name": "start_at", "in": "query" }, { "description": "All notifications including and before this (chronologically) provided id will be ignored when returning results. You cannot depend on the format of this string, and it must be considered opaque", "required": false, "schema": { "type": "string", "title": "Exclude Before", "description": "All notifications including and before this (chronologically) provided id will be ignored when returning results. You cannot depend on the format of this string, and it must be considered opaque" }, "name": "exclude_before", "in": "query" }, { "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed", "required": false, "schema": { "type": "string", "title": "If-None-Match", "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed" }, "name": "if-none-match", "in": "header" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Notifications" } } } }, "304": { "description": "Not Modified" }, "400": { "description": "\nError Codes:\n- `bad_id` - Passed client id is not a valid id\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "\nError Codes:\n- `too_many_listening_to_single_client` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "\nError Codes:\n- `connection_limit_reached` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] }, "post": { "tags": [ "Notification" ], "summary": "Create Notification", "description": "Create new notification for client. Requires permission to create for a different client\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `notification:player:*`, `notification:player:write`\n\n- For the player themselves any of: `notification:player:self:*`, `notification:player:self:write`", "operationId": "player_create_notification", "parameters": [ { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotificationCreates" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotificationCreateResult" } } } }, "400": { "description": "\nError Codes:\n- `bad_id` - Passed client id is not a valid id\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "\nError Codes:\n- `too_many_listening_to_single_client` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "\nError Codes:\n- `connection_limit_reached` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/notification/v1/player/me/notification/{notification_id}": { "get": { "tags": [ "Notification" ], "summary": "Get Notification By Id Self", "description": "Retrieve a single notification by id\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `notification:player:*`, `notification:player:read`, `notification:player:self:*`, `notification:player:self:read`", "operationId": "player_get_notification_by_id_self", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Notification Id" }, "name": "notification_id", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Notification" } } } }, "400": { "description": "\nError Codes:\n- `bad_id` - Passed client id is not a valid id\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `resource_not_found` - Notification could not be found\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "\nError Codes:\n- `too_many_listening_to_single_client` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "\nError Codes:\n- `connection_limit_reached` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/notification/v1/player/{player_uuid}/notification/{notification_id}": { "get": { "tags": [ "Notification" ], "summary": "Get Notification By Id", "description": "Retrieve a single notification by id\n\nThis version can be used for any client provided its id (with proper permissions)\n\nRequired Permissions:\n\n- For any player (including themselves) any of: `notification:player:*`, `notification:player:read`\n\n- For the player themselves any of: `notification:player:self:*`, `notification:player:self:read`", "operationId": "player_get_notification_by_id", "parameters": [ { "required": true, "schema": { "type": "string", "title": "Notification Id" }, "name": "notification_id", "in": "path" }, { "required": true, "schema": { "type": "string", "format": "uuid", "title": "Player Uuid" }, "name": "player_uuid", "in": "path" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Notification" } } } }, "400": { "description": "\nError Codes:\n- `bad_id` - Passed client id is not a valid id\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `resource_not_found` - Notification could not be found\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "409": { "description": "\nError Codes:\n- `too_many_listening_to_single_client` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "503": { "description": "\nError Codes:\n- `connection_limit_reached` - An enumeration.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/config/v1/app_settings/server": { "get": { "tags": [ "Config" ], "summary": "Get App Settings Server", "description": "***DEPRECATED*** Please use /v2/kv instead. \n\nReturns app settings that are configured to be available to the server. \n\nRequired Permissions: : `config:app_settings:server:read`", "operationId": "get_app_settings_server", "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "title": "If-None-Match" }, "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "If you provide the ETag that matches the current ETag for this content, will return a 412 response - indicating that the content has changed.", "title": "If-Match" }, "description": "If you provide the ETag that matches the current ETag for this content, will return a 412 response - indicating that the content has changed." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/KV_V1" }, "title": "Response Get App Settings Server" } } }, "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "412": { "description": "Content has changed since the ETag was provided" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/config/v1/app_settings/client": { "get": { "tags": [ "Config" ], "summary": "Get App Settings Client", "description": "***DEPRECATED*** Please use /v2/kv instead. \n\nReturns app settings that are configured to be available to the client.", "operationId": "get_app_settings_client", "deprecated": true, "parameters": [ { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "title": "If-None-Match" }, "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "If you provide the ETag that matches the current ETag for this content, will return a 412 response - indicating that the content has changed.", "title": "If-Match" }, "description": "If you provide the ETag that matches the current ETag for this content, will return a 412 response - indicating that the content has changed." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/KV_V1" }, "title": "Response Get App Settings Client" } } }, "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "412": { "description": "Content has changed since the ETag was provided" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/config/v1/kv": { "get": { "tags": [ "Config" ], "summary": "Get App Settings All", "description": "***DEPRECATED*** Please use /v2/kv instead. \n\nIf authenticated and with correct permissions, will return all KVs. Otherwise it will only return non secret KVs.", "operationId": "get_app_settings_all", "deprecated": true, "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "keys_to_include", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "description": "If specified, will only return the KVs with the specified keys", "title": "Keys To Include" }, "description": "If specified, will only return the KVs with the specified keys" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "title": "If-None-Match" }, "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "If you provide the ETag that matches the current ETag for this content, will return a 412 response - indicating that the content has changed.", "title": "If-Match" }, "description": "If you provide the ETag that matches the current ETag for this content, will return a 412 response - indicating that the content has changed." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KVsResponseV1" } } }, "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "412": { "description": "Content has changed since the ETag was provided" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/config/v2/kv": { "get": { "tags": [ "Config" ], "summary": "Get Kvs V2", "description": "Get All KVs and Secret KVs. Regular KVs are always returned.\n\nRequired permissions for secret KVs: : `config:secret_kvs:read`", "operationId": "get_kvs_v2", "security": [ { "HTTPBearerHeadersOrCookie": [] } ], "parameters": [ { "name": "keys_to_include", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "description": "If specified, will only return the KVs with the specified keys", "title": "Keys To Include" }, "description": "If specified, will only return the KVs with the specified keys" }, { "name": "if-none-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed.", "title": "If-None-Match" }, "description": "If you provide the ETag that matches the current ETag for this content, will return a 304 response - indicating that the content has not changed." }, { "name": "if-match", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "If you provide the ETag that matches the current ETag for this content, will return a 412 response - indicating that the content has changed.", "title": "If-Match" }, "description": "If you provide the ETag that matches the current ETag for this content, will return a 412 response - indicating that the content has changed." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KVsResponseV2" } } }, "headers": { "ETag": { "description": "Used to identify this version of the content. Provide with a get request to avoid downloading the same data multiple times.", "schema": { "type": "string" } } } }, "304": { "description": "Content still has the same etag and has not changed" }, "412": { "description": "Content has changed since the ETag was provided" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/config/v1/time/utc": { "get": { "tags": [ "Config" ], "summary": "Get Utc Time", "description": "Returns the current UTC time for use by the game client. Allows a game client with a incorrect local time to compare against the API's time and create a offset to act upon.", "operationId": "get_utc_time", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "string", "format": "date-time", "title": "Response Get Utc Time" } } } } } } }, "/config/v1/environment": { "get": { "tags": [ "Config" ], "summary": "Get Environment Id", "description": "Returns the Environment configuration.", "operationId": "get_environment_id", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnvironmentConfig" } } } } } } }, "/events/v1/events": { "post": { "tags": [ "Events" ], "summary": "Receive Events V1", "description": "Post game events, return number of events being posted to Event Hub", "operationId": "receive_events_v1", "parameters": [ { "name": "x-rh-client-addr", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string", "maxLength": 32 }, { "type": "null" } ], "description": "IP Address hint", "title": "X-Rh-Client-Addr" }, "description": "IP Address hint" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventList" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostGameEventsResponse" } } } }, "207": { "description": "\nError Codes:\n- `events_multi_results` - Some of the events from the request failed to process, and uploaded to deadletter blob storage\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "400": { "description": "\nError Codes:\n- `event_denied` - Events of that name are currently denied\n- `event_duplicated` - Event has the same event_uuid as an event already received\n- `event_lists_invalid` - The input eventLists is invalid, failed pydantic validation\n- `event_params_invalid` - The event_params failed validation against the jsonschema defined for the type/version. See response description for more details. \n- `event_unsupported` - Event name is not known\n- `events_all_failed` - All of events from the request failed to process, and uploaded to deadletter blob storage\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "\nError Codes:\n- `event_schema_invalid` - event_params jsonschema is empty, failed to load from developer-api\n- `event_schema_not_found` - The jsonschema is invalid and could not be used to validate the event_params value. See response description for more details.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/events/v1/event-params-schema": { "get": { "tags": [ "Events" ], "summary": "Get All Event Schema", "description": "get all rh standard event and custom event params schema", "operationId": "get_all_event_schema", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EventParamsSchemaResponse" } } } } } } }, "/events/v1/validate": { "post": { "tags": [ "Events" ], "summary": "Validate Event V1", "description": "Validate a single event, return validation result and the event json will be posted to Kafka", "operationId": "validate_event_v1", "parameters": [ { "name": "x-rh-client-addr", "in": "header", "required": false, "schema": { "anyOf": [ { "type": "string", "maxLength": 32 }, { "type": "null" } ], "description": "IP Address hint", "title": "X-Rh-Client-Addr" }, "description": "IP Address hint" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RallyHereEvent" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateEventResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/custom/v1/custom/{endpoint_id}": { "post": { "tags": [ "Custom" ], "summary": "Custom Endpoint Send", "description": "Hit a predetermined URL specified by the passed in endpoint_id, the response from that URL is returned here.", "operationId": "custom_endpoint_send", "parameters": [ { "description": "The endpoint id", "required": true, "schema": { "type": "string", "title": "Endpoint Id", "description": "The endpoint id" }, "name": "endpoint_id", "in": "path" }, { "required": false, "schema": { "type": "string", "title": "Content-Type", "default": "application/json" }, "name": "content-type", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "title": "Body", "description": "The body of the request" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/ad/v1/session": { "post": { "tags": [ "Ad" ], "summary": "Begin New Session", "description": "Start a new session for the user. This will generate a new ad api token that is returned in the response header.", "operationId": "begin_new_session", "parameters": [ { "description": "Optional header to make calling the endpoint faster by not requiring a new token to be generated.", "required": false, "schema": { "type": "string", "title": "X-Hz-Ad-Api-Token", "description": "Optional header to make calling the endpoint faster by not requiring a new token to be generated." }, "name": "x-hz-ad-api-token", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_begin_new_session" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "x-hz-ad-api-token": { "description": "Provide this token to future requests for the same user to make their requests faster (as a new token doesn't need to be generated)", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": {} } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "headers": { "x-hz-ad-api-token": { "description": "Provide this token to future requests for the same user to make their requests faster (as a new token doesn't need to be generated)", "schema": { "type": "string" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/ad/v1/opportunity": { "post": { "tags": [ "Ad" ], "summary": "Find Opportunities", "description": "Find ad opportunities for the user given optional screen sizes. This will generate a new ad api token that is returned in the response header.", "operationId": "find_opportunities", "parameters": [ { "description": "Optional header to make calling the endpoint faster by not requiring a new token to be generated.", "required": false, "schema": { "type": "string", "title": "X-Hz-Ad-Api-Token", "description": "Optional header to make calling the endpoint faster by not requiring a new token to be generated." }, "name": "x-hz-ad-api-token", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_find_opportunities" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "x-hz-ad-api-token": { "description": "Provide this token to future requests for the same user to make their requests faster (as a new token doesn't need to be generated)", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdOpportunities" } } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "headers": { "x-hz-ad-api-token": { "description": "Provide this token to future requests for the same user to make their requests faster (as a new token doesn't need to be generated)", "schema": { "type": "string" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/ad/v1/opportunity/{opportunity_id}": { "post": { "tags": [ "Ad" ], "summary": "Update Opportunity By Id", "description": "Update the opportunity with the given id. This will generate a new ad api token that is returned in the response header.", "operationId": "update_opportunity_by_id", "parameters": [ { "required": true, "schema": { "type": "string", "minLength": 1, "title": "Opportunity Id" }, "name": "opportunity_id", "in": "path" }, { "description": "Optional header to make calling the endpoint faster by not requiring a new token to be generated.", "required": false, "schema": { "type": "string", "title": "X-Hz-Ad-Api-Token", "description": "Optional header to make calling the endpoint faster by not requiring a new token to be generated." }, "name": "x-hz-ad-api-token", "in": "header" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_update_opportunity_by_id" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "headers": { "x-hz-ad-api-token": { "description": "Provide this token to future requests for the same user to make their requests faster (as a new token doesn't need to be generated)", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": {} } } }, "403": { "description": "\nError Codes:\n- `auth_invalid_key_id` - Invalid Authorization - Invalid Key ID in Access Token\n- `auth_invalid_version` - Invalid Authorization - version\n- `auth_malformed_access` - Invalid Authorization - malformed access token\n- `auth_not_jwt` - Invalid Authorization\n- `auth_token_expired` - Token is expired\n- `auth_token_format` - Invalid Authorization - {}\n- `auth_token_invalid_claim` - Token contained invalid claim value: {}\n- `auth_token_invalid_type` - Invalid Authorization - Invalid Token Type\n- `auth_token_sig_invalid` - Token Signature is invalid\n- `auth_token_unknown` - Failed to parse token\n- `insufficient_permissions` - Insufficient Permissions\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HzApiErrorModel" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "500": { "description": "Internal Server Error", "headers": { "x-hz-ad-api-token": { "description": "Provide this token to future requests for the same user to make their requests faster (as a new token doesn't need to be generated)", "schema": { "type": "string" } } } } }, "security": [ { "HTTPBearerHeadersOrCookie": [] } ] } }, "/ad/v1/unity/ad/watched": { "get": { "tags": [ "Ad" ], "summary": "Unity Ad Watched", "description": "Callback URL for the Unity Ad API. Docs here https://docs.unity.com/ads/ImplementingS2SRedeemCallbacks.html", "operationId": "unity_ad_watched", "parameters": [ { "description": "Product ID in the Unity console", "required": true, "schema": { "type": "integer", "title": "Productid", "description": "Product ID in the Unity console" }, "name": "productid", "in": "query" }, { "description": "Server ID that contains custom data. Expected to be a comma separated list of platform and player ID", "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Sid", "description": "Server ID that contains custom data. Expected to be a comma separated list of platform and player ID" }, "example": "ios,12345", "name": "sid", "in": "query" }, { "description": "Unique ID for the ad view generated by Unity", "required": true, "schema": { "type": "string", "title": "Oid", "description": "Unique ID for the ad view generated by Unity" }, "name": "oid", "in": "query" }, { "description": "The HMAC-MD5 hash of the parameter string used to validate the request", "required": true, "schema": { "type": "string", "title": "Hmac", "description": "The HMAC-MD5 hash of the parameter string used to validate the request" }, "name": "hmac", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "text/plain": { "schema": { "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/ad/v1/unity/mediation/watched": { "get": { "tags": [ "Ad" ], "summary": "Unity Mediation Ad Watched", "description": "Callback URL for the Unity Ad API. Docs here https://docs.unity.com/mediation/S2SRedeemCallbacks.html", "operationId": "unity_mediation_ad_watched", "parameters": [ { "description": "Custom data provide by client. Expected to be client type", "required": true, "schema": { "type": "string", "title": "Customized Data", "description": "Custom data provide by client. Expected to be client type" }, "example": "android", "name": "customized_data", "in": "query" }, { "description": "User ID provided by the client", "required": true, "schema": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Userid", "description": "User ID provided by the client" }, "name": "userId", "in": "query" }, { "description": "Unique ID for the ad view generated by Unity", "required": true, "schema": { "type": "string", "title": "Eventid", "description": "Unique ID for the ad view generated by Unity" }, "name": "eventId", "in": "query" }, { "description": "Timestamp of an ad event in Unix format", "required": true, "schema": { "type": "integer", "title": "Timestamp", "description": "Timestamp of an ad event in Unix format" }, "name": "timestamp", "in": "query" }, { "description": "The HMAC-MD5 hash of the parameter string used to validate the request", "required": true, "schema": { "type": "string", "title": "Signature", "description": "The HMAC-MD5 hash of the parameter string used to validate the request" }, "name": "signature", "in": "query" } ], "responses": { "200": { "description": "Successful Response", "content": { "text/plain": { "schema": { "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } } }, "components": { "securitySchemes": { "HTTPBearerHeadersOrCookie": { "type": "http", "scheme": "bearer", "description": "RallyHere Environment API Access Token Authorization\n\nAccess tokens can be generated from the environment's Users-API login/oauth endpoints.\n\nAccepts authorization from the following request locations:\n- `Authorization` header with a scheme of `bearer`. E.g. `Authorization: bearer MYACCESSTOKENHERE`\n- `Authorization` cookie with a scheme of `bearer`. E.g. `bearer MYACCESSTOKENHERE`\n" }, "HTTPBasic": { "type": "http", "scheme": "basic", "description": "RallyHere Environment API Client Credential Authorization\n\nClient credentials are available from the Product's configuration in the RallyHere Developer Portal.\n" } }, "schemas": { "AgreementMessage": { "properties": { "auth_success": { "type": "boolean", "title": "Auth Success", "default": true }, "error_code": { "type": "string", "title": "Error Code" }, "desc": { "type": "string", "title": "Desc" }, "needs_eula": { "type": "boolean", "title": "Needs Eula", "description": "Whether the user needs to accept the End User License Agreement", "default": false }, "needs_tos": { "type": "boolean", "title": "Needs Tos", "description": "Whether the user needs to accept the Terms of Service", "default": false }, "needs_privacy_policy": { "type": "boolean", "title": "Needs Privacy Policy", "description": "Whether the user needs to accept the Privacy Policy", "default": false } }, "type": "object", "required": [ "error_code", "desc" ], "title": "AgreementMessage", "description": "Error message for when a user has not agreed to the EULA, TOS, or Privacy Policy" }, "CreatePlatformUserRequest": { "properties": { "platform": { "allOf": [ { "$ref": "#/components/schemas/Platform" } ], "description": "Platform to create with" }, "platform_user_id": { "type": "string", "maxLength": 2048, "minLength": 1, "title": "Platform User Id", "description": "Platform user ID to create with" }, "display_name": { "type": "string", "maxLength": 256, "title": "Display Name", "description": "Display name used when creating a new player" } }, "type": "object", "required": [ "platform", "platform_user_id" ], "title": "CreatePlatformUserRequest", "description": "Request parameters to create a user exists" }, "DeviceType": { "type": "string", "enum": [ "pc", "xbox_series", "xbox_one", "web" ], "title": "DeviceType", "description": "An enumeration.", "x-enum-descriptions": [ "", "", "", "" ], "x-enum-varnames": [ "pc", "xbox_series", "xbox_one", "web" ] }, "GrantType": { "type": "string", "enum": [ "anon", "google", "apple", "refresh", "epic", "xboxlive", "ps4_v1", "ps4_v3", "ps5_v3", "nintendo", "nintendo_switch", "steam", "basic", "rallyhere", "client_credentials" ], "title": "GrantType", "description": "Supported grant types for V1 Login Flow", "x-enum-descriptions": [ "Anonymous authentication", "Google authentication", "Apple authentication", "Refresh Token authentication", "Epic Online Services authentication", "Xbox Live authentication", "Playstation Network v1 authentication using the configured PS4 credentials", "Playstation Network v3 authentication using the configured PS5 credentials", "Playstation Network v3 authentication using the configured PS5 credentials", "Nintendo Account authentication", "Nintendo Service Account (for Nintendo Switch) authentication", "Steam authentication", "Basic Username/Password authentication", "RallyHere Developer authentication", "Authentication that doesn't require user credentials, only a Client ID/Secret in the Authorization header." ], "x-enum-varnames": [ "ANON", "GOOGLE", "APPLE", "REFRESH", "EPIC", "XBOXLIVE", "PS4_V1", "PS4_V3", "PS5_V3", "NINTENDO", "NINTENDO_SWITCH", "STEAM", "BASIC", "RALLYHERE", "CLIENT_CREDENTIALS" ] }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "HzApiErrorModel": { "properties": { "auth_success": { "type": "boolean", "title": "Auth Success", "default": true }, "error_code": { "type": "string", "title": "Error Code" }, "desc": { "type": "string", "title": "Desc" } }, "type": "object", "required": [ "error_code", "desc" ], "title": "HzApiErrorModel" }, "LinkAction": { "type": "string", "enum": [ "link", "unlink", "new_person", "xprog_enable", "xprog_disable" ], "title": "LinkAction", "description": "An enumeration.", "x-enum-descriptions": [ "Linked a player to an existing person", "Unlinked a player from a person", "Player was associated with a new person", "Active player was set for person, enabling cross-progression for all of the person's players", "Active player was cleared for person, disabling cross-progression for all of the person's players" ], "x-enum-varnames": [ "link", "unlink", "new_person", "xprog_enable", "xprog_disable" ] }, "LoginHistoryEntry": { "properties": { "player_uuid": { "type": "string", "format": "uuid", "title": "Player Uuid", "description": "player UUID" }, "platform": { "allOf": [ { "$ref": "#/components/schemas/Platform" } ], "description": "platform" }, "platform_user_id": { "type": "string", "maxLength": 2048, "title": "Platform User Id", "description": "platform user ID" }, "person_id": { "type": "string", "format": "uuid", "title": "Person Id", "description": "person ID" }, "user_agent": { "type": "string", "title": "User Agent", "description": "user agent string" }, "ip": { "type": "string", "title": "Ip", "description": "IP address" }, "client_id": { "type": "string", "title": "Client Id", "description": "client ID" }, "timestamp": { "type": "string", "format": "date-time", "title": "Time Zone Aware Datetime", "description": "Datetime that enforces that a timezone is given. Unix timestamps are allowed and forced into the UTC time zone" } }, "type": "object", "title": "LoginHistoryEntry", "description": "Entry in a users's login history. Some fields may be missing if the data is not available." }, "LoginHistoryPage": { "properties": { "entries": { "items": { "$ref": "#/components/schemas/LoginHistoryEntry" }, "type": "array", "title": "Entries", "description": "The login history entries" }, "continuation_token": { "type": "string", "title": "Continuation Token", "description": "Token to retrieve the next page of results" } }, "type": "object", "required": [ "entries" ], "title": "LoginHistoryPage" }, "LoginLootReward": { "properties": { "loot_id": { "type": "string", "title": "Loot Id", "description": "Loot ID" }, "legacy_loot_id": { "type": "integer", "title": "Legacy Loot Id", "description": "Legacy Loot ID" } }, "type": "object", "required": [ "legacy_loot_id" ], "title": "LoginLootReward", "description": "Login loot reward" }, "LoginRequestV1": { "properties": { "grant_type": { "allOf": [ { "$ref": "#/components/schemas/GrantType" } ], "description": "The grant type to use for authentication" }, "portal_access_token": { "type": "string", "title": "Portal Access Token", "description": "Token or secret used to authenticate the provided grant type", "default": "" }, "portal_display_name": { "type": "string", "title": "Portal Display Name", "description": "Some grant types support client-provided names", "default": "" }, "portal_parent_access_token": { "type": "string", "title": "Portal Parent Access Token", "description": "Some grant types have 2 tier authentication and require a second token/secret", "default": "" }, "portal_parent_display_name": { "type": "string", "title": "Portal Parent Display Name", "description": "Some grant types have 2 tier authentication and support a second display name", "default": "" }, "include_refresh": { "type": "boolean", "title": "Include Refresh", "description": "Indicates if the client wants a refresh token returned", "default": false }, "accept_eula": { "type": "boolean", "title": "Accept Eula", "description": "If true, the user has accepted the EULA", "default": false }, "accept_tos": { "type": "boolean", "title": "Accept Tos", "description": "If true, the user has accepted the Terms of Service", "default": false }, "accept_privacy_policy": { "type": "boolean", "title": "Accept Privacy Policy", "description": "If true, the user has accepted the Privacy Policy", "default": false } }, "type": "object", "required": [ "grant_type" ], "title": "LoginRequestV1" }, "LoginResult": { "properties": { "portal_parent_auth_result": { "allOf": [ { "$ref": "#/components/schemas/PortalUserInfo" } ], "title": "Portal Parent Auth Result", "description": "Parent portal auth result" }, "permissions": { "items": { "type": "string" }, "type": "array", "title": "Permissions", "description": "List of permissions for this user.", "default": [] }, "restrictions": { "items": { "$ref": "#/components/schemas/Restriction" }, "type": "array", "title": "Restrictions", "description": "List of restrictions on this player", "default": [] }, "active_player_id": { "type": "integer", "title": "Active Player Id", "description": "Active player ID. *DEPRECATED* use `active_player_uuid` instead", "deprecated": true }, "active_player_uuid": { "type": "string", "format": "uuid", "title": "Active Player Uuid", "description": "Active player UUID" }, "platform": { "allOf": [ { "$ref": "#/components/schemas/Platform" } ], "description": "Platform" }, "portal_id": { "type": "integer", "title": "Portal Id", "description": "Portal ID *DEPRECATED* use `platform` instead", "deprecated": true }, "portal_user_id": { "type": "string", "title": "Portal User Id", "description": "Portal user ID" }, "display_name": { "type": "string", "title": "Display Name", "description": "Display name" }, "role_id": { "type": "integer", "title": "Role Id", "description": "Role ID" }, "person_id": { "type": "string", "format": "uuid", "title": "Person Id", "description": "Person ID" }, "access_token": { "type": "string", "title": "Access Token", "description": "Access token that can be used for future requests", "default": "" }, "refresh_token": { "type": "string", "title": "Refresh Token", "description": "Refresh token that can be used to refresh authentication for a new access token" }, "publisher_uuid": { "type": "string", "format": "uuid", "title": "Publisher Uuid", "description": "Publisher UUID", "deprecated": true }, "tenant_uuid": { "type": "string", "format": "uuid", "title": "Tenant Uuid", "description": "Tenant UUID", "deprecated": true }, "config_elector_uuid": { "type": "string", "format": "uuid", "title": "Config Elector Uuid", "description": "Config elector UUID", "deprecated": true }, "client_uuid": { "type": "string", "format": "uuid", "title": "Client Uuid", "description": "Client UUID", "deprecated": true }, "client_id": { "type": "string", "title": "Client Id", "description": "Client ID" }, "token_type": { "type": "string", "title": "Token Type", "description": "Token type" }, "expires_in": { "type": "integer", "title": "Expires In", "description": "Result access token expiration time in seconds" } }, "type": "object", "required": [ "publisher_uuid", "tenant_uuid", "config_elector_uuid", "client_uuid", "client_id", "token_type" ], "title": "LoginResult", "description": "Login result" }, "LogoutRequest": { "properties": { "refresh_token": { "type": "string", "minLength": 1, "title": "Refresh Token", "description": "Refresh token to be invalidated" } }, "type": "object", "required": [ "refresh_token" ], "title": "LogoutRequest", "description": "Logout request" }, "LookupResults": { "properties": { "display_names": { "items": { "additionalProperties": { "items": { "$ref": "#/components/schemas/PlayerResponse" }, "type": "array" }, "type": "object" }, "type": "array", "title": "Display Names", "description": "List of display names and the players that match that display name", "default": [] }, "identity_platforms": { "additionalProperties": { "items": { "$ref": "#/components/schemas/PlatformIdentityLookupResults" }, "type": "array" }, "type": "object", "title": "Identity Platforms", "description": "*DEPRECATED* Use `identity_platforms_by_platform` instead. List of platforms and the players that match that platform user id", "default": {}, "deprecated": true }, "identity_platforms_by_platform": { "additionalProperties": { "items": { "$ref": "#/components/schemas/PlatformIdentityLookupResults" }, "type": "array" }, "type": "object", "title": "Identity Platforms By Platform", "description": "List of platforms and the players that match that platform user id", "default": {} } }, "type": "object", "title": "LookupResults", "description": "Lookup results for a player query" }, "OAuthGrantType": { "type": "string", "enum": [ "client_credentials" ], "title": "OAuthGrantType", "description": "Supported OAuth2 grant types", "x-enum-descriptions": [ "The OAuth2 client credentials grant type" ], "x-enum-varnames": [ "CLIENT_CREDENTIALS" ] }, "OAuthPortal": { "type": "string", "enum": [ "google", "apple", "epic", "xbox", "psn", "nintendo", "steam", "amazon", "twitch" ], "title": "OAuthPortal", "description": "Supported OAuth portals for V1 Login Flow", "x-enum-descriptions": [ "Google OAuth Portal", "Apple OAuth Portal", "Epic OAuth Portal", "Xbox OAuth Portal", "Playstation Network OAuth Portal", "Nintendo OAuth Portal", "Steam OAuth Portal", "Amazon OAuth Portal", "Twitch OAuth Portal" ], "x-enum-varnames": [ "GOOGLE", "APPLE", "EPIC", "XBOX", "PSN", "NINTENDO", "STEAM", "AMAZON", "TWITCH" ] }, "OAuthTokenEchangeGrantType": { "type": "string", "enum": [ "authorization_code" ], "title": "OAuthTokenEchangeGrantType", "description": "Supported grant types for OAuth Token Exchange process", "x-enum-descriptions": [ "Authorization code grant type for OAuth token exchange." ], "x-enum-varnames": [ "authorization_code" ] }, "OAuthTokenExchange": { "properties": { "grant_type": { "allOf": [ { "$ref": "#/components/schemas/OAuthTokenEchangeGrantType" } ], "description": "Grant type for the OAuth exchange." }, "code": { "type": "string", "minLength": 1, "title": "Code", "description": "authorization_code for the OAuth exchange." }, "accepted_eula": { "type": "boolean", "title": "Accepted Eula", "description": "If true, the user has accepted the EULA.", "default": false }, "accepted_tos": { "type": "boolean", "title": "Accepted Tos", "description": "If true, the user has accepted the TOS.", "default": false }, "accepted_privacy_policy": { "type": "boolean", "title": "Accepted Privacy Policy", "description": "If true, the user has accepted the Privacy Policy.", "default": false } }, "type": "object", "required": [ "grant_type", "code" ], "title": "OAuthTokenExchange", "description": "OAuth token exchange request." }, "OAuthTokenResponse": { "properties": { "access_token": { "type": "string", "title": "Access Token", "description": "Access token for the user." }, "refresh_token": { "type": "string", "title": "Refresh Token", "description": "Refresh token for the user." }, "needs_eula": { "type": "boolean", "title": "Needs Eula", "description": "If true, the user must accept the EULA before a token can be generated.", "default": false }, "needs_tos": { "type": "boolean", "title": "Needs Tos", "description": "If true, the user must accept the TOS before a token can be generated.", "default": false }, "needs_privacy_policy": { "type": "boolean", "title": "Needs Privacy Policy", "description": "If true, the user must accept the Privacy Policy before a token can be generated.", "default": false }, "regenerated_code": { "type": "string", "title": "Regenerated Code", "description": "If present, a new code was generated and can be used after the user accepts the required agreements." }, "error_message": { "type": "string", "title": "Error Message", "description": "Error message if an error occurred." } }, "type": "object", "title": "OAuthTokenResponse", "description": "OAuth token exchange response. Successful response will contain an access_token and refresh_token.\n\nIf the user has not accepted all required agreements, the response will contain the appropriate\nneeds_* flags and a regenerated_code. The regenerated_code is an authorization_code that can be used\nafter the user has accepted the required agreements." }, "PersonEmailListRequest": { "properties": { "email_list_ids": { "items": { "type": "integer" }, "type": "array", "title": "Email List Ids", "description": "List of all email list ids the user is subscribed to, even if already subscribed before request", "default": [] } }, "type": "object", "title": "PersonEmailListRequest", "description": "Request to update a person's email list subscriptions" }, "PersonEmailListResponse": { "properties": { "email_list_ids": { "items": { "type": "integer" }, "type": "array", "title": "Email List Ids", "description": "List of all email list ids the user is subscribed to" } }, "type": "object", "required": [ "email_list_ids" ], "title": "PersonEmailListResponse", "description": "Response for updating a person's email list subscriptions" }, "PersonInfoResponse": { "properties": { "person_id": { "type": "string", "format": "uuid", "title": "Person Id", "description": "Person ID" }, "active_player_id": { "type": "integer", "title": "Active Player Id", "description": "Active player ID, if the person has an active player." }, "email": { "type": "string", "title": "Email", "description": "Email address" } }, "type": "object", "title": "PersonInfoResponse", "description": "Response for getting a person's info" }, "PersonOperationRequest": { "properties": { "person_id": { "type": "string", "format": "uuid", "title": "Person Id", "description": "Person ID" }, "platform": { "allOf": [ { "$ref": "#/components/schemas/Platform" } ], "description": "Platform ID" }, "platform_user_id": { "type": "string", "maxLength": 2048, "title": "Platform User Id", "description": "Platform User ID" } }, "type": "object", "title": "PersonOperationRequest", "description": "Model for doing operations on a specific person. If person information is not provided, the information from the token claims will be used instead.\n\nPriority for finding the person ID:\n\n1. If the `person_id` is provided directly\n2. If the `platform` and `platform_user_id` are provided, the `person_id` of that platform user is used.\n3. If the Authorization header contains a user token, the platform and platform user id from the token are used to find the `person_id`." }, "Platform": { "type": "string", "enum": [ "Anon", "Basic", "XboxLive", "PSN", "NintendoNAID", "NintendoSwitch", "NintendoPPID", "Google", "GooglePlay", "Apple", "Epic", "Steam", "Amazon", "Twitch", "RallyHere", "LegacyName" ], "title": "Platform", "description": "An enumeration.", "x-enum-descriptions": [ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" ], "x-enum-varnames": [ "ANON", "BASIC", "XBOX_LIVE", "PSN", "NINTENDO_NAID", "NINTENDO_SWITCH", "NINTENDO_PPID", "GOOGLE", "GOOGLE_PLAY", "APPLE", "EPIC", "STEAM", "AMAZON", "TWITCH", "RALLYHERE", "LEGACYNAME" ] }, "PlatformIdentityLookupResults": { "properties": { "identity": { "additionalProperties": { "$ref": "#/components/schemas/PlayerResponse" }, "type": "object", "title": "Identity", "description": "List of platform user ids and the players that match that platform user id", "default": {} } }, "type": "object", "title": "PlatformIdentityLookupResults", "description": "Lookup results for a platform user id" }, "PlatformUserLinkRequest": { "properties": { "leader_person_id": { "type": "string", "format": "uuid", "title": "Leader Person Id",