├── .github └── workflows │ ├── types-publish.yml │ └── types-test.yml ├── LICENSE ├── contributing.md ├── docs ├── Contracts │ ├── GET ContractDefinitions_Fetch.md │ ├── GET ContractDefinitions_FetchActiveStory.md │ ├── GET Contracts_Fetch.md │ ├── GET ItemProgressionDefinitionsV2_Fetch.md │ ├── POST Contracts_Activate.md │ └── readme.md ├── Current Game │ ├── GET CoreGame_FetchAllChatMUCToken.md │ ├── GET CoreGame_FetchMatch.md │ ├── GET CoreGame_FetchMatchLoadouts.md │ ├── GET CoreGame_FetchPlayer.md │ ├── GET CoreGame_FetchTeamChatMUCToken.md │ ├── POST CoreGame_DisassociatePlayer.md │ └── readme.md ├── Local Chat │ ├── GET All Chat History.md │ ├── GET All Chat Info.md │ ├── GET All Chat Participants.md │ ├── GET Game Chat Info.md │ ├── GET Party Chat Info.md │ ├── GET Pregame Chat Info.md │ ├── GET Specific Chat History.md │ ├── GET TEXT_CHAT_RNet_FetchParticipants.md │ ├── POST Send Chat.md │ ├── POST Send Whisper.md │ └── readme.md ├── Other Local │ ├── GET ANTI_ADDICTION_RNet_FetchShutdownPolicyState.md │ ├── GET ANTI_ADDICTION_RNet_FetchWarningMessagePolicyState.md │ ├── GET CLIENTCONFIG_RNET_GET_ValorantClientConfig.md │ ├── GET LEGAL_INFO_RNet_EULA.md │ ├── GET LEGAL_INFO_RNet_Privacy.md │ ├── GET LOCALE_RNet_FetchAvailableLocales.md │ ├── GET LOCALE_RNet_FetchLocale.md │ ├── GET Local Swagger Docs.md │ ├── GET REPORTER_FEEDBACK_RNet_GetReporterFeedback.md │ ├── GET RIOT_WARNING_RNet_GetRiotWarning.md │ ├── GET RSO_RNet_FetchClientAuthorizations.md │ ├── GET RSO_RNet_GetAccessToken.md │ ├── GET RSO_RNet_GetUserInfoToken.md │ ├── GET Riot Client Command-Line Args.md │ ├── GET RiotStatus_RNet_FetchStatus.md │ ├── GET TEXT_CHAT_RNet_FetchSettings.md │ ├── GET TEXT_CHAT_RNet_GetMUCInfos - coregame.md │ ├── GET TEXT_CHAT_RNet_GetMUCInfos - parties.md │ ├── GET TEXT_CHAT_RNet_GetMUCInfos - pregame.md │ ├── GET TEXT_CHAT_RNet_GetMUCInfos - tournaments.md │ ├── GET URNetClient_CheckPluginStatus.md │ ├── GET URNetClient_CheckRMSSession.md │ ├── GET URNetClient_GetProcessInfo.md │ ├── GET VOICE_CHAT_RNet_FetchAudioProperties.md │ ├── GET VOICE_CHAT_RNet_FetchCaptureDevices.md │ ├── GET VOICE_CHAT_RNet_FetchPTTSettings.md │ ├── GET VOICE_CHAT_RNet_FetchRenderDevices.md │ ├── GET VOICE_CHAT_RNet_FetchSessions.md │ ├── GET VOICE_CHAT_RNet_FetchSettings.md │ ├── GET Valorant Log Path.md │ └── readme.md ├── PVP Endpoints │ ├── GET AccountXP_GetPlayer.md │ ├── GET Config_FetchConfig.md │ ├── GET Content_FetchContent.md │ ├── GET ItemProgressionDefinitionsV2_Fetch.md │ ├── GET MMR_FetchCompetitiveUpdates.md │ ├── GET MMR_FetchLeaderboard.md │ ├── GET MMR_FetchPlayer.md │ ├── GET MatchDetails_FetchMatchDetails.md │ ├── GET MatchHistory_FetchMatchHistory.md │ ├── GET Restrictions_FetchPlayerRestrictionsV2.md │ ├── GET playerLoadoutUpdate.md │ ├── PUT playerLoadoutUpdate.md │ └── readme.md ├── Party │ ├── DELETE Party_RemovePlayer.md │ ├── GET Party_FetchCustomGameConfigs.md │ ├── GET Party_FetchMUCToken.md │ ├── GET Party_FetchParty.md │ ├── GET Party_FetchPlayer.md │ ├── GET Party_FetchVoiceToken.md │ ├── POST Party_ChangeQueue.md │ ├── POST Party_DeclineRequest.md │ ├── POST Party_EnterMatchmakingQueue.md │ ├── POST Party_InviteToPartyByDisplayName.md │ ├── POST Party_LeaveMatchmakingQueue.md │ ├── POST Party_RefreshCompetitiveTier.md │ ├── POST Party_RefreshPings.md │ ├── POST Party_RefreshPlayerIdentity.md │ ├── POST Party_RequestToJoinParty.md │ ├── POST Party_SetAccessibility.md │ ├── POST Party_SetCustomGameSettings.md │ ├── POST Party_SetMemberReady.md │ ├── POST Party_StartCustomGame.md │ └── readme.md ├── Pre-Game │ ├── GET Pregame_FetchChatToken.md │ ├── GET Pregame_FetchVoiceToken.md │ ├── GET Pregame_GetMatch.md │ ├── GET Pregame_GetMatchLoadouts.md │ ├── GET Pregame_GetPlayer.md │ ├── POST Pregame_LockCharacter.md │ ├── POST Pregame_QuitMatch.md │ ├── POST Pregame_SelectCharacter.md │ └── readme.md ├── Riot Auth │ ├── GET Cookie Reauth.md │ ├── GET RSO_GetPlayerInfo.md │ ├── POST Auth Cookies.md │ ├── POST Entitlement.md │ ├── PUT Auth Request.md │ ├── PUT Multi-Factor Authentication.md │ └── readme.md ├── Session │ ├── GET Session_Get.md │ ├── GET Session_ReConnect.md │ └── readme.md ├── Store │ ├── GET Store_GetEntitlements.md │ ├── GET Store_GetOffers.md │ ├── GET Store_GetOrder.md │ ├── GET Store_GetStorefrontV2.md │ ├── GET Store_GetWallet.md │ └── readme.md ├── Third-Party API by Officer │ ├── GET Agents.md │ ├── GET Buddies.md │ ├── GET Buddy Levels.md │ ├── GET Bundles.md │ ├── GET Competitive Seasons.md │ ├── GET Competitive Tiers.md │ ├── GET Content Tiers.md │ ├── GET Contracts.md │ ├── GET Currencies.md │ ├── GET Events.md │ ├── GET Gamemode Equippables.md │ ├── GET Gamemodes.md │ ├── GET Gear.md │ ├── GET Maps.md │ ├── GET Player Cards.md │ ├── GET Player Titles.md │ ├── GET Seasons.md │ ├── GET Spray Levels.md │ ├── GET Sprays.md │ ├── GET Themes.md │ ├── GET Version.md │ ├── GET Weapon Skin Chromas.md │ ├── GET Weapon Skin Levels.md │ ├── GET Weapon Skins.md │ ├── GET Weapons.md │ └── readme.md ├── Useful Local │ ├── GET CHATFRIENDS_RNet_GET_ALL.md │ ├── GET FRIENDS_RNet_FetchFriendRequests.md │ ├── GET Local Help.md │ ├── GET PRESENCE_RNet_GET_ALL.md │ ├── GET PlayerAlias_RNet_GetActiveAlias.md │ ├── GET RSO Auth User Info.md │ ├── GET RSO_RNet_GetEntitlementsToken.md │ ├── GET Riot Client Region.md │ ├── GET RiotClientSession_FetchSessions.md │ ├── GET RiotKV_RNet_GetSettings.md │ ├── GET TEXT_CHAT_RNet_FetchSession.md │ └── readme.md ├── common-components.md ├── readme.md └── valorant-workspace-insomnia.json ├── readme.md ├── valorant-api-types ├── .gitignore ├── package-lock.json ├── package.json ├── readme.md ├── src │ ├── ValorantEndpoint.ts │ ├── commonTypes.ts │ ├── endpoints.ts │ ├── endpoints │ │ ├── auth │ │ │ ├── AuthCookies.ts │ │ │ ├── AuthRequest.ts │ │ │ ├── CookieReauth.ts │ │ │ ├── Entitlement.ts │ │ │ ├── MultiFactorAuthentication.ts │ │ │ ├── PASToken.ts │ │ │ ├── PlayerInfo.ts │ │ │ ├── RiotClientConfig.ts │ │ │ └── RiotGeo.ts │ │ ├── contracts │ │ │ ├── ActivateContract.ts │ │ │ ├── Contracts.ts │ │ │ └── ItemUpgrades.ts │ │ ├── currentgame │ │ │ ├── CurrentGameLoadouts.ts │ │ │ ├── CurrentGameMatch.ts │ │ │ ├── CurrentGamePlayer.ts │ │ │ └── CurrentGameQuit.ts │ │ ├── local │ │ │ ├── AccountAlias.ts │ │ │ ├── ChatSession.ts │ │ │ ├── ClientRegion.ts │ │ │ ├── EntitlementsToken.ts │ │ │ ├── FriendRequests.ts │ │ │ ├── Friends.ts │ │ │ ├── LocalHelp.ts │ │ │ ├── LocalSwaggerDocs.ts │ │ │ ├── Presence.ts │ │ │ ├── RSOUserInfo.ts │ │ │ ├── RemoveFriendRequest.ts │ │ │ ├── SendFriendRequest.ts │ │ │ ├── Sessions.ts │ │ │ ├── Settings.ts │ │ │ └── chat │ │ │ │ ├── AllChatInfo.ts │ │ │ │ ├── ChatHistory.ts │ │ │ │ ├── ChatParticipants.ts │ │ │ │ ├── CurrentGameChatInfo.ts │ │ │ │ ├── PartyChatInfo.ts │ │ │ │ ├── PregameChatInfo.ts │ │ │ │ └── SendChat.ts │ │ ├── party │ │ │ ├── ChangeQueue.ts │ │ │ ├── CustomGameConfigs.ts │ │ │ ├── EnterMatchmakingQueue.ts │ │ │ ├── LeaveMatchmakingQueue.ts │ │ │ ├── Party.ts │ │ │ ├── PartyChatToken.ts │ │ │ ├── PartyDecline.ts │ │ │ ├── PartyDisableCode.ts │ │ │ ├── PartyGenerateCode.ts │ │ │ ├── PartyInvite.ts │ │ │ ├── PartyJoinByCode.ts │ │ │ ├── PartyPlayer.ts │ │ │ ├── PartyRemovePlayer.ts │ │ │ ├── PartyRequest.ts │ │ │ ├── PartySetMemberReady.ts │ │ │ ├── PartyVoiceToken.ts │ │ │ ├── RefreshCompetitiveTier.ts │ │ │ ├── RefreshPings.ts │ │ │ ├── RefreshPlayerIdentity.ts │ │ │ ├── SetCustomGameSettings.ts │ │ │ ├── SetPartyAccessibility.ts │ │ │ └── StartCustomGame.ts │ │ ├── pregame │ │ │ ├── LockCharacter.ts │ │ │ ├── PregameLoadouts.ts │ │ │ ├── PregameMatch.ts │ │ │ ├── PregamePlayer.ts │ │ │ ├── PregameQuit.ts │ │ │ └── SelectCharacter.ts │ │ ├── pvp │ │ │ ├── AccountXP.ts │ │ │ ├── CompetitiveUpdates.ts │ │ │ ├── Config.ts │ │ │ ├── FetchContent.ts │ │ │ ├── Leaderboard.ts │ │ │ ├── MatchDetails.ts │ │ │ ├── MatchHistory.ts │ │ │ ├── NameService.ts │ │ │ ├── Penalties.ts │ │ │ ├── PlayerLoadout.ts │ │ │ ├── PlayerMMR.ts │ │ │ └── SetPlayerLoadout.ts │ │ └── store │ │ │ ├── OwnedItems.ts │ │ │ ├── Prices.ts │ │ │ ├── Storefront.ts │ │ │ └── Wallet.ts │ └── index.ts ├── tests │ ├── endpoint-responses │ │ ├── account-xp │ │ │ └── response.json │ │ ├── competitive-updates │ │ │ └── response.json │ │ ├── config │ │ │ └── response.json │ │ ├── current-game-loadouts │ │ │ └── singleplayer.json │ │ ├── current-game-match │ │ │ └── singleplayer.json │ │ ├── fetch-content │ │ │ └── response.json │ │ ├── leaderboard │ │ │ └── ten-players.json │ │ ├── match-details │ │ │ ├── competitive.json │ │ │ ├── custom-hidehistory.json │ │ │ ├── custom.json │ │ │ ├── deathmatch.json │ │ │ ├── escalation.json │ │ │ ├── spikerush.json │ │ │ ├── swiftplay.json │ │ │ ├── unrated-forfeit.json │ │ │ └── unrated.json │ │ ├── match-history │ │ │ ├── casual.json │ │ │ └── tryhard.json │ │ ├── name-service │ │ │ └── single-name.json │ │ ├── party │ │ │ └── single-player.json │ │ ├── penalties │ │ │ └── no-penalties.json │ │ ├── player-loadout │ │ │ └── response.json │ │ ├── player-mmr │ │ │ └── response.json │ │ ├── pre-game-loadouts │ │ │ └── singleplayer.json │ │ ├── pre-game-match │ │ │ └── singleplayer-custom.json │ │ ├── readme.md │ │ └── storefront │ │ │ └── no-night-market.json │ ├── src │ │ ├── deepStrict.ts │ │ └── test.ts │ └── tsconfig.json └── tsconfig.json └── web ├── .gitignore ├── .vscode ├── extensions.json └── launch.json ├── README.md ├── astro.config.mjs ├── package-lock.json ├── package.json ├── public ├── favicon.ico └── robots.txt ├── src ├── components │ ├── Card.astro │ ├── EndpointMethod.astro │ ├── InsomniaButton.astro │ ├── RepoLink.astro │ ├── Sidebar.astro │ ├── SimpleCode.astro │ └── doc-fragments │ │ ├── ClientPlatform.astro │ │ ├── ClientVersion.astro │ │ ├── LockfilePassword.astro │ │ ├── Port.astro │ │ ├── Region.astro │ │ └── Shard.astro ├── env.d.ts ├── images │ └── insomnia.svg ├── layouts │ └── Layout.astro ├── pages │ ├── 404.astro │ ├── endpoint │ │ └── [slug].astro │ ├── index.astro │ └── insomnia.json.ts ├── styles │ └── base.css ├── themes │ └── github-dark.json └── types │ └── AugmentedValorantEndpoint.ts ├── tailwind.config.cjs └── tsconfig.json /.github/workflows/types-publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish valorant-api-types package to npmjs 2 | on: 3 | push: 4 | tags: 5 | - v* 6 | jobs: 7 | build: 8 | runs-on: ubuntu-latest 9 | defaults: 10 | run: 11 | working-directory: ./valorant-api-types 12 | permissions: 13 | contents: read 14 | id-token: write 15 | steps: 16 | - uses: actions/checkout@v4 17 | - uses: actions/setup-node@v4 18 | with: 19 | node-version: '20.x' 20 | registry-url: 'https://registry.npmjs.org' 21 | - run: npm ci 22 | - run: npm publish --provenance --access public --foreground-scripts 23 | env: 24 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} -------------------------------------------------------------------------------- /.github/workflows/types-test.yml: -------------------------------------------------------------------------------- 1 | name: Types Test 2 | on: 3 | push: 4 | pull_request: 5 | jobs: 6 | build: 7 | defaults: 8 | run: 9 | working-directory: valorant-api-types 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v3 13 | - name: 'Use Node.js 20.x' 14 | uses: actions/setup-node@v3 15 | with: 16 | node-version: '20.x' 17 | - run: npm ci 18 | - run: npm test -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Techdoodle 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Please don't modify any files/directories under the `docs` directory. Those files are automatically generated. 4 | 5 | To modify the underlying data sources, see [./valorant-api-types](./valorant-api-types). 6 | To change the web docs itself, check [./web](./web). 7 | -------------------------------------------------------------------------------- /docs/Contracts/GET ContractDefinitions_FetchActiveStory.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET ContractDefinitions_FetchActiveStory 13 | 14 | Get the battlepass contracts 15 | 16 | 17 | Method: `GET` 18 | URL: `https://pd.{shard}.a.pvp.net/contract-definitions/v2/definitions/story` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 27 | 28 | -------------------------------------------------------------------------------- /docs/Contracts/readme.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # Contracts 10 | 11 | ### Endpoints: 12 | |Name|Description| 13 | |---|---| 14 | |[ContractDefinitions_Fetch](GET%20ContractDefinitions_Fetch.md)|Get names and descriptions for contracts| 15 | |[Contracts_Fetch](GET%20Contracts_Fetch.md)|Get a list of contracts and completion status including match history| 16 | |[Contracts_Activate](POST%20Contracts_Activate.md)|Activate a particular contract| 17 | |[ContractDefinitions_FetchActiveStory](GET%20ContractDefinitions_FetchActiveStory.md)|Get the battlepass contracts| 18 | |[ItemProgressionDefinitionsV2_Fetch](GET%20ItemProgressionDefinitionsV2_Fetch.md)|Get item upgrades| 19 | 20 | -------------------------------------------------------------------------------- /docs/Current Game/GET CoreGame_FetchAllChatMUCToken.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET CoreGame_FetchAllChatMUCToken 13 | 14 | Get a token for all chat 15 | 16 | 17 | Method: `GET` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/core-game/v1/matches/{in-progress match id}/allchatmuctoken` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{in-progress match id}`: Read [Common Components - Coregame Match ID](../common-components.md#coregame-match-id) 29 | 30 | -------------------------------------------------------------------------------- /docs/Current Game/GET CoreGame_FetchPlayer.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET CoreGame_FetchPlayer 13 | 14 | Get the game ID for an ongoing game the player is in 15 | 16 | 17 | Method: `GET` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/core-game/v1/players/{puuid}` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{puuid}`: Read [Common Components - PUUID](../common-components.md#puuid) 29 | 30 | 31 | ### Response Format: 32 | ```ts 33 | type CurrentGamePlayerResponse = { 34 | /** Player UUID */ 35 | Subject: string; 36 | /** Pre-Game Match ID */ 37 | MatchID: string; 38 | Version: number; 39 | }; 40 | ``` 41 | -------------------------------------------------------------------------------- /docs/Current Game/GET CoreGame_FetchTeamChatMUCToken.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET CoreGame_FetchTeamChatMUCToken 13 | 14 | Get a token for team chat 15 | 16 | 17 | Method: `GET` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/core-game/v1/matches/{in-progress match id}/teamchatmuctoken` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{in-progress match id}`: Read [Common Components - Coregame Match ID](../common-components.md#coregame-match-id) 29 | 30 | -------------------------------------------------------------------------------- /docs/Current Game/POST CoreGame_DisassociatePlayer.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # POST CoreGame_DisassociatePlayer 13 | 14 | Leave an in-progress game 15 | 16 | 17 | Method: `POST` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/core-game/v1/players/{puuid}/disassociate/{in-progress match id}` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{puuid}`: Read [Common Components - PUUID](../common-components.md#puuid) 29 | - `{in-progress match id}`: Read [Common Components - Coregame Match ID](../common-components.md#coregame-match-id) 30 | 31 | -------------------------------------------------------------------------------- /docs/Current Game/readme.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # Current Game 10 | 11 | ### Endpoints: 12 | |Name|Description| 13 | |---|---| 14 | |[CoreGame_FetchPlayer](GET%20CoreGame_FetchPlayer.md)|Get the game ID for an ongoing game the player is in| 15 | |[CoreGame_FetchMatch](GET%20CoreGame_FetchMatch.md)|Get information about an ongoing game| 16 | |[CoreGame_FetchMatchLoadouts](GET%20CoreGame_FetchMatchLoadouts.md)|Get player skins and sprays for an ongoing game| 17 | |[CoreGame_FetchTeamChatMUCToken](GET%20CoreGame_FetchTeamChatMUCToken.md)|Get a token for team chat| 18 | |[CoreGame_FetchAllChatMUCToken](GET%20CoreGame_FetchAllChatMUCToken.md)|Get a token for all chat| 19 | |[CoreGame_DisassociatePlayer](POST%20CoreGame_DisassociatePlayer.md)|Leave an in-progress game| 20 | 21 | -------------------------------------------------------------------------------- /docs/Local Chat/GET All Chat History.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET All Chat History 13 | 14 | Get chat history for all conversations 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v6/messages` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type ChatHistoryResponse = { 29 | messages: { 30 | body: string; 31 | cid: string; 32 | game_name: string; 33 | game_tag: string; 34 | id: string; 35 | mid: string; 36 | name: string; 37 | pid: string; 38 | /** Player UUID */ 39 | puuid: string; 40 | read: boolean; 41 | region: string; 42 | /** Time in milliseconds since epoch */ 43 | time: string; 44 | type: "chat" | "groupchat"; 45 | }[]; 46 | }; 47 | ``` 48 | -------------------------------------------------------------------------------- /docs/Local Chat/GET All Chat Info.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET All Chat Info 13 | 14 | Get information about all active conversations 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v6/conversations/` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type AllChatInfoResponse = { 29 | conversations: { 30 | cid: string; 31 | direct_messages: boolean; 32 | global_readership: boolean; 33 | message_history: boolean; 34 | mid: string; 35 | muted: boolean; 36 | mutedRestriction: boolean; 37 | type: "groupchat" | "chat"; 38 | uiState: { 39 | changedSinceHidden: boolean; 40 | hidden: boolean; 41 | }; 42 | unread_count: number; 43 | }[]; 44 | }; 45 | ``` 46 | -------------------------------------------------------------------------------- /docs/Local Chat/GET All Chat Participants.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET All Chat Participants 13 | 14 | Get information about all the participants of every active conversation 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v5/participants/` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type ChatParticipantsResponse = { 29 | participants: { 30 | activePlatform: null; 31 | cid: string; 32 | game_name: string; 33 | game_tag: string; 34 | muted: boolean; 35 | name: string; 36 | pid: string; 37 | /** Player UUID */ 38 | puuid: string; 39 | region: string; 40 | }[]; 41 | }; 42 | ``` 43 | -------------------------------------------------------------------------------- /docs/Local Chat/GET Game Chat Info.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Game Chat Info 13 | 14 | Get information about the game chat 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v6/conversations/ares-coregame` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type CurrentGameChatInfoResponse = { 29 | conversations: { 30 | cid: string; 31 | direct_messages: boolean; 32 | global_readership: boolean; 33 | message_history: boolean; 34 | mid: string; 35 | muted: boolean; 36 | mutedRestriction: boolean; 37 | type: "groupchat" | "chat"; 38 | uiState: { 39 | changedSinceHidden: boolean; 40 | hidden: boolean; 41 | }; 42 | unread_count: number; 43 | }[]; 44 | }; 45 | ``` 46 | -------------------------------------------------------------------------------- /docs/Local Chat/GET Party Chat Info.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Party Chat Info 13 | 14 | Get information about the party chat 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v6/conversations/ares-parties` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type PartyChatInfoResponse = { 29 | conversations: { 30 | cid: string; 31 | direct_messages: boolean; 32 | global_readership: boolean; 33 | message_history: boolean; 34 | mid: string; 35 | muted: boolean; 36 | mutedRestriction: boolean; 37 | type: "groupchat" | "chat"; 38 | uiState: { 39 | changedSinceHidden: boolean; 40 | hidden: boolean; 41 | }; 42 | unread_count: number; 43 | }[]; 44 | }; 45 | ``` 46 | -------------------------------------------------------------------------------- /docs/Local Chat/GET Pregame Chat Info.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Pregame Chat Info 13 | 14 | Get information about the pregame chat 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v6/conversations/ares-pregame` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type Pre-GameChatInfoResponse = { 29 | conversations: { 30 | cid: string; 31 | direct_messages: boolean; 32 | global_readership: boolean; 33 | message_history: boolean; 34 | mid: string; 35 | muted: boolean; 36 | mutedRestriction: boolean; 37 | type: "groupchat" | "chat"; 38 | uiState: { 39 | changedSinceHidden: boolean; 40 | hidden: boolean; 41 | }; 42 | unread_count: number; 43 | }[]; 44 | }; 45 | ``` 46 | -------------------------------------------------------------------------------- /docs/Local Chat/GET Specific Chat History.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Specific Chat History 13 | 14 | Get chat history for a specific conversation 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v6/messages?cid={cid}` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | - `{cid}`: Read [Common Components - Chat ID](../common-components.md#chat-id) 25 | 26 | 27 | ### Response Format: 28 | ```ts 29 | type ChatHistoryResponse = { 30 | messages: { 31 | body: string; 32 | cid: string; 33 | game_name: string; 34 | game_tag: string; 35 | id: string; 36 | mid: string; 37 | name: string; 38 | pid: string; 39 | /** Player UUID */ 40 | puuid: string; 41 | read: boolean; 42 | region: string; 43 | /** Time in milliseconds since epoch */ 44 | time: string; 45 | type: "chat" | "groupchat"; 46 | }[]; 47 | }; 48 | ``` 49 | -------------------------------------------------------------------------------- /docs/Local Chat/GET TEXT_CHAT_RNet_FetchParticipants.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET TEXT_CHAT_RNet_FetchParticipants 13 | 14 | Get information about the participants of a chat 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v5/participants/?cid={cid}` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | - `{cid}`: Read [Common Components - Chat ID](../common-components.md#chat-id) 25 | 26 | 27 | ### Response Format: 28 | ```ts 29 | type ChatParticipantsResponse = { 30 | participants: { 31 | activePlatform: null; 32 | cid: string; 33 | game_name: string; 34 | game_tag: string; 35 | muted: boolean; 36 | name: string; 37 | pid: string; 38 | /** Player UUID */ 39 | puuid: string; 40 | region: string; 41 | }[]; 42 | }; 43 | ``` 44 | -------------------------------------------------------------------------------- /docs/Local Chat/POST Send Chat.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # POST Send Chat 13 | 14 | Send a message to the specified group 15 | 16 | 17 | Method: `POST` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v6/messages/` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | - `Content-Type`: `application/json` 22 | 23 | Body: 24 | ``` 25 | { 26 | "cid": "{cid}", 27 | "message": "{message}", 28 | "type": "groupchat" 29 | } 30 | ``` 31 | Variables: 32 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 33 | - `{cid}`: Read [Common Components - Chat ID](../common-components.md#chat-id) 34 | 35 | 36 | ### Response Format: 37 | ```ts 38 | type SendChatResponse = { 39 | messages: { 40 | body: string; 41 | cid: string; 42 | game_name: string; 43 | game_tag: string; 44 | id: string; 45 | mid: string; 46 | name: string; 47 | pid: string; 48 | /** Player UUID */ 49 | puuid: string; 50 | read: boolean; 51 | region: string; 52 | /** Time in milliseconds since epoch */ 53 | time: string; 54 | type: "chat" | "groupchat"; 55 | }[]; 56 | }; 57 | ``` 58 | -------------------------------------------------------------------------------- /docs/Local Chat/readme.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # Local Chat 10 | 11 | ### Endpoints: 12 | |Name|Description| 13 | |---|---| 14 | |[Party Chat Info](GET%20Party%20Chat%20Info.md)|Get information about the party chat| 15 | |[Pregame Chat Info](GET%20Pregame%20Chat%20Info.md)|Get information about the pregame chat| 16 | |[Game Chat Info](GET%20Game%20Chat%20Info.md)|Get information about the game chat| 17 | |[All Chat Info](GET%20All%20Chat%20Info.md)|Get information about all active conversations| 18 | |[TEXT_CHAT_RNet_FetchParticipants](GET%20TEXT_CHAT_RNet_FetchParticipants.md)|Get information about the participants of a chat| 19 | |[All Chat Participants](GET%20All%20Chat%20Participants.md)|Get information about all the participants of every active conversation| 20 | |[Send Whisper](POST%20Send%20Whisper.md)|Send a whisper to the specified player| 21 | |[Send Chat](POST%20Send%20Chat.md)|Send a message to the specified group| 22 | |[All Chat History](GET%20All%20Chat%20History.md)|Get chat history for all conversations| 23 | |[Specific Chat History](GET%20Specific%20Chat%20History.md)|Get chat history for a specific conversation| 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET ANTI_ADDICTION_RNet_FetchShutdownPolicyState.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET ANTI_ADDICTION_RNet_FetchShutdownPolicyState 13 | 14 | Method: `GET` 15 | URL: `https://127.0.0.1:{lockfile port}/anti-addiction/v1/products/valorant/policies/shutdown/anti-addiction-state` 16 | Headers: 17 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 18 | 19 | Variables: 20 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 21 | 22 | -------------------------------------------------------------------------------- /docs/Other Local/GET ANTI_ADDICTION_RNet_FetchWarningMessagePolicyState.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET ANTI_ADDICTION_RNet_FetchWarningMessagePolicyState 13 | 14 | Method: `GET` 15 | URL: `https://127.0.0.1:{lockfile port}/anti-addiction/v1/products/valorant/policies/warningMessage/anti-addiction-state` 16 | Headers: 17 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 18 | 19 | Variables: 20 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 21 | 22 | -------------------------------------------------------------------------------- /docs/Other Local/GET CLIENTCONFIG_RNET_GET_ValorantClientConfig.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET CLIENTCONFIG_RNET_GET_ValorantClientConfig 13 | 14 | Method: `GET` 15 | URL: `https://127.0.0.1:{lockfile port}/client-config/v2/namespace/valorant.client/player` 16 | Headers: 17 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 18 | 19 | Variables: 20 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 21 | 22 | -------------------------------------------------------------------------------- /docs/Other Local/GET LEGAL_INFO_RNet_EULA.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET LEGAL_INFO_RNet_EULA 13 | 14 | Get the EULA 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/eula/v1/agreement/content` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET LEGAL_INFO_RNet_Privacy.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET LEGAL_INFO_RNet_Privacy 13 | 14 | Get privacy policy 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/eula/v1/privacy-policy/content` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET LOCALE_RNet_FetchAvailableLocales.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET LOCALE_RNet_FetchAvailableLocales 13 | 14 | Get available locales 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/rnet-product-registry/v4/available-product-locales/products/valorant/patchlines/live` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET LOCALE_RNet_FetchLocale.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET LOCALE_RNet_FetchLocale 13 | 14 | Get the current locale 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/riotclient/product-locales/products/valorant/patchlines/live` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET Local Swagger Docs.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Local Swagger Docs 13 | 14 | Fetches json Swagger docs for local endpoints. Can be imported into Swagger or Insomnia. 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/swagger/v3/openapi.json` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type LocalSwaggerDocsResponse = unknown; 29 | ``` 30 | -------------------------------------------------------------------------------- /docs/Other Local/GET REPORTER_FEEDBACK_RNet_GetReporterFeedback.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET REPORTER_FEEDBACK_RNet_GetReporterFeedback 13 | 14 | Method: `GET` 15 | URL: `https://127.0.0.1:{lockfile port}/player-reporting/v1/reporter-feedback` 16 | Headers: 17 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 18 | 19 | Variables: 20 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 21 | 22 | -------------------------------------------------------------------------------- /docs/Other Local/GET RIOT_WARNING_RNet_GetRiotWarning.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET RIOT_WARNING_RNet_GetRiotWarning 13 | 14 | Method: `GET` 15 | URL: `https://127.0.0.1:{lockfile port}/ga-warning/v1/warnings` 16 | Headers: 17 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 18 | 19 | Variables: 20 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 21 | 22 | -------------------------------------------------------------------------------- /docs/Other Local/GET RSO_RNet_FetchClientAuthorizations.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET RSO_RNet_FetchClientAuthorizations 13 | 14 | Gets tokens in use by the client 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/rso-auth/v2/authorizations/valorant-client` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET RSO_RNet_GetAccessToken.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET RSO_RNet_GetAccessToken 13 | 14 | Gets a Riot access token 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/rso-auth/v1/authorization/access-token` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET RSO_RNet_GetUserInfoToken.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET RSO_RNet_GetUserInfoToken 13 | 14 | Method: `GET` 15 | URL: `https://127.0.0.1:{lockfile port}/rso-auth/v1/userinfo/valorant-client` 16 | Headers: 17 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 18 | 19 | Variables: 20 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 21 | 22 | -------------------------------------------------------------------------------- /docs/Other Local/GET Riot Client Command-Line Args.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Riot Client Command-Line Args 13 | 14 | Gets the command-line args provided to the Riot client 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/riotclient/command-line-args` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET RiotStatus_RNet_FetchStatus.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET RiotStatus_RNet_FetchStatus 13 | 14 | Get game status information such as maintenances and incidents 15 | Response is an escaped JSON string. 16 | 17 | 18 | Method: `GET` 19 | URL: `https://127.0.0.1:{lockfile port}/riot-status/v1/products/valorant/patchlines/live/deployments/{region}` 20 | Headers: 21 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 22 | 23 | Variables: 24 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 25 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 26 | 27 | -------------------------------------------------------------------------------- /docs/Other Local/GET TEXT_CHAT_RNet_FetchSettings.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET TEXT_CHAT_RNet_FetchSettings 13 | 14 | Get chat settings 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v1/settings` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET TEXT_CHAT_RNet_GetMUCInfos - coregame.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET TEXT_CHAT_RNet_GetMUCInfos - coregame 13 | 14 | Get in-game conversations 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v6/conversations/ares-coregame` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type CurrentGameChatInfoResponse = { 29 | conversations: { 30 | cid: string; 31 | direct_messages: boolean; 32 | global_readership: boolean; 33 | message_history: boolean; 34 | mid: string; 35 | muted: boolean; 36 | mutedRestriction: boolean; 37 | type: "groupchat" | "chat"; 38 | uiState: { 39 | changedSinceHidden: boolean; 40 | hidden: boolean; 41 | }; 42 | unread_count: number; 43 | }[]; 44 | }; 45 | ``` 46 | -------------------------------------------------------------------------------- /docs/Other Local/GET TEXT_CHAT_RNet_GetMUCInfos - parties.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET TEXT_CHAT_RNet_GetMUCInfos - parties 13 | 14 | Get party conversations 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v6/conversations/ares-parties` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type PartyChatInfoResponse = { 29 | conversations: { 30 | cid: string; 31 | direct_messages: boolean; 32 | global_readership: boolean; 33 | message_history: boolean; 34 | mid: string; 35 | muted: boolean; 36 | mutedRestriction: boolean; 37 | type: "groupchat" | "chat"; 38 | uiState: { 39 | changedSinceHidden: boolean; 40 | hidden: boolean; 41 | }; 42 | unread_count: number; 43 | }[]; 44 | }; 45 | ``` 46 | -------------------------------------------------------------------------------- /docs/Other Local/GET TEXT_CHAT_RNet_GetMUCInfos - pregame.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET TEXT_CHAT_RNet_GetMUCInfos - pregame 13 | 14 | Get pregame conversations 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v6/conversations/ares-pregame` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type Pre-GameChatInfoResponse = { 29 | conversations: { 30 | cid: string; 31 | direct_messages: boolean; 32 | global_readership: boolean; 33 | message_history: boolean; 34 | mid: string; 35 | muted: boolean; 36 | mutedRestriction: boolean; 37 | type: "groupchat" | "chat"; 38 | uiState: { 39 | changedSinceHidden: boolean; 40 | hidden: boolean; 41 | }; 42 | unread_count: number; 43 | }[]; 44 | }; 45 | ``` 46 | -------------------------------------------------------------------------------- /docs/Other Local/GET TEXT_CHAT_RNet_GetMUCInfos - tournaments.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET TEXT_CHAT_RNet_GetMUCInfos - tournaments 13 | 14 | Get in-tournament conversations 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v6/conversations/ares-tournaments` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET URNetClient_CheckPluginStatus.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET URNetClient_CheckPluginStatus 13 | 14 | Gets plugin status 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/plugin-manager/v1/status` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET URNetClient_CheckRMSSession.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET URNetClient_CheckRMSSession 13 | 14 | Gets the token for Riot Messaging Service 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/riot-messaging-service/v1/session` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET URNetClient_GetProcessInfo.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET URNetClient_GetProcessInfo 13 | 14 | Gets the Valorant process ID 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/process-control/v1/process` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET VOICE_CHAT_RNet_FetchAudioProperties.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET VOICE_CHAT_RNet_FetchAudioProperties 13 | 14 | Get audio properties such as if the microphone is in use 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/voice-chat/v1/audio-properties` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET VOICE_CHAT_RNet_FetchCaptureDevices.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET VOICE_CHAT_RNet_FetchCaptureDevices 13 | 14 | Get microphone input device info 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/voice-chat/v2/devices/capture` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET VOICE_CHAT_RNet_FetchPTTSettings.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET VOICE_CHAT_RNet_FetchPTTSettings 13 | 14 | Method: `GET` 15 | URL: `https://127.0.0.1:{lockfile port}/voice-chat/v2/push-to-talk/valorant` 16 | Headers: 17 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 18 | 19 | Variables: 20 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 21 | 22 | -------------------------------------------------------------------------------- /docs/Other Local/GET VOICE_CHAT_RNet_FetchRenderDevices.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET VOICE_CHAT_RNet_FetchRenderDevices 13 | 14 | Get audio output devices 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/voice-chat/v2/devices/render` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/Other Local/GET VOICE_CHAT_RNet_FetchSessions.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET VOICE_CHAT_RNet_FetchSessions 13 | 14 | Method: `GET` 15 | URL: `https://127.0.0.1:{lockfile port}/voice-chat/v3/sessions/valorant` 16 | Headers: 17 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 18 | 19 | Variables: 20 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 21 | 22 | -------------------------------------------------------------------------------- /docs/Other Local/GET VOICE_CHAT_RNet_FetchSettings.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET VOICE_CHAT_RNet_FetchSettings 13 | 14 | Method: `GET` 15 | URL: `https://127.0.0.1:{lockfile port}/voice-chat/v3/settings/valorant` 16 | Headers: 17 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 18 | 19 | Variables: 20 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 21 | 22 | -------------------------------------------------------------------------------- /docs/Other Local/GET Valorant Log Path.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Valorant Log Path 13 | 14 | Gets the Valorant log path 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/product-session/v1/logs/path/VALORANT` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | -------------------------------------------------------------------------------- /docs/PVP Endpoints/GET Restrictions_FetchPlayerRestrictionsV2.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Restrictions_FetchPlayerRestrictionsV2 13 | 14 | Checks for any gameplay penalties on the account 15 | 16 | 17 | Method: `GET` 18 | URL: `https://pd.{shard}.a.pvp.net/restrictions/v3/penalties` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 27 | 28 | 29 | ### Response Format: 30 | ```ts 31 | type PenaltiesResponse = { 32 | /** Player UUID */ 33 | Subject: string; 34 | Penalties: unknown[]; 35 | Version: number; 36 | }; 37 | ``` 38 | -------------------------------------------------------------------------------- /docs/PVP Endpoints/readme.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # PVP Endpoints 10 | 11 | ### Endpoints: 12 | |Name|Description| 13 | |---|---| 14 | |[Content_FetchContent](GET%20Content_FetchContent.md)|Get names and ids for game content such as agents, maps, guns, etc.| 15 | |[AccountXP_GetPlayer](GET%20AccountXP_GetPlayer.md)|Get the account level, XP, and XP history for the given player| 16 | |[playerLoadoutUpdate](GET%20playerLoadoutUpdate.md)|Get the player's current loadout| 17 | |[playerLoadoutUpdate](PUT%20playerLoadoutUpdate.md)|Set the player's loadout | 18 | |[MMR_FetchPlayer](GET%20MMR_FetchPlayer.md)|Get the match making rating for a player| 19 | |[MatchHistory_FetchMatchHistory](GET%20MatchHistory_FetchMatchHistory.md)|Get recent matches for a player | 20 | |[MatchDetails_FetchMatchDetails](GET%20MatchDetails_FetchMatchDetails.md)|Get the full info for a previous match | 21 | |[MMR_FetchCompetitiveUpdates](GET%20MMR_FetchCompetitiveUpdates.md)|Get recent games and how they changed ranking | 22 | |[MMR_FetchLeaderboard](GET%20MMR_FetchLeaderboard.md)|Get the competitive leaderboard for a given season | 23 | |[Restrictions_FetchPlayerRestrictionsV2](GET%20Restrictions_FetchPlayerRestrictionsV2.md)|Checks for any gameplay penalties on the account| 24 | |[ItemProgressionDefinitionsV2_Fetch](GET%20ItemProgressionDefinitionsV2_Fetch.md)|Get details for item upgrades| 25 | |[Config_FetchConfig](GET%20Config_FetchConfig.md)|Get various internal game configuration settings set by Riot| 26 | 27 | -------------------------------------------------------------------------------- /docs/Party/DELETE Party_RemovePlayer.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # DELETE Party_RemovePlayer 13 | 14 | Removes a player from the current party 15 | 16 | 17 | Method: `DELETE` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/parties/v1/players/{puuid}` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{puuid}`: Read [Common Components - PUUID](../common-components.md#puuid) 29 | 30 | -------------------------------------------------------------------------------- /docs/Party/GET Party_FetchMUCToken.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Party_FetchMUCToken 13 | 14 | Get a token for party chat 15 | 16 | 17 | Method: `GET` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/parties/v1/parties/{party id}/muctoken` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{party id}`: Read [Common Components - Party ID](../common-components.md#party-id) 29 | 30 | 31 | ### Response Format: 32 | ```ts 33 | type PartyChatTokenResponse = { 34 | Token: string; 35 | Room: string; 36 | }; 37 | ``` 38 | -------------------------------------------------------------------------------- /docs/Party/GET Party_FetchVoiceToken.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Party_FetchVoiceToken 13 | 14 | Get a token for party voice 15 | 16 | 17 | Method: `GET` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/parties/v1/parties/{party id}/voicetoken` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{party id}`: Read [Common Components - Party ID](../common-components.md#party-id) 29 | 30 | 31 | ### Response Format: 32 | ```ts 33 | type PartyVoiceTokenResponse = { 34 | Token: string; 35 | Room: string; 36 | }; 37 | ``` 38 | -------------------------------------------------------------------------------- /docs/Party/POST Party_RequestToJoinParty.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # POST Party_RequestToJoinParty 13 | 14 | Requests to join a party 15 | 16 | 17 | Method: `POST` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/parties/v1/parties/{party id}/request` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{party id}`: Read [Common Components - Party ID](../common-components.md#party-id) 29 | 30 | 31 | ### Response Format: 32 | ```ts 33 | type PartyRequestResponse = unknown; 34 | ``` 35 | -------------------------------------------------------------------------------- /docs/Pre-Game/GET Pregame_FetchChatToken.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Pregame_FetchChatToken 13 | 14 | Get a chat token 15 | 16 | 17 | Method: `GET` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/pregame/v1/matches/{pre-game match id}/chattoken` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{pre-game match id}`: Read [Common Components - Pregame Match ID](../common-components.md#pregame-match-id) 29 | 30 | -------------------------------------------------------------------------------- /docs/Pre-Game/GET Pregame_FetchVoiceToken.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Pregame_FetchVoiceToken 13 | 14 | Get a voice token 15 | 16 | 17 | Method: `GET` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/pregame/v1/matches/{pre-game match id}/voicetoken` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{pre-game match id}`: Read [Common Components - Pregame Match ID](../common-components.md#pregame-match-id) 29 | 30 | -------------------------------------------------------------------------------- /docs/Pre-Game/GET Pregame_GetMatchLoadouts.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Pregame_GetMatchLoadouts 13 | 14 | Get player skins and sprays for a game in the pre-game stage 15 | 16 | 17 | Method: `GET` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/pregame/v1/matches/{pre-game match id}/loadouts` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{pre-game match id}`: Read [Common Components - Pregame Match ID](../common-components.md#pregame-match-id) 29 | 30 | 31 | ### Response Format: 32 | ```ts 33 | type Pre-GameLoadoutsResponse = { 34 | Loadouts: { 35 | Sprays: { 36 | SpraySelections: null; 37 | }; 38 | Items: null; 39 | }[]; 40 | LoadoutsValid: false; 41 | }; 42 | ``` 43 | -------------------------------------------------------------------------------- /docs/Pre-Game/GET Pregame_GetPlayer.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Pregame_GetPlayer 13 | 14 | Get the ID of a game in the pre-game stage 15 | 16 | 17 | Method: `GET` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/pregame/v1/players/{puuid}` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{puuid}`: Read [Common Components - PUUID](../common-components.md#puuid) 29 | 30 | 31 | ### Response Format: 32 | ```ts 33 | type Pre-GamePlayerResponse = { 34 | /** Player UUID */ 35 | Subject: string; 36 | /** Pre-Game Match ID */ 37 | MatchID: string; 38 | Version: number; 39 | }; 40 | ``` 41 | -------------------------------------------------------------------------------- /docs/Pre-Game/POST Pregame_QuitMatch.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # POST Pregame_QuitMatch 13 | 14 | Quit a match in the pre-game stage 15 | 16 | 17 | Method: `POST` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/pregame/v1/matches/{pre-game match id}/quit` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{pre-game match id}`: Read [Common Components - Pregame Match ID](../common-components.md#pregame-match-id) 29 | 30 | -------------------------------------------------------------------------------- /docs/Pre-Game/readme.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # Pre-Game 10 | 11 | ### Endpoints: 12 | |Name|Description| 13 | |---|---| 14 | |[Pregame_GetPlayer](GET%20Pregame_GetPlayer.md)|Get the ID of a game in the pre-game stage| 15 | |[Pregame_GetMatch](GET%20Pregame_GetMatch.md)|Get info for a game in the pre-game stage| 16 | |[Pregame_GetMatchLoadouts](GET%20Pregame_GetMatchLoadouts.md)|Get player skins and sprays for a game in the pre-game stage| 17 | |[Pregame_FetchChatToken](GET%20Pregame_FetchChatToken.md)|Get a chat token| 18 | |[Pregame_FetchVoiceToken](GET%20Pregame_FetchVoiceToken.md)|Get a voice token| 19 | |[Pregame_SelectCharacter](POST%20Pregame_SelectCharacter.md)|Select an agent | 20 | |[Pregame_LockCharacter](POST%20Pregame_LockCharacter.md)|Lock in an agent | 21 | |[Pregame_QuitMatch](POST%20Pregame_QuitMatch.md)|Quit a match in the pre-game stage| 22 | 23 | -------------------------------------------------------------------------------- /docs/Riot Auth/GET Cookie Reauth.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Cookie Reauth 13 | 14 | Get a new token using the cookies from a previous authorization request 15 | Use the saved cookies from [Auth Request](PUT%20Auth%20Request.md). The token can be found from the url this request redirects to. 16 | Recommended to use this endpoint instead of storing the password and sending it again. 17 | 18 | 19 | Method: `GET` 20 | URL: `https://auth.riotgames.com/authorize?redirect_uri=https%3A%2F%2Fplayvalorant.com%2Fopt_in&client_id=play-valorant-web-prod&response_type=token%20id_token&nonce=1` 21 | -------------------------------------------------------------------------------- /docs/Riot Auth/POST Auth Cookies.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # POST Auth Cookies 13 | 14 | Prepare cookies for auth request 15 | 16 | 17 | Method: `POST` 18 | URL: `https://auth.riotgames.com/api/v1/authorization` 19 | Headers: 20 | - `Content-Type`: `application/json` 21 | 22 | Body: 23 | ``` 24 | {"client_id":"play-valorant-web-prod","nonce":"1","redirect_uri":"https://playvalorant.com/opt_in","response_type":"token id_token"} 25 | ``` 26 | -------------------------------------------------------------------------------- /docs/Riot Auth/POST Entitlement.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # POST Entitlement 13 | 14 | Get entitlement for remote requests with a token 15 | 16 | 17 | Method: `POST` 18 | URL: `https://entitlements.auth.riotgames.com/api/token/v1` 19 | Headers: 20 | - `Authorization`: `Bearer {Riot token}` 21 | - `Content-Type`: `application/json` 22 | 23 | Variables: 24 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 25 | 26 | 27 | ### Response Format: 28 | ```ts 29 | type EntitlementResponse = { 30 | entitlements_token: string; 31 | }; 32 | ``` 33 | -------------------------------------------------------------------------------- /docs/Riot Auth/PUT Auth Request.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # PUT Auth Request 13 | 14 | Perform authorization request to get token 15 | Requires cookies from the [Auth Cookies](POST%20Auth%20Cookies.md) stage. The token can be found in the `uri` property. 16 | 17 | 18 | Method: `PUT` 19 | URL: `https://auth.riotgames.com/api/v1/authorization` 20 | Headers: 21 | - `Content-Type`: `application/json` 22 | 23 | Body: 24 | ``` 25 | { 26 | "type": "auth", 27 | "username": "{username}", 28 | "password": "{password}", 29 | "remember": true, 30 | "language": "en_US" 31 | } 32 | ``` 33 | Variables: 34 | - `{username}`: The player username / email for signing in 35 | - `{password}`: The player password for signing in 36 | 37 | -------------------------------------------------------------------------------- /docs/Riot Auth/PUT Multi-Factor Authentication.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # PUT Multi-Factor Authentication 13 | 14 | Submits a multi-factor authentication code for login 15 | 16 | 17 | Method: `PUT` 18 | URL: `https://auth.riotgames.com/api/v1/authorization` 19 | Headers: 20 | - `Content-Type`: `application/json` 21 | 22 | Body: 23 | ``` 24 | { 25 | "type": "multifactor", 26 | "code": "{mfa code}", 27 | "rememberDevice": true 28 | } 29 | ``` 30 | Variables: 31 | - `{mfa code}`: The code received from the secondary location (email) 32 | 33 | -------------------------------------------------------------------------------- /docs/Riot Auth/readme.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # Riot Auth 10 | 11 | ### Endpoints: 12 | |Name|Description| 13 | |---|---| 14 | |[Auth Cookies](POST%20Auth%20Cookies.md)|Prepare cookies for auth request| 15 | |[Auth Request](PUT%20Auth%20Request.md)|Perform authorization request to get token | 16 | |[Multi-Factor Authentication](PUT%20Multi-Factor%20Authentication.md)|Submits a multi-factor authentication code for login| 17 | |[Cookie Reauth](GET%20Cookie%20Reauth.md)|Get a new token using the cookies from a previous authorization request | 18 | |[Entitlement](POST%20Entitlement.md)|Get entitlement for remote requests with a token| 19 | |[RSO_GetPlayerInfo](GET%20RSO_GetPlayerInfo.md)|Get the PUUID from a token| 20 | 21 | -------------------------------------------------------------------------------- /docs/Session/GET Session_Get.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Session_Get 13 | 14 | Get information about the current game session 15 | 16 | 17 | Method: `GET` 18 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/session/v1/sessions/{puuid}` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{puuid}`: Read [Common Components - PUUID](../common-components.md#puuid) 29 | 30 | -------------------------------------------------------------------------------- /docs/Session/GET Session_ReConnect.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Session_ReConnect 13 | 14 | Method: `GET` 15 | URL: `https://glz-{region}-1.{shard}.a.pvp.net/session/v1/sessions/{puuid}/reconnect` 16 | Headers: 17 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 18 | - `Authorization`: `Bearer {Riot token}` 19 | 20 | Variables: 21 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 22 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 23 | - `{region}`: Read [Common Components - Region](../common-components.md#region) 24 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 25 | - `{puuid}`: Read [Common Components - PUUID](../common-components.md#puuid) 26 | 27 | -------------------------------------------------------------------------------- /docs/Session/readme.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # Session 10 | 11 | ### Endpoints: 12 | |Name|Description| 13 | |---|---| 14 | |[Session_Get](GET%20Session_Get.md)|Get information about the current game session| 15 | |[Session_ReConnect](GET%20Session_ReConnect.md)|| 16 | 17 | -------------------------------------------------------------------------------- /docs/Store/GET Store_GetOffers.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Store_GetOffers 13 | 14 | Get prices for all store items 15 | 16 | 17 | Method: `GET` 18 | URL: `https://pd.{shard}.a.pvp.net/store/v1/offers/` 19 | Headers: 20 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 21 | - `Authorization`: `Bearer {Riot token}` 22 | 23 | Variables: 24 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 25 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 26 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 27 | 28 | 29 | ### Response Format: 30 | ```ts 31 | type PricesResponse = { 32 | Offers: { 33 | OfferID: string; 34 | IsDirectPurchase: boolean; 35 | /** Date in ISO 8601 format */ 36 | StartDate: string; 37 | Cost: { 38 | [x: string]: number; 39 | }; 40 | Rewards: { 41 | /** Item Type ID */ 42 | ItemTypeID: string; 43 | /** Item ID */ 44 | ItemID: string; 45 | Quantity: number; 46 | }[]; 47 | }[]; 48 | }; 49 | ``` 50 | -------------------------------------------------------------------------------- /docs/Store/GET Store_GetOrder.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Store_GetOrder 13 | 14 | Method: `GET` 15 | URL: `https://pd.{shard}.a.pvp.net/store/v1/order/{order id}` 16 | Headers: 17 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 18 | - `Authorization`: `Bearer {Riot token}` 19 | 20 | Variables: 21 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 22 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 23 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 24 | - `{order id}`: The ID of the order. Can be obtained when creating an order. 25 | 26 | -------------------------------------------------------------------------------- /docs/Store/GET Store_GetWallet.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Store_GetWallet 13 | 14 | Get amount of Valorant points and Radianite the player has 15 | Valorant points have the id `85ad13f7-3d1b-5128-9eb2-7cd8ee0b5741` and Radianite points have the id `e59aa87c-4cbf-517a-5983-6e81511be9b7` 16 | 17 | 18 | Method: `GET` 19 | URL: `https://pd.{shard}.a.pvp.net/store/v1/wallet/{puuid}` 20 | Headers: 21 | - `X-Riot-Entitlements-JWT`: `{Riot entitlement}` 22 | - `Authorization`: `Bearer {Riot token}` 23 | 24 | Variables: 25 | - `{Riot entitlement}`: Read [Common Components - Riot Entitlement](../common-components.md#riot-entitlement) 26 | - `{Riot token}`: Read [Common Components - Riot Token](../common-components.md#riot-token) 27 | - `{shard}`: Read [Common Components - Shard](../common-components.md#shard) 28 | - `{puuid}`: Read [Common Components - PUUID](../common-components.md#puuid) 29 | 30 | 31 | ### Response Format: 32 | ```ts 33 | type WalletResponse = { 34 | Balances: { 35 | [x: string]: number; 36 | }; 37 | }; 38 | ``` 39 | -------------------------------------------------------------------------------- /docs/Store/readme.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # Store 10 | 11 | ### Endpoints: 12 | |Name|Description| 13 | |---|---| 14 | |[Store_GetOffers](GET%20Store_GetOffers.md)|Get prices for all store items| 15 | |[Store_GetStorefrontV2](GET%20Store_GetStorefrontV2.md)|Get the currently available items in the store| 16 | |[Store_GetWallet](GET%20Store_GetWallet.md)|Get amount of Valorant points and Radianite the player has | 17 | |[Store_GetOrder](GET%20Store_GetOrder.md)|| 18 | |[Store_GetEntitlements](GET%20Store_GetEntitlements.md)|List what the player owns (agents, skins, buddies, ect.) | 19 | 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Agents.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Agents 13 | 14 | Get a list of agents 15 | More info at [https://dash.valorant-api.com/endpoints/agents](https://dash.valorant-api.com/endpoints/agents) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/agents` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Buddies.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Buddies 13 | 14 | Get a list of gun buddies 15 | More info at [https://dash.valorant-api.com/endpoints/buddies](https://dash.valorant-api.com/endpoints/buddies) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/buddies` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Buddy Levels.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Buddy Levels 13 | 14 | Get the levels for gun buddies 15 | More info at [https://dash.valorant-api.com/endpoints/buddies](https://dash.valorant-api.com/endpoints/buddies) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/buddies/levels` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Bundles.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Bundles 13 | 14 | Get a list of bundles 15 | More info at [https://dash.valorant-api.com/endpoints/bundles](https://dash.valorant-api.com/endpoints/bundles) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/bundles` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Competitive Seasons.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Competitive Seasons 13 | 14 | Get competitive seasons list 15 | More info at [https://dash.valorant-api.com/endpoints/seasons](https://dash.valorant-api.com/endpoints/seasons) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/seasons/competitive` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Competitive Tiers.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Competitive Tiers 13 | 14 | Get a list of tiers and info 15 | More info at [https://dash.valorant-api.com/endpoints/competitivetiers](https://dash.valorant-api.com/endpoints/competitivetiers) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/competitivetiers` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Content Tiers.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Content Tiers 13 | 14 | Get a list of item value tiers 15 | More info at [https://dash.valorant-api.com/endpoints/contenttiers](https://dash.valorant-api.com/endpoints/contenttiers) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/contenttiers` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Contracts.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Contracts 13 | 14 | Get a list of contracts 15 | More info at [https://dash.valorant-api.com/endpoints/contracts](https://dash.valorant-api.com/endpoints/contracts) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/contracts` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Currencies.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Currencies 13 | 14 | Get a list of currencies 15 | More info at [https://dash.valorant-api.com/endpoints/currencies](https://dash.valorant-api.com/endpoints/currencies) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/currencies` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Events.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Events 13 | 14 | Get the ongoing game events 15 | More info at [https://dash.valorant-api.com/endpoints/events](https://dash.valorant-api.com/endpoints/events) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/events` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Gamemode Equippables.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Gamemode Equippables 13 | 14 | Get weapons that are unique to a gamemode 15 | More info at [https://dash.valorant-api.com/endpoints/gamemodes](https://dash.valorant-api.com/endpoints/gamemodes) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/gamemodes/equippables` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Gamemodes.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Gamemodes 13 | 14 | Get a list of gamemodes 15 | More info at [https://dash.valorant-api.com/endpoints/gamemodes](https://dash.valorant-api.com/endpoints/gamemodes) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/gamemodes` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Gear.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Gear 13 | 14 | Get info about shields 15 | More info at [https://dash.valorant-api.com/endpoints/gear](https://dash.valorant-api.com/endpoints/gear) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/gear` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Maps.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Maps 13 | 14 | Get maps list 15 | More info at [https://dash.valorant-api.com/endpoints/maps](https://dash.valorant-api.com/endpoints/maps) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/maps` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Player Cards.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Player Cards 13 | 14 | Get player cards list 15 | More info at [https://dash.valorant-api.com/endpoints/playercards](https://dash.valorant-api.com/endpoints/playercards) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/playercards` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Player Titles.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Player Titles 13 | 14 | Get player titles list 15 | More info at [https://dash.valorant-api.com/endpoints/playertitles](https://dash.valorant-api.com/endpoints/playertitles) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/playertitles` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Seasons.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Seasons 13 | 14 | Get seasons list 15 | More info at [https://dash.valorant-api.com/endpoints/seasons](https://dash.valorant-api.com/endpoints/seasons) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/seasons` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Spray Levels.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Spray Levels 13 | 14 | Get spray leveling information 15 | More info at [https://dash.valorant-api.com/endpoints/sprays](https://dash.valorant-api.com/endpoints/sprays) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/sprays/levels` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Sprays.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Sprays 13 | 14 | Get sprays list 15 | More info at [https://dash.valorant-api.com/endpoints/sprays](https://dash.valorant-api.com/endpoints/sprays) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/sprays` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Themes.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Themes 13 | 14 | Get weapon themes 15 | More info at [https://dash.valorant-api.com/endpoints/themes](https://dash.valorant-api.com/endpoints/themes) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/themes` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Version.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Version 13 | 14 | Get the latest game version 15 | More info at [https://dash.valorant-api.com/endpoints/version](https://dash.valorant-api.com/endpoints/version) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/version` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Weapon Skin Chromas.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Weapon Skin Chromas 13 | 14 | Get a list of weapon skin chromas 15 | More info at [https://dash.valorant-api.com/endpoints/weapons](https://dash.valorant-api.com/endpoints/weapons) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/weapons/skinchromas` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Weapon Skin Levels.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Weapon Skin Levels 13 | 14 | Get a list of weapon skin levels 15 | More info at [https://dash.valorant-api.com/endpoints/weapons](https://dash.valorant-api.com/endpoints/weapons) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/weapons/skinlevels` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Weapon Skins.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Weapon Skins 13 | 14 | Get a list of weapon skins 15 | More info at [https://dash.valorant-api.com/endpoints/weapons](https://dash.valorant-api.com/endpoints/weapons) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/weapons/skins` 20 | -------------------------------------------------------------------------------- /docs/Third-Party API by Officer/GET Weapons.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Weapons 13 | 14 | Get a list of weapons, stats, and skins 15 | More info at [https://dash.valorant-api.com/endpoints/weapons](https://dash.valorant-api.com/endpoints/weapons) 16 | 17 | 18 | Method: `GET` 19 | URL: `https://valorant-api.com/v1/weapons` 20 | -------------------------------------------------------------------------------- /docs/Useful Local/GET CHATFRIENDS_RNet_GET_ALL.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET CHATFRIENDS_RNet_GET_ALL 13 | 14 | Get a list of friends 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v4/friends` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type FriendsResponse = { 29 | friends: { 30 | activePlatform: string | null; 31 | displayGroup: string; 32 | game_name: string; 33 | game_tag: string; 34 | group: string; 35 | /** Milliseconds since epoch */ 36 | last_online_ts: number | null; 37 | name: string; 38 | note: string; 39 | pid: string; 40 | /** Player UUID */ 41 | puuid: string; 42 | region: string; 43 | }[]; 44 | }; 45 | ``` 46 | -------------------------------------------------------------------------------- /docs/Useful Local/GET FRIENDS_RNet_FetchFriendRequests.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET FRIENDS_RNet_FetchFriendRequests 13 | 14 | Get pending friend requests 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v4/friendrequests` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type FriendRequestsResponse = { 29 | requests: { 30 | game_name: string; 31 | game_tag: string; 32 | name: string; 33 | note: string; 34 | pid: string; 35 | /** Player UUID */ 36 | puuid: string; 37 | region: string; 38 | subscription: "pending_out" | "pending_in"; 39 | }[]; 40 | }; 41 | ``` 42 | -------------------------------------------------------------------------------- /docs/Useful Local/GET Local Help.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Local Help 13 | 14 | Get local endpoint names and websocket events 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/help` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type LocalHelpResponse = { 29 | events: { 30 | [x: string]: string; 31 | }; 32 | functions: { 33 | [x: string]: string; 34 | }; 35 | types: { 36 | [x: string]: string; 37 | }; 38 | }; 39 | ``` 40 | -------------------------------------------------------------------------------- /docs/Useful Local/GET PlayerAlias_RNet_GetActiveAlias.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET PlayerAlias_RNet_GetActiveAlias 13 | 14 | Gets the player username and tagline 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/player-account/aliases/v1/active` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type AccountAliasResponse = { 29 | active: boolean; 30 | /** Milliseconds since epoch */ 31 | created_datetime: number; 32 | game_name: string; 33 | summoner: boolean; 34 | tag_line: string; 35 | }; 36 | ``` 37 | -------------------------------------------------------------------------------- /docs/Useful Local/GET RSO Auth User Info.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET RSO Auth User Info 13 | 14 | Gets info about the authenticated Riot account 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/rso-auth/v1/authorization/userinfo` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type RSOUserInfoResponse = { 29 | userInfo: string; 30 | }; 31 | ``` 32 | -------------------------------------------------------------------------------- /docs/Useful Local/GET RSO_RNet_GetEntitlementsToken.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET RSO_RNet_GetEntitlementsToken 13 | 14 | Gets both the token and entitlement for API usage 15 | `accessToken` is used as the token and `token` is used as the entitlement. 16 | 17 | 18 | Method: `GET` 19 | URL: `https://127.0.0.1:{lockfile port}/entitlements/v1/token` 20 | Headers: 21 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 22 | 23 | Variables: 24 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 25 | 26 | 27 | ### Response Format: 28 | ```ts 29 | type EntitlementsTokenResponse = { 30 | /** Used as the token in requests */ 31 | accessToken: string; 32 | entitlements: unknown[]; 33 | issuer: string; 34 | /** Player UUID */ 35 | subject: string; 36 | /** Used as the entitlement in requests */ 37 | token: string; 38 | }; 39 | ``` 40 | -------------------------------------------------------------------------------- /docs/Useful Local/GET Riot Client Region.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET Riot Client Region 13 | 14 | Gets info about the region and locale from the Riot client 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/riotclient/region-locale` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type ClientRegionResponse = { 29 | locale: string; 30 | region: string; 31 | webLanguage: string; 32 | webRegion: string; 33 | }; 34 | ``` 35 | -------------------------------------------------------------------------------- /docs/Useful Local/GET RiotClientSession_FetchSessions.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET RiotClientSession_FetchSessions 13 | 14 | Gets info about the running Valorant process including start arguments 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/product-session/v1/external-sessions` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type SessionsResponse = { 29 | [x: string]: { 30 | exitCode: number; 31 | exitReason: null; 32 | isInternal: boolean; 33 | launchConfiguration: { 34 | arguments: string[]; 35 | executable: string; 36 | locale: string | null; 37 | voiceLocale: null; 38 | workingDirectory: string; 39 | }; 40 | patchlineFullName: "VALORANT" | "riot_client"; 41 | patchlineId: "" | "live" | "pbe"; 42 | phase: string; 43 | productId: "valorant" | "riot_client"; 44 | version: string; 45 | }; 46 | }; 47 | ``` 48 | -------------------------------------------------------------------------------- /docs/Useful Local/GET TEXT_CHAT_RNet_FetchSession.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # These markdown docs are deprecated and will no longer be updated. They remain here to prevent broken links. 10 | ## Visit for the latest documentation (and update your links if possible) 11 |














12 | # GET TEXT_CHAT_RNet_FetchSession 13 | 14 | Get the current session including player name and PUUID 15 | 16 | 17 | Method: `GET` 18 | URL: `https://127.0.0.1:{lockfile port}/chat/v1/session` 19 | Headers: 20 | - `Authorization`: `Basic {base64 encoded "riot:{lockfile password}"}` 21 | 22 | Variables: 23 | - `{lockfile password}` and `{lockfile port}`: Read [Common Components - Lockfile Data](../common-components.md#lockfile-data) 24 | 25 | 26 | ### Response Format: 27 | ```ts 28 | type ChatSessionResponse = { 29 | federated: boolean; 30 | game_name: string; 31 | game_tag: string; 32 | loaded: boolean; 33 | name: string; 34 | pid: string; 35 | /** Player UUID */ 36 | puuid: string; 37 | region: string; 38 | resource: string; 39 | state: string; 40 | }; 41 | ``` 42 | -------------------------------------------------------------------------------- /docs/Useful Local/readme.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # Useful Local 10 | 11 | ### Endpoints: 12 | |Name|Description| 13 | |---|---| 14 | |[Local Help](GET%20Local%20Help.md)|Get local endpoint names and websocket events| 15 | |[RiotClientSession_FetchSessions](GET%20RiotClientSession_FetchSessions.md)|Gets info about the running Valorant process including start arguments| 16 | |[RSO Auth User Info](GET%20RSO%20Auth%20User%20Info.md)|Gets info about the authenticated Riot account| 17 | |[Riot Client Region](GET%20Riot%20Client%20Region.md)|Gets info about the region and locale from the Riot client| 18 | |[PlayerAlias_RNet_GetActiveAlias](GET%20PlayerAlias_RNet_GetActiveAlias.md)|Gets the player username and tagline| 19 | |[RSO_RNet_GetEntitlementsToken](GET%20RSO_RNet_GetEntitlementsToken.md)|Gets both the token and entitlement for API usage | 20 | |[TEXT_CHAT_RNet_FetchSession](GET%20TEXT_CHAT_RNet_FetchSession.md)|Get the current session including player name and PUUID| 21 | |[CHATFRIENDS_RNet_GET_ALL](GET%20CHATFRIENDS_RNet_GET_ALL.md)|Get a list of friends| 22 | |[PRESENCE_RNet_GET_ALL](GET%20PRESENCE_RNet_GET_ALL.md)|Get a list of online friends and their activity | 23 | |[RiotKV_RNet_GetSettings](GET%20RiotKV_RNet_GetSettings.md)|Get client settings| 24 | |[FRIENDS_RNet_FetchFriendRequests](GET%20FRIENDS_RNet_FetchFriendRequests.md)|Get pending friend requests| 25 | 26 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Valorant API Docs 2 | 3 | ### **To read documentation and get started, go to ** 4 | 5 | This is a project designed to automatically document Valorant endpoints based on a typescript module describing endpoints and types. 6 | This module is published on npm so it can be consumed from other projects to use the types, generate documentation, or generate api code. 7 | 8 | To contribute to the code generating the documentation, see the `web` directory. 9 | To contribute to the underlying data and types, see the `valorant-api-types` directory. 10 | Modifications to the `docs` directory will be removed automatically. 11 | -------------------------------------------------------------------------------- /valorant-api-types/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | *.tsbuildinfo -------------------------------------------------------------------------------- /valorant-api-types/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "valorant-api-types", 3 | "version": "0.10.1", 4 | "description": "A collection of documented endpoints and return types for the unofficial Valorant API", 5 | "homepage": "https://github.com/techchrism/valorant-api-docs#readme", 6 | "bugs": { 7 | "url": "https://github.com/techchrism/valorant-api-docs/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/techchrism/valorant-api-docs.git", 12 | "directory": "valorant-api-types" 13 | }, 14 | "main": "dist/index.js", 15 | "types": "dist/index.d.ts", 16 | "files": [ 17 | "dist" 18 | ], 19 | "scripts": { 20 | "test": "tsc --build --clean ./tsconfig.json && tsc --build ./tests/tsconfig.json && node ./tests/dist/test.js", 21 | "build": "tsc --build ./tsconfig.json", 22 | "prepare": "npm run build", 23 | "prepublishOnly": "npm run test" 24 | }, 25 | "keywords": [ 26 | "valorant", 27 | "typescript", 28 | "api", 29 | "zod", 30 | "documentation" 31 | ], 32 | "author": "techchrism", 33 | "license": "MIT", 34 | "devDependencies": { 35 | "@types/node": "^20.1.4", 36 | "typescript": "^4.9.4" 37 | }, 38 | "dependencies": { 39 | "iso-base64": "^1.0.0", 40 | "zod": "^3.20.2" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/auth/AuthCookies.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from "zod" 3 | 4 | export const authCookiesEndpoint = { 5 | name: 'Auth Cookies', 6 | description: 'Prepare cookies for auth request', 7 | category: 'Authentication Endpoints', 8 | type: 'other', 9 | suffix: 'https://auth.riotgames.com/api/v1/authorization', 10 | method: 'POST', 11 | headers: new Map([ 12 | ['Content-Type', 'application/json'], 13 | ]), 14 | body: z.object({ 15 | client_id: z.literal("play-valorant-web-prod"), 16 | nonce: z.literal("1"), 17 | redirect_uri: z.literal("https://playvalorant.com/opt_in"), 18 | response_type: z.literal("token id_token"), 19 | scope: z.literal("account openid") 20 | }) 21 | } as const satisfies ValorantEndpoint 22 | -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/auth/Entitlement.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const entitlementEndpoint = { 5 | name: 'Entitlement', 6 | description: 'Get entitlement for remote requests with a token', 7 | category: 'Authentication Endpoints', 8 | type: 'other', 9 | suffix: 'https://entitlements.auth.riotgames.com/api/token/v1', 10 | method: 'POST', 11 | headers: new Map([ 12 | ['Content-Type', 'application/json'], 13 | ]), 14 | riotRequirements: { 15 | token: true 16 | }, 17 | responses: { 18 | '200': z.object({ 19 | entitlements_token: z.string() 20 | }) 21 | } 22 | } as const satisfies ValorantEndpoint 23 | 24 | export type EntitlementResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/auth/MultiFactorAuthentication.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const multiFactorAuthenticationEndpoint = { 5 | name: 'Multi-Factor Authentication', 6 | description: 'Submits a multi-factor authentication code for login', 7 | category: 'Authentication Endpoints', 8 | type: 'other', 9 | suffix: 'https://auth.riotgames.com/api/v1/authorization', 10 | method: 'PUT', 11 | headers: new Map([ 12 | ['Content-Type', 'application/json'], 13 | ]), 14 | body: z.object({ 15 | type: z.literal('multifactor'), 16 | multifactor: z.object({ 17 | otp: z.string().describe('The multi-factor authentication code'), 18 | rememberDevice: z.boolean() 19 | }) 20 | }) 21 | } as const satisfies ValorantEndpoint -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/auth/PASToken.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const pasTokenEndpoint = { 5 | name: 'PAS Token', 6 | description: 'Get a PAS token using the auth token. The PAS token is a JWT that contains the affinity for the XMPP server.', 7 | category: 'Authentication Endpoints', 8 | type: 'other', 9 | suffix: 'https://riot-geo.pas.si.riotgames.com/pas/v1/service/chat', 10 | method: 'GET', 11 | riotRequirements: { 12 | token: true 13 | }, 14 | responses: { 15 | '200': z.string().describe('The PAS token') 16 | } 17 | } as const satisfies ValorantEndpoint 18 | 19 | export type PASTokenResponse = z.infer -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/auth/RiotClientConfig.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const riotClientConfigEndpoint = { 5 | name: 'Riot Client Config', 6 | description: 'Gets the config file used by the Riot Client. This includes a ton of info, most of it undocumented.', 7 | category: 'Authentication Endpoints', 8 | type: 'other', 9 | suffix: 'https://clientconfig.rpg.riotgames.com/api/v1/config/player?app=Riot%20Client', 10 | riotRequirements: { 11 | token: true, 12 | entitlement: true 13 | }, 14 | responses: { 15 | '200': z.intersection(z.object({ 16 | 'chat.affinities': z.record( 17 | z.string().describe('Affinity ID'), 18 | z.string().describe('Chat Server Host') 19 | ).describe('Mapping of affinity ID to chat server host'), 20 | 'chat.affinity_domains': z.record( 21 | z.string().describe('Affinity ID'), 22 | z.string().describe('Affinity Domain') 23 | ).describe('Mapping of affinity ID to affinity domain'), 24 | 'chat.port': z.number().describe('Chat server port') 25 | }), z.record(z.string(), z.unknown())) 26 | } 27 | } as const satisfies ValorantEndpoint 28 | 29 | export type RiotClientConfigResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/auth/RiotGeo.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const riotGeoEndpoint = { 5 | name: 'Riot Geo', 6 | description: 'Get the region for a given ID token and auth token. The ID token and auth token can be obtained from [PUT Cookie Reauth]', 7 | category: 'Authentication Endpoints', 8 | type: 'other', 9 | suffix: 'https://riot-geo.pas.si.riotgames.com/pas/v1/product/valorant', 10 | method: 'PUT', 11 | riotRequirements: { 12 | token: true 13 | }, 14 | body: z.object({ 15 | id_token: z.string().describe('The ID token') 16 | }), 17 | responses: { 18 | '200': z.object({ 19 | token: z.string(), 20 | affinities: z.object({ 21 | pbe: z.string(), 22 | live: z.string() 23 | }).describe('The region IDs for PBE and live servers') 24 | }) 25 | } 26 | } as const satisfies ValorantEndpoint 27 | 28 | export type RiotGeoResponse = z.infer -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/contracts/ActivateContract.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {contractsResponse, weakUUIDSchema} from '../../commonTypes' 4 | 5 | export const activateContractEndpoint = { 6 | name: 'Activate Contract', 7 | description: 'Activate a specific contract by ID', 8 | queryName: 'Contracts_Activate', 9 | category: 'Contract Endpoints', 10 | type: 'pd', 11 | suffix: 'contracts/v1/contracts/{puuid}/special/{contract id}', 12 | method: 'POST', 13 | variables: new Map([ 14 | ['contract id', weakUUIDSchema.describe('The contract ID to activate')] 15 | ]), 16 | riotRequirements: { 17 | token: true, 18 | entitlement: true, 19 | clientVersion: true, 20 | clientPlatform: true 21 | }, 22 | responses: { 23 | '200': contractsResponse 24 | } 25 | } as const satisfies ValorantEndpoint 26 | 27 | export type ActivateContractResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/contracts/Contracts.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {contractsResponse} from '../../commonTypes' 4 | 5 | export const contractsEndpoint = { 6 | name: 'Contracts', 7 | description: 'Get contract details including agents, battlepass, missions, and recent games', 8 | queryName: 'Contracts_Fetch', 9 | category: 'Contract Endpoints', 10 | type: 'pd', 11 | suffix: 'contracts/v1/contracts/{puuid}', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientVersion: true, 16 | clientPlatform: true 17 | }, 18 | responses: { 19 | '200':contractsResponse 20 | } 21 | } as const satisfies ValorantEndpoint 22 | 23 | export type ContractsResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/currentgame/CurrentGameLoadouts.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import { 4 | characterIDSchema, 5 | itemIDSchema, 6 | itemTypeIDSchema, 7 | loadoutsSchema, 8 | playerUUIDSchema, 9 | weakUUIDSchema 10 | } from '../../commonTypes' 11 | 12 | export const currentGameLoadoutsEndpoint = { 13 | name: 'Current Game Loadouts', 14 | description: 'Get the current game loadout info for all players in the match', 15 | queryName: 'CoreGame_FetchMatchLoadouts', 16 | category: 'Current Game Endpoints', 17 | type: 'glz', 18 | suffix: 'core-game/v1/matches/{current game match id}/loadouts', 19 | riotRequirements: { 20 | token: true, 21 | entitlement: true, 22 | clientPlatform: true, 23 | clientVersion: true 24 | }, 25 | responses: { 26 | '200': z.object({ 27 | Loadouts: z.array(z.object({ 28 | CharacterID: characterIDSchema, 29 | Loadout: loadoutsSchema 30 | })) 31 | }) 32 | } 33 | } as const satisfies ValorantEndpoint 34 | 35 | export type CurrentGameLoadoutsResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/currentgame/CurrentGamePlayer.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {playerUUIDSchema, pregameIDSchema} from '../../commonTypes' 4 | 5 | export const currentGamePlayerEndpoint = { 6 | name: 'Current Game Player', 7 | description: 'Get the current game match ID for the provided player', 8 | queryName: 'CoreGame_FetchPlayer', 9 | category: 'Current Game Endpoints', 10 | type: 'glz', 11 | suffix: 'core-game/v1/players/{puuid}', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientPlatform: true, 16 | clientVersion: true 17 | }, 18 | responses: { 19 | '200': z.object({ 20 | Subject: playerUUIDSchema, 21 | MatchID: pregameIDSchema, 22 | Version: z.number() 23 | }) 24 | } 25 | } as const satisfies ValorantEndpoint 26 | 27 | export type CurrentGamePlayerResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/currentgame/CurrentGameQuit.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const currentGameQuitEndpoint = { 5 | name: 'Current Game Quit', 6 | description: 'Quits the current game', 7 | queryName: 'CoreGame_DisassociatePlayer', 8 | category: 'Current Game Endpoints', 9 | type: 'glz', 10 | method: 'POST', 11 | suffix: 'core-game/v1/players/{puuid}/disassociate/{current game match id}', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientPlatform: true, 16 | clientVersion: true 17 | }, 18 | responses: { 19 | '204': z.undefined() 20 | } 21 | } as const satisfies ValorantEndpoint -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/AccountAlias.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {millisSchema} from '../../commonTypes' 4 | 5 | export const accountAliasEndpoint = { 6 | name: 'Account Alias', 7 | description: 'Gets the player username and tagline', 8 | category: 'Local Endpoints', 9 | type: 'local', 10 | suffix: 'player-account/aliases/v1/active', 11 | riotRequirements: { 12 | localAuth: true 13 | }, 14 | responses: { 15 | '200': z.object({ 16 | active: z.boolean(), 17 | created_datetime: millisSchema, 18 | game_name: z.string(), 19 | summoner: z.boolean(), 20 | tag_line: z.string() 21 | }) 22 | } 23 | } as const satisfies ValorantEndpoint 24 | 25 | export type AccountAliasResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/ChatSession.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {playerUUIDSchema} from '../../commonTypes' 4 | 5 | export const chatSessionEndpoint = { 6 | name: 'Chat Session', 7 | description: 'Get the current session including player name and PUUID', 8 | category: 'Local Endpoints', 9 | type: 'local', 10 | suffix: 'chat/v1/session', 11 | riotRequirements: { 12 | localAuth: true 13 | }, 14 | responses: { 15 | '200': z.object({ 16 | federated: z.boolean(), 17 | game_name: z.string(), 18 | game_tag: z.string(), 19 | loaded: z.boolean(), 20 | name: z.string(), 21 | pid: z.string(), 22 | puuid: playerUUIDSchema, 23 | region: z.string(), 24 | resource: z.string(), 25 | state: z.string() 26 | }) 27 | } 28 | } as const satisfies ValorantEndpoint 29 | 30 | export type ChatSessionResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/ClientRegion.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const clientRegionEndpoint = { 5 | name: 'Client Region', 6 | description: 'Gets info about the region and locale from the Riot client', 7 | category: 'Local Endpoints', 8 | type: 'local', 9 | suffix: 'riotclient/region-locale', 10 | riotRequirements: { 11 | localAuth: true 12 | }, 13 | responses: { 14 | '200': z.object({ 15 | locale: z.string(), 16 | region: z.string(), 17 | webLanguage: z.string(), 18 | webRegion: z.string() 19 | }) 20 | } 21 | } as const satisfies ValorantEndpoint 22 | 23 | export type ClientRegionResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/EntitlementsToken.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {playerUUIDSchema} from '../../commonTypes' 4 | 5 | export const entitlementsTokenEndpoint = { 6 | name: 'Entitlements Token', 7 | description: 'Gets both the token and entitlement for API usage\n' + 8 | '`accessToken` is used as the token and `token` is used as the entitlement.', 9 | category: 'Local Endpoints', 10 | type: 'local', 11 | suffix: 'entitlements/v1/token', 12 | riotRequirements: { 13 | localAuth: true 14 | }, 15 | responses: { 16 | '200': z.object({ 17 | accessToken: z.string().describe('Used as the token in requests'), 18 | entitlements: z.array(z.unknown()), 19 | issuer: z.string(), 20 | subject: playerUUIDSchema, 21 | token: z.string().describe('Used as the entitlement in requests'), 22 | }) 23 | } 24 | } as const satisfies ValorantEndpoint 25 | 26 | export type EntitlementsTokenResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/FriendRequests.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {playerUUIDSchema} from '../../commonTypes' 4 | 5 | export const friendRequestsEndpoint = { 6 | name: 'Friend Requests', 7 | description: 'Get a list of friend requests', 8 | category: 'Local Endpoints', 9 | type: 'local', 10 | suffix: 'chat/v4/friendrequests', 11 | riotRequirements: { 12 | localAuth: true 13 | }, 14 | responses: { 15 | '200': z.object({ 16 | requests: z.array(z.object({ 17 | game_name: z.string(), 18 | game_tag: z.string(), 19 | name: z.string(), 20 | note: z.string(), 21 | pid: z.string(), 22 | puuid: playerUUIDSchema, 23 | region: z.string(), 24 | subscription: z.enum(['pending_out', 'pending_in']) 25 | })) 26 | }) 27 | } 28 | } as const satisfies ValorantEndpoint 29 | 30 | export type FriendRequestsResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/Friends.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {millisSchema, playerUUIDSchema} from '../../commonTypes' 4 | 5 | export const friendsEndpoint = { 6 | name: 'Friends', 7 | description: 'Get a list of friends', 8 | category: 'Local Endpoints', 9 | type: 'local', 10 | suffix: 'chat/v4/friends', 11 | riotRequirements: { 12 | localAuth: true 13 | }, 14 | responses: { 15 | '200': z.object({ 16 | friends: z.array(z.object({ 17 | activePlatform: z.string().nullable(), 18 | displayGroup: z.string(), 19 | game_name: z.string(), 20 | game_tag: z.string(), 21 | group: z.string(), 22 | last_online_ts: millisSchema.nullable(), 23 | name: z.string(), 24 | note: z.string(), 25 | pid: z.string(), 26 | puuid: playerUUIDSchema, 27 | region: z.string() 28 | })) 29 | }) 30 | } 31 | } as const satisfies ValorantEndpoint 32 | 33 | export type FriendsResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/LocalHelp.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const localHelpEndpoint = { 5 | name: 'Local Help', 6 | description: 'Get help for the local client', 7 | category: 'Local Endpoints', 8 | type: 'local', 9 | suffix: 'help', 10 | riotRequirements: { 11 | localAuth: true 12 | }, 13 | responses: { 14 | '200': z.object({ 15 | events: z.record(z.string().describe('Websocket event name'), z.string().describe('Websocket event description')), 16 | functions: z.record(z.string().describe('Function name'), z.string().describe('Function description')), 17 | types: z.record(z.string().describe('Type name'), z.string().describe('Type description')) 18 | }) 19 | } 20 | } as const satisfies ValorantEndpoint 21 | 22 | export type LocalHelpResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/LocalSwaggerDocs.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const localSwaggerDocsEndpoint = { 5 | name: 'Local Swagger Docs', 6 | description: 'Fetches json Swagger docs for local endpoints. Can be imported into Swagger or Insomnia.', 7 | category: 'Local Endpoints', 8 | type: 'local', 9 | suffix: 'swagger/v3/openapi.json', 10 | riotRequirements: { 11 | localAuth: true 12 | }, 13 | responses: { 14 | '200': z.unknown().describe('Swagger doc schema') 15 | } 16 | } as const satisfies ValorantEndpoint -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/RemoveFriendRequest.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {playerUUIDSchema} from '../../commonTypes' 4 | 5 | export const removeFriendRequestEndpoint = { 6 | name: 'Remove Friend Request', 7 | description: 'Removes an outgoing friend request', 8 | category: 'Local Endpoints', 9 | type: 'local', 10 | suffix: 'chat/v4/friendrequests', 11 | method: 'DELETE', 12 | riotRequirements: { 13 | localAuth: true 14 | }, 15 | body: z.object({ 16 | puuid: playerUUIDSchema 17 | }), 18 | responses: { 19 | '204': z.undefined() 20 | } 21 | } as const satisfies ValorantEndpoint 22 | 23 | export type RemoveFriendRequestResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/SendFriendRequest.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const sendFriendRequestEndpoint = { 5 | name: 'Send Friend Request', 6 | description: 'Sends a friend request to a player. Can be used in conjunction with [GET Friend Requests] and [DELETE Remove Friend Request] to determine a player\'s PUUID from their game name.', 7 | category: 'Local Endpoints', 8 | type: 'local', 9 | suffix: 'chat/v4/friendrequests', 10 | method: 'POST', 11 | riotRequirements: { 12 | localAuth: true 13 | }, 14 | body: z.object({ 15 | game_name: z.string(), 16 | game_tag: z.string() 17 | }), 18 | responses: { 19 | '200': z.object({ 20 | requests: z.array(z.any()).length(0).describe('Empty array') 21 | }) 22 | } 23 | } as const satisfies ValorantEndpoint 24 | 25 | export type SendFriendRequestResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/Sessions.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const sessionsEndpoint = { 5 | name: 'Sessions', 6 | description: 'Gets info about the running Valorant process including start arguments\n ' + 7 | 'Can be used to get shard, region, and puuid by parsing launch args.', 8 | queryName: 'RiotClientSession_FetchSessions', 9 | category: 'Local Endpoints', 10 | type: 'local', 11 | suffix: 'product-session/v1/external-sessions', 12 | riotRequirements: { 13 | localAuth: true 14 | }, 15 | responses: { 16 | '200': z.record(z.string().describe('Session ID'), z.object({ 17 | exitCode: z.number(), 18 | exitReason: z.null(), 19 | isInternal: z.boolean(), 20 | launchConfiguration: z.object({ 21 | arguments: z.array(z.string()), 22 | executable: z.string(), 23 | locale: z.string().nullable(), 24 | voiceLocale: z.null(), 25 | workingDirectory: z.string() 26 | }), 27 | patchlineFullName: z.enum(['VALORANT', 'riot_client']), 28 | patchlineId: z.enum(['', 'live', 'pbe']), 29 | phase: z.string(), 30 | productId: z.enum(['valorant', 'riot_client']), 31 | version: z.string() 32 | })) 33 | } 34 | } as const satisfies ValorantEndpoint 35 | 36 | export type SessionsResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/chat/AllChatInfo.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {conversationsSchema} from '../../../commonTypes' 4 | 5 | export const allChatInfoEndpoint = { 6 | name: 'All Chat Info', 7 | description: 'Get information about all active conversations', 8 | category: ['Local Endpoints', 'Chat'] as string[], 9 | type: 'local', 10 | suffix: 'chat/v6/conversations', 11 | riotRequirements: { 12 | localAuth: true 13 | }, 14 | responses: { 15 | '200': conversationsSchema 16 | } 17 | } as const satisfies ValorantEndpoint 18 | 19 | export type AllChatInfoResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/chat/ChatHistory.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {chatMessagesSchema} from '../../../commonTypes' 4 | 5 | export const chatHistoryEndpoint = { 6 | name: 'Chat History', 7 | description: 'Get chat history for all conversations or a specific conversation if the cid is provided', 8 | category: ['Local Endpoints', 'Chat'] as string[], 9 | type: 'local', 10 | suffix: 'chat/v6/messages', 11 | query: new Map([ 12 | ['cid', z.string().optional()] 13 | ]), 14 | riotRequirements: { 15 | localAuth: true 16 | }, 17 | responses: { 18 | '200': chatMessagesSchema 19 | } 20 | } as const satisfies ValorantEndpoint 21 | 22 | export type ChatHistoryResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/chat/ChatParticipants.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {playerUUIDSchema} from '../../../commonTypes' 4 | 5 | export const chatParticipantsEndpoint = { 6 | name: 'Chat Participants', 7 | description: 'Get information about the participants of all active conversations or a specific conversation if a cid is provided', 8 | category: ['Local Endpoints', 'Chat'] as string[], 9 | type: 'local', 10 | suffix: 'chat/v5/participants', 11 | query: new Map([ 12 | ['cid', z.string().optional()] 13 | ]), 14 | riotRequirements: { 15 | localAuth: true 16 | }, 17 | responses: { 18 | '200': z.object({ 19 | participants: z.array(z.object({ 20 | activePlatform: z.null(), 21 | cid: z.string(), 22 | game_name: z.string(), 23 | game_tag: z.string(), 24 | muted: z.boolean(), 25 | name: z.string(), 26 | pid: z.string(), 27 | puuid: playerUUIDSchema, 28 | region: z.string() 29 | })) 30 | }) 31 | } 32 | } as const satisfies ValorantEndpoint 33 | 34 | export type ChatParticipantsResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/chat/CurrentGameChatInfo.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {conversationsSchema} from '../../../commonTypes' 4 | 5 | export const currentGameChatInfoEndpoint = { 6 | name: 'Current Game Chat Info', 7 | description: 'Get information about the current game chat', 8 | category: ['Local Endpoints', 'Chat'] as string[], 9 | type: 'local', 10 | suffix: 'chat/v6/conversations/ares-coregame', 11 | riotRequirements: { 12 | localAuth: true 13 | }, 14 | responses: { 15 | '200': conversationsSchema 16 | } 17 | } as const satisfies ValorantEndpoint 18 | 19 | export type CurrentGameChatInfoResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/chat/PartyChatInfo.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {conversationsSchema} from '../../../commonTypes' 4 | 5 | export const partyChatInfoEndpoint = { 6 | name: 'Party Chat Info', 7 | description: 'Get information about the party chat', 8 | category: ['Local Endpoints', 'Chat'] as string[], 9 | type: 'local', 10 | suffix: 'chat/v6/conversations/ares-parties', 11 | riotRequirements: { 12 | localAuth: true 13 | }, 14 | responses: { 15 | '200': conversationsSchema 16 | } 17 | } as const satisfies ValorantEndpoint 18 | 19 | export type PartyChatInfoResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/chat/PregameChatInfo.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {conversationsSchema} from '../../../commonTypes' 4 | 5 | export const pregameChatInfoEndpoint = { 6 | name: 'Pre-Game Chat Info', 7 | description: 'Get information about the pre-game chat', 8 | category: ['Local Endpoints', 'Chat'] as string[], 9 | type: 'local', 10 | suffix: 'chat/v6/conversations/ares-pregame', 11 | riotRequirements: { 12 | localAuth: true 13 | }, 14 | responses: { 15 | '200': conversationsSchema 16 | } 17 | } as const satisfies ValorantEndpoint 18 | 19 | export type PregameChatInfoResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/local/chat/SendChat.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {chatMessagesSchema} from '../../../commonTypes' 4 | 5 | export const sendChatEndpoint = { 6 | name: 'Send Chat', 7 | description: 'Send a message to the specified group', 8 | category: ['Local Endpoints', 'Chat'] as string[], 9 | type: 'local', 10 | suffix: 'chat/v6/messages', 11 | method: 'POST', 12 | body: z.object({ 13 | cid: z.string().describe('The conversation ID of the group to send the message to'), 14 | message: z.string(), 15 | type: z.enum(['groupchat', 'chat', 'system']).describe('Use `chat` for whispers, `groupchat` for group messages, and `system` for system messages'), 16 | }), 17 | riotRequirements: { 18 | localAuth: true 19 | }, 20 | responses: { 21 | '200': chatMessagesSchema 22 | } 23 | } as const satisfies ValorantEndpoint 24 | 25 | export type SendChatResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/ChangeQueue.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema, queueIDSchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const changeQueueEndpoint = { 6 | name: 'Change Queue', 7 | description: 'Change the queue for the party', 8 | queryName: 'Party_ChangeQueue', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/queue', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientPlatform: true, 17 | clientVersion: true 18 | }, 19 | body: z.object({ 20 | queueId: queueIDSchema 21 | }), 22 | responses: { 23 | '200': partySchema 24 | } 25 | } as const satisfies ValorantEndpoint 26 | 27 | export type ChangeQueueResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/EnterMatchmakingQueue.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const enterMatchmakingQueueEndpoint = { 6 | name: 'Enter Matchmaking Queue', 7 | description: 'Enter the matchmaking queue for the party', 8 | queryName: 'Party_EnterMatchmakingQueue', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/matchmaking/join', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientPlatform: true, 17 | clientVersion: true 18 | }, 19 | responses: { 20 | '200': partySchema 21 | } 22 | } as const satisfies ValorantEndpoint 23 | 24 | export type EnterMatchmakingQueueResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/LeaveMatchmakingQueue.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const leaveMatchmakingQueueEndpoint = { 6 | name: 'Leave Matchmaking Queue', 7 | description: 'Leave the matchmaking queue for the party', 8 | queryName: 'Party_LeaveMatchmakingQueue', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/matchmaking/leave', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientPlatform: true, 17 | clientVersion: true 18 | }, 19 | responses: { 20 | '200': partySchema 21 | } 22 | } as const satisfies ValorantEndpoint 23 | 24 | export type LeaveMatchmakingQueueResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/Party.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const partyEndpoint = { 6 | name: 'Party', 7 | description: 'Get the party information for the given party ID', 8 | queryName: 'Party_FetchParty', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | suffix: 'parties/v1/parties/{party id}', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientPlatform: true, 16 | clientVersion: true 17 | }, 18 | responses: { 19 | '200': partySchema 20 | } 21 | } as const satisfies ValorantEndpoint 22 | 23 | export type PartyResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/PartyChatToken.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const partyChatTokenEndpoint = { 5 | name: 'Party Chat Token', 6 | description: 'Get the party chat token', 7 | queryName: 'Party_FetchMUCToken', 8 | category: 'Party Endpoints', 9 | type: 'glz', 10 | suffix: '/parties/v1/parties/{party id}/muctoken', 11 | riotRequirements: { 12 | token: true, 13 | entitlement: true, 14 | clientPlatform: true, 15 | clientVersion: true 16 | }, 17 | responses: { 18 | '200': z.object({ 19 | Token: z.string(), 20 | Room: z.string() 21 | }) 22 | } 23 | } as const satisfies ValorantEndpoint 24 | 25 | export type PartyChatTokenResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/PartyDecline.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const partyDeclineEndpoint = { 6 | name: 'Party Decline', 7 | description: 'Decline a party invite request', 8 | queryName: 'Party_DeclineRequest', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/request/{request id}/decline', 13 | variables: new Map([ 14 | ['request id', z.string().describe('The ID of the request to decline')] 15 | ]), 16 | riotRequirements: { 17 | token: true, 18 | entitlement: true, 19 | clientPlatform: true, 20 | clientVersion: true 21 | }, 22 | responses: { 23 | '200': partySchema 24 | } 25 | } as const satisfies ValorantEndpoint 26 | 27 | export type PartyDeclineResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/PartyDisableCode.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const partyDisableCodeEndpoint = { 6 | name: 'Party Disable Code', 7 | description: 'Disable the party invite code', 8 | queryName: 'Party_CreateInviteCode', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'DELETE', 12 | suffix: 'parties/v1/parties/{party id}/invitecode', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientPlatform: true, 17 | clientVersion: true 18 | }, 19 | responses: { 20 | '200': partySchema 21 | } 22 | } as const satisfies ValorantEndpoint 23 | 24 | export type PartyDisableCodeResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/PartyGenerateCode.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const partyGenerateCodeEndpoint = { 6 | name: 'Party Generate Code', 7 | description: 'Generate a party invite code', 8 | queryName: 'Party_CreateInviteCode', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/invitecode', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientPlatform: true, 17 | clientVersion: true 18 | }, 19 | responses: { 20 | '200': partySchema 21 | } 22 | } as const satisfies ValorantEndpoint 23 | 24 | export type PartyGenerateCodeResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/PartyInvite.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const partyInviteEndpoint = { 6 | name: 'Party Invite', 7 | description: 'Invite a player to the party by name and tagline', 8 | queryName: 'Party_InviteToPartyByDisplayName', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/invites/name/{name}/tag/{tagline}', 13 | variables: new Map([ 14 | ['name', z.string()], 15 | ['tagline', z.string()] 16 | ]), 17 | riotRequirements: { 18 | token: true, 19 | entitlement: true, 20 | clientVersion: true, 21 | clientPlatform: true 22 | }, 23 | responses: { 24 | '200': partySchema 25 | } 26 | } as const satisfies ValorantEndpoint 27 | 28 | export type PartyInviteResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/PartyJoinByCode.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partyPlayerSchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const partyJoinByCodeEndpoint = { 6 | name: 'Party Join By Code', 7 | description: 'Join a party using an invite code', 8 | queryName: 'Party_CreateInviteCode', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/players/joinbycode/{code}', 13 | variables: new Map([ 14 | ['code', z.string().describe('The invite code to join the party')] 15 | ]), 16 | riotRequirements: { 17 | token: true, 18 | entitlement: true, 19 | clientPlatform: true, 20 | clientVersion: true 21 | }, 22 | responses: { 23 | '200': partyPlayerSchema, 24 | '404': z.object({ 25 | httpStatus: z.literal(404), 26 | errorCode: z.literal('ERR_MISSING_INVITE_CODE_MAPPING'), 27 | message: z.literal('No PartyID <--> InviteCode mapping found') 28 | }) 29 | } 30 | } as const satisfies ValorantEndpoint 31 | 32 | export type PartyJoinByCodeResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/PartyPlayer.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {dateSchema, partyIDSchema, partyPlayerSchema, platformSchema, playerUUIDSchema} from '../../commonTypes' 4 | 5 | export const partyPlayerEndpoint = { 6 | name: 'Party Player', 7 | description: 'Get the party information for the given player', 8 | queryName: 'Party_FetchPlayer', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | suffix: 'parties/v1/players/{puuid}', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientVersion: true, 16 | clientPlatform: true 17 | }, 18 | responses: { 19 | '200': partyPlayerSchema 20 | } 21 | } as const satisfies ValorantEndpoint 22 | 23 | export type PartyPlayerResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/PartyRemovePlayer.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const partyRemovePlayerEndpoint = { 5 | name: 'Party Remove Player', 6 | description: 'Remove a player from the current party', 7 | queryName: 'Party_RemovePlayer', 8 | category: 'Party Endpoints', 9 | type: 'glz', 10 | suffix: 'parties/v1/players/{puuid}', 11 | method: 'DELETE', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientVersion: true, 16 | clientPlatform: true 17 | }, 18 | responses: { 19 | '204': z.undefined() 20 | } 21 | } as const satisfies ValorantEndpoint -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/PartyRequest.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const partyRequestEndpoint = { 5 | name: 'Party Request', 6 | description: 'Requests to join the specified party ID', 7 | queryName: 'Party_RequestToJoinParty', 8 | category: 'Party Endpoints', 9 | type: 'glz', 10 | method: 'POST', 11 | suffix: 'parties/v1/parties/{party id}/request', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientPlatform: true, 16 | clientVersion: true 17 | }, 18 | responses: { 19 | '200': z.unknown() //TODO verify 20 | } 21 | } as const satisfies ValorantEndpoint 22 | 23 | export type PartyRequestResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/PartySetMemberReady.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {partySchema} from '../../commonTypes' 4 | 5 | export const partySetMemberReadyEndpoint = { 6 | name: 'Party Set Member Ready', 7 | description: 'Set the ready status of a player in the current party', 8 | queryName: 'Party_SetMemberReady', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | suffix: 'parties/v1/parties/{party id}/members/{puuid}/setReady', 12 | method: 'POST', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientPlatform: true, 17 | clientVersion: true 18 | }, 19 | body: z.object({ 20 | ready: z.boolean().describe("Ready Status") 21 | }), 22 | responses: { 23 | '200': partySchema 24 | } 25 | } as const satisfies ValorantEndpoint 26 | 27 | export type PartySetMemberReadyResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/PartyVoiceToken.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const partyVoiceTokenEndpoint = { 5 | name: 'Party Voice Token', 6 | description: 'Get the party voice token', 7 | queryName: 'Party_FetchVoiceToken', 8 | category: 'Party Endpoints', 9 | type: 'glz', 10 | suffix: '/parties/v1/parties/{party id}/voicetoken', 11 | riotRequirements: { 12 | token: true, 13 | entitlement: true, 14 | clientPlatform: true, 15 | clientVersion: true 16 | }, 17 | responses: { 18 | '200': z.object({ 19 | Token: z.string(), 20 | Room: z.string() 21 | }) 22 | } 23 | } as const satisfies ValorantEndpoint 24 | 25 | export type PartyVoiceTokenResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/RefreshCompetitiveTier.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const refreshCompetitiveTierEndpoint = { 6 | name: 'Refresh Competitive Tier', 7 | description: 'Refresh the competitive tier of the specified player', 8 | queryName: 'Party_RefreshCompetitiveTier', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/members/{puuid}/refreshCompetitiveTier', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientVersion: true, 17 | clientPlatform: true 18 | }, 19 | responses: { 20 | '200': partySchema 21 | } 22 | } as const satisfies ValorantEndpoint 23 | 24 | export type RefreshCompetitiveTierResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/RefreshPings.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const refreshPingsEndpoint = { 6 | name: 'Refresh Pings', 7 | description: 'Refresh the pings of the specified player', 8 | queryName: 'Party_RefreshPings', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/members/{puuid}/refreshPings', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientVersion: true, 17 | clientPlatform: true 18 | }, 19 | responses: { 20 | '200': partySchema 21 | } 22 | } as const satisfies ValorantEndpoint 23 | 24 | export type RefreshPingsResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/RefreshPlayerIdentity.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const refreshPlayerIdentityEndpoint = { 6 | name: 'Refresh Player Identity', 7 | description: 'Refresh the identity of the specified player', 8 | queryName: 'Party_RefreshPlayerIdentity', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/members/{puuid}/refreshPlayerIdentity', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientVersion: true, 17 | clientPlatform: true 18 | }, 19 | responses: { 20 | '200': partySchema 21 | } 22 | } as const satisfies ValorantEndpoint 23 | 24 | export type RefreshPlayerIdentityResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/SetCustomGameSettings.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {gameModeSchema, mapIDSchema, partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const setCustomGameSettingsEndpoint = { 6 | name: 'Set Custom Game Settings', 7 | description: 'Changes the settings for a custom game', 8 | queryName: 'Party_SetCustomGameSettings', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/customgamesettings', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientVersion: true, 17 | clientPlatform: true 18 | }, 19 | body: z.object({ 20 | Map: mapIDSchema, 21 | Mode: gameModeSchema, 22 | UseBots: z.boolean(), 23 | GamePod: z.string(), 24 | GameRules: z.object({ 25 | AllowGameModifiers: z.enum(['true', 'false']), 26 | PlayOutAllRounds: z.enum(['true', 'false']), 27 | SkipMatchHistory: z.enum(['true', 'false']), 28 | TournamentMode: z.enum(['true', 'false']), 29 | IsOvertimeWinByTwo: z.enum(['true', 'false']) 30 | }) 31 | }), 32 | responses: { 33 | '200': partySchema 34 | } 35 | } as const satisfies ValorantEndpoint 36 | 37 | export type SetCustomGameSettingsResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/SetPartyAccessibility.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const setPartyAccessibilityEndpoint = { 6 | name: 'Set Party Accessibility', 7 | description: 'Set the accessibility of the party', 8 | queryName: 'Party_SetAccessibility', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/accessibility', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientPlatform: true, 17 | clientVersion: true 18 | }, 19 | body: z.object({ 20 | accessibility: z.enum(['OPEN', 'CLOSED']) 21 | }), 22 | responses: { 23 | '200': partySchema 24 | } 25 | } as const satisfies ValorantEndpoint 26 | 27 | export type SetPartyAccessibilityResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/party/StartCustomGame.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {partySchema} from '../../commonTypes' 3 | import {z} from 'zod' 4 | 5 | export const startCustomGameEndpoint = { 6 | name: 'Start Custom Game', 7 | description: 'Start a custom game', 8 | queryName: 'Party_StartCustomGame', 9 | category: 'Party Endpoints', 10 | type: 'glz', 11 | method: 'POST', 12 | suffix: 'parties/v1/parties/{party id}/startcustomgame', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientVersion: true, 17 | clientPlatform: true 18 | }, 19 | responses: { 20 | '200': partySchema 21 | } 22 | } as const satisfies ValorantEndpoint 23 | 24 | export type StartCustomGameResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/pregame/LockCharacter.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {pregameMatchSchema, weakUUIDSchema} from '../../commonTypes' 4 | 5 | export const lockCharacterEndpoint = { 6 | name: 'Lock Character', 7 | description: 'Lock in an agent \n' + 8 | '**DO NOT USE THIS FOR INSTALOCKING** \n' + 9 | 'Riot doesn\'t like this. You may get banned or get the API restricted for the rest of us. ', 10 | queryName: 'Pregame_LockCharacter', 11 | category: 'Pre-Game Endpoints', 12 | type: 'glz', 13 | method: 'POST', 14 | suffix: 'pregame/v1/matches/{pre-game match id}/lock/{agent id}', 15 | variables: new Map([ 16 | ['{agent id}', weakUUIDSchema.describe('The agent ID to lock in')] 17 | ]), 18 | riotRequirements: { 19 | token: true, 20 | entitlement: true, 21 | clientPlatform: true, 22 | clientVersion: true 23 | }, 24 | responses: { 25 | '200': pregameMatchSchema 26 | } 27 | } as const satisfies ValorantEndpoint 28 | 29 | export type LockCharacterResponse = z.infer -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/pregame/PregameLoadouts.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import { 4 | characterIDSchema, 5 | itemIDSchema, 6 | itemTypeIDSchema, 7 | loadoutsSchema, 8 | playerUUIDSchema, 9 | weakUUIDSchema 10 | } from '../../commonTypes' 11 | 12 | export const pregameLoadoutsEndpoint = { 13 | name: 'Pre-Game Loadouts', 14 | description: 'Get Pre-Game loadout data', 15 | queryName: 'Pregame_GetMatchLoadouts', 16 | category: 'Pre-Game Endpoints', 17 | type: 'glz', 18 | suffix: 'pregame/v1/matches/{pre-game match id}/loadouts', 19 | riotRequirements: { 20 | token: true, 21 | entitlement: true, 22 | clientPlatform: true, 23 | clientVersion: true 24 | }, 25 | responses: { 26 | '200': z.object({ 27 | Loadouts: z.array(loadoutsSchema), 28 | LoadoutsValid: z.boolean() 29 | }) 30 | } 31 | } as const satisfies ValorantEndpoint 32 | 33 | export type PregameLoadoutsResponse = z.infer -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/pregame/PregameMatch.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {pregameMatchSchema} from '../../commonTypes' 4 | 5 | export const pregameMatchEndpoint = { 6 | name: 'Pre-Game Match', 7 | description: 'Get Pre-Game match data', 8 | queryName: 'Pregame_GetMatch', 9 | category: 'Pre-Game Endpoints', 10 | type: 'glz', 11 | suffix: 'pregame/v1/matches/{pre-game match id}', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientPlatform: true, 16 | clientVersion: true 17 | }, 18 | responses: { 19 | '200': pregameMatchSchema 20 | } 21 | } as const satisfies ValorantEndpoint 22 | 23 | export type PregameMatchResponse = z.infer -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/pregame/PregamePlayer.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {playerUUIDSchema, pregameIDSchema} from '../../commonTypes' 4 | 5 | export const pregamePlayerEndpoint = { 6 | name: 'Pre-Game Player', 7 | description: 'Get the pre-game match ID for the provided player', 8 | queryName: 'Pregame_GetPlayer', 9 | category: 'Pre-Game Endpoints', 10 | type: 'glz', 11 | suffix: 'pregame/v1/players/{puuid}', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientPlatform: true, 16 | clientVersion: true 17 | }, 18 | responses: { 19 | '200': z.object({ 20 | Subject: playerUUIDSchema, 21 | MatchID: pregameIDSchema, 22 | Version: z.number() 23 | }) 24 | } 25 | } as const satisfies ValorantEndpoint 26 | 27 | export type PregamePlayerResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/pregame/PregameQuit.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | 4 | export const pregameQuitEndpoint = { 5 | name: 'Pre-Game Quit', 6 | description: 'Quit the pre-game lobby', 7 | queryName: 'Pregame_QuitMatch', 8 | category: 'Pre-Game Endpoints', 9 | type: 'glz', 10 | method: 'POST', 11 | suffix: 'pregame/v1/matches/{pre-game match id}/quit', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientPlatform: true, 16 | clientVersion: true 17 | }, 18 | responses: { 19 | '204': z.undefined() 20 | } 21 | } as const satisfies ValorantEndpoint -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/pregame/SelectCharacter.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {pregameMatchSchema, weakUUIDSchema} from '../../commonTypes' 4 | 5 | export const selectCharacterEndpoint = { 6 | name: 'Select Character', 7 | description: 'Select an agent \n' + 8 | '**DO NOT USE THIS FOR INSTALOCKING** \n' + 9 | 'Riot doesn\'t like this. You may get banned or get the API restricted for the rest of us. ', 10 | queryName: 'Pregame_SelectCharacter', 11 | category: 'Pre-Game Endpoints', 12 | type: 'glz', 13 | method: 'POST', 14 | suffix: 'pregame/v1/matches/{pre-game match id}/select/{agent id}', 15 | variables: new Map([ 16 | ['{agent id}', weakUUIDSchema.describe('The agent ID to select')] 17 | ]), 18 | riotRequirements: { 19 | token: true, 20 | entitlement: true, 21 | clientPlatform: true, 22 | clientVersion: true 23 | }, 24 | responses: { 25 | '200': pregameMatchSchema 26 | } 27 | } as const satisfies ValorantEndpoint 28 | 29 | export type SelectCharacterResponse = z.infer -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/pvp/FetchContent.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {dateSchema, weakUUIDSchema} from '../../commonTypes' 4 | 5 | export const fetchContentEndpoint = { 6 | name: 'Fetch Content', 7 | description: 'Get a list of seasons, acts, and events', 8 | queryName: 'Content_FetchContent', 9 | category: 'PVP Endpoints', 10 | type: 'shared', 11 | suffix: 'content-service/v3/content', 12 | riotRequirements: { 13 | clientVersion: true, 14 | clientPlatform: true, 15 | token: true, 16 | entitlement: true 17 | }, 18 | responses: { 19 | '200': z.object({ 20 | DisabledIDs: z.array(z.unknown()), 21 | Seasons: z.array(z.object({ 22 | ID: weakUUIDSchema, 23 | Name: z.string(), 24 | Type: z.enum(['episode', 'act']), 25 | StartTime: dateSchema, 26 | EndTime: dateSchema, 27 | IsActive: z.boolean() 28 | })), 29 | Events: z.array(z.object({ 30 | ID: weakUUIDSchema, 31 | Name: z.string(), 32 | StartTime: dateSchema, 33 | EndTime: dateSchema, 34 | IsActive: z.boolean() 35 | })) 36 | }) 37 | } 38 | } as const satisfies ValorantEndpoint 39 | 40 | export type FetchContentResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/pvp/MatchHistory.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z, ZodType} from 'zod' 3 | import {matchIDSchema, millisSchema, playerUUIDSchema, queueIDSchema} from '../../commonTypes' 4 | 5 | export const matchHistoryEndpoint = { 6 | name: 'Match History', 7 | description: 'Get the match history for the given player', 8 | queryName: 'MatchHistory_FetchMatchHistory', 9 | category: 'PVP Endpoints', 10 | type: 'pd', 11 | suffix: 'match-history/v1/history/{puuid}', 12 | query: new Map([ 13 | ['startIndex', z.number().optional().describe('The index of the first match to return. Defaults to 0')], 14 | ['endIndex', z.number().optional().describe('The index of the last match to return. Defaults to 20')], 15 | ['queue', z.string().optional().describe('The queue to filter by. Defaults to all queues') as ZodType], // Not sure why this "as ZodType" is needed 16 | ]), 17 | riotRequirements: { 18 | token: true, 19 | entitlement: true, 20 | clientPlatform: true, 21 | clientVersion: true 22 | }, 23 | responses: { 24 | '200': z.object({ 25 | Subject: playerUUIDSchema, 26 | BeginIndex: z.number(), 27 | EndIndex: z.number(), 28 | Total: z.number(), 29 | History: z.array(z.object({ 30 | MatchID: matchIDSchema, 31 | GameStartTime: millisSchema, 32 | QueueID: queueIDSchema 33 | })) 34 | }) 35 | } 36 | } as const satisfies ValorantEndpoint 37 | 38 | export type MatchHistoryResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/pvp/NameService.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {playerUUIDSchema} from '../../commonTypes' 4 | 5 | export const nameServiceEndpoint = { 6 | name: 'Name Service', 7 | description: 'Get a player\'s name and tagline by their PUUID. Supports retrieving multiple players in one request.', 8 | queryName: 'NameService_GetPlayerInfo', 9 | category: 'PVP Endpoints', 10 | type: 'pd', 11 | method: 'PUT', 12 | suffix: 'name-service/v2/players', 13 | riotRequirements: { 14 | token: true, 15 | entitlement: true, 16 | clientVersion: true, 17 | clientPlatform: true 18 | }, 19 | responses: { 20 | '200': z.array(z.object({ 21 | DisplayName: z.string(), 22 | Subject: playerUUIDSchema, 23 | GameName: z.string(), 24 | TagLine: z.string(), 25 | })) 26 | }, 27 | body: z.array(playerUUIDSchema).describe("PUUID(s) to retrieve the name data for") 28 | } as const satisfies ValorantEndpoint 29 | 30 | export type NameServiceResponse = z.input 31 | -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/pvp/Penalties.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {playerUUIDSchema} from '../../commonTypes' 4 | 5 | export const penaltiesEndpoint = { 6 | name: 'Penalties', 7 | description: 'Get the matchmaking penalties for the given player', 8 | queryName: 'Restrictions_FetchPlayerRestrictionsV3', 9 | category: 'PVP Endpoints', 10 | type: 'pd', 11 | suffix: 'restrictions/v3/penalties', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientPlatform: true, 16 | clientVersion: true 17 | }, 18 | responses: { 19 | '200': z.object({ 20 | Subject: playerUUIDSchema, 21 | Penalties: z.array(z.unknown()), //TODO find structure for this 22 | Version: z.number() 23 | }) 24 | } 25 | } as const satisfies ValorantEndpoint 26 | 27 | export type PenaltiesResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/pvp/SetPlayerLoadout.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {playerUUIDSchema} from '../../commonTypes' 4 | import {PlayerLoadoutResponse, playerLoadoutSchema} from './PlayerLoadout' 5 | 6 | export const setPlayerLoadoutEndpoint = { 7 | name: 'Set Player Loadout', 8 | description: 'Set the player\'s current loadout.', 9 | queryName: 'playerLoadoutUpdate', 10 | category: 'PVP Endpoints', 11 | type: 'pd', 12 | method: 'PUT', 13 | suffix: 'personalization/v2/players/{puuid}/playerloadout', 14 | riotRequirements: { 15 | token: true, 16 | entitlement: true, 17 | clientPlatform: true, 18 | clientVersion: true 19 | }, 20 | responses: { 21 | '200': z.object({ 22 | Subject: playerUUIDSchema, 23 | Version: z.number() 24 | }).merge(playerLoadoutSchema) 25 | }, 26 | body: playerLoadoutSchema.describe('JSON-encoded player loadout object. See the Player Loadout endpoint for an example. Exclude the Subject and Version properties.'), 27 | } as const satisfies ValorantEndpoint 28 | 29 | export type SetPlayerLoadoutResponse = PlayerLoadoutResponse -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/store/Prices.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {currencyIDSchema, dateSchema, itemIDSchema, itemTypeIDSchema} from '../../commonTypes' 4 | 5 | export const pricesEndpoint = { 6 | name: 'Prices', 7 | description: 'Get the current store prices for all items', 8 | queryName: 'Store_GetOffers', 9 | category: 'Store Endpoints', 10 | type: 'pd', 11 | suffix: 'store/v1/offers/', 12 | riotRequirements: { 13 | token: true, 14 | entitlement: true, 15 | clientPlatform: true, 16 | clientVersion: true 17 | }, 18 | responses: { 19 | '200': z.object({ 20 | Offers: z.array(z.object({ 21 | OfferID: z.string(), 22 | IsDirectPurchase: z.boolean(), 23 | StartDate: dateSchema, 24 | Cost: z.record(currencyIDSchema, z.number()), 25 | Rewards: z.array(z.object({ 26 | ItemTypeID: itemTypeIDSchema, 27 | ItemID: itemIDSchema, 28 | Quantity: z.number() 29 | })) 30 | })) 31 | }) 32 | } 33 | } as const satisfies ValorantEndpoint 34 | 35 | export type PricesResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/src/endpoints/store/Wallet.ts: -------------------------------------------------------------------------------- 1 | import {ValorantEndpoint} from '../../ValorantEndpoint' 2 | import {z} from 'zod' 3 | import {currencyIDSchema} from '../../commonTypes' 4 | export const walletEndpoint = { 5 | name: 'Wallet', 6 | description: 'Get the current wallet balance for the user', 7 | queryName: 'Store_GetWallet', 8 | category: 'Store Endpoints', 9 | type: 'pd', 10 | suffix: 'store/v1/wallet/{puuid}', 11 | riotRequirements: { 12 | token: true, 13 | entitlement: true, 14 | clientPlatform: true, 15 | clientVersion: true 16 | }, 17 | responses: { 18 | '200': z.object({ 19 | Balances: z.record(currencyIDSchema, z.number()) 20 | }) 21 | } 22 | } as const satisfies ValorantEndpoint 23 | 24 | export type WalletResponse = z.input -------------------------------------------------------------------------------- /valorant-api-types/tests/endpoint-responses/name-service/single-name.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "DisplayName": "", 4 | "Subject": "b5c5e47c-1818-4959-a12f-2b1ea3cd354f", 5 | "GameName": "Player01", 6 | "TagLine": "0001" 7 | } 8 | ] -------------------------------------------------------------------------------- /valorant-api-types/tests/endpoint-responses/penalties/no-penalties.json: -------------------------------------------------------------------------------- 1 | { 2 | "Subject": "604aa5b4-a60f-421f-b800-80d7f840a13b", 3 | "Penalties": [], 4 | "Version": 1685246809473 5 | } -------------------------------------------------------------------------------- /valorant-api-types/tests/endpoint-responses/readme.md: -------------------------------------------------------------------------------- 1 | # Endpoint Responses 2 | 3 | This directory contains example responses from the Valorant API. These are used to test the Zod types in `valorant-api-types`. 4 | Any examples should be anonymized using [Valorant Data Anonymizer](https://valorant-data-anonymizer.techchrism.me/) before being committed to this repository. 5 | 6 | If there is any data that Valorant Data Anonymizer does not properly anonymize, please open an issue on the [Valorant Data Anonymizer repository](https://github.com/techchrism/valorant-data-anonymizer). 7 | 8 | This is just used for testing formatting and schemas so any UUIDS in the data may be invalid. 9 | 10 | ## Directory Layout 11 | 12 | Anonymized responses are stored in individual directories per endpoint. 13 | The directory name should match the "slug" version of the endpoint name, obtained from making the name lowercase and replacing spaces with dashes. 14 | ```javascript 15 | name.toLowerCase().replace(/ /g, '-') 16 | ``` -------------------------------------------------------------------------------- /valorant-api-types/tests/src/test.ts: -------------------------------------------------------------------------------- 1 | import {endpoints, ValorantEndpoint} from '../../dist' 2 | import * as path from 'node:path' 3 | import {promises as fs} from 'node:fs' 4 | import {deepStrict} from './deepStrict' 5 | 6 | (async () => { 7 | const responsesDir = path.join(__dirname, '..', 'endpoint-responses') 8 | const responsesDirectories = await fs.readdir(responsesDir) 9 | 10 | const endpointArray = Object.values(endpoints) as ValorantEndpoint[] 11 | for(const endpoint of endpointArray) { 12 | if(endpoint.responses?.['200'] === undefined) continue 13 | 14 | const slugName = endpoint.name.toLowerCase().replace(/ /g, '-') 15 | if(!responsesDirectories.includes(slugName)) continue 16 | 17 | const responseDir = path.join(responsesDir, slugName) 18 | const responseFiles = await fs.readdir(responseDir) 19 | const schema = deepStrict(endpoint.responses['200']) 20 | 21 | for(const responseFile of responseFiles.filter(f => f.endsWith('.json'))) { 22 | const data = JSON.parse(await fs.readFile(path.join(responseDir, responseFile), 'utf-8')) 23 | const result = schema.safeParse(data) 24 | if(result.success) { 25 | console.log(`✅ Parsed ${slugName}/${responseFile}`) 26 | } else { 27 | console.log(`❌ Failed to parse ${slugName}/${responseFile}`) 28 | console.error(JSON.stringify(result.error.issues, null, 4)) 29 | process.exit(1) 30 | } 31 | } 32 | } 33 | 34 | console.log('🎉 All responses parsed successfully') 35 | })() -------------------------------------------------------------------------------- /valorant-api-types/tests/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["ESNext"], 4 | "target": "ESNext", 5 | "module": "CommonJS", 6 | "strict": true, 7 | "sourceMap": true, 8 | "declaration": true, 9 | "downlevelIteration": true, 10 | "outDir": "./dist" 11 | }, 12 | "include": ["src/**/*.ts"], 13 | "exclude": ["node_modules", ".vscode"], 14 | "references": [ 15 | {"path": ".."} 16 | ] 17 | } -------------------------------------------------------------------------------- /valorant-api-types/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["ESNext"], 4 | "target": "ESNext", 5 | "module": "CommonJS", 6 | "strict": true, 7 | "sourceMap": true, 8 | "declaration": true, 9 | "downlevelIteration": true, 10 | "outDir": "./dist", 11 | "rootDir": "src", 12 | "composite": true 13 | }, 14 | "include": ["src/**/*.ts"], 15 | "exclude": ["node_modules", ".vscode"] 16 | } -------------------------------------------------------------------------------- /web/.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | 4 | # generated types 5 | .astro/ 6 | 7 | # dependencies 8 | node_modules/ 9 | 10 | # logs 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # environment variables 17 | .env 18 | .env.production 19 | 20 | # macOS-specific files 21 | .DS_Store 22 | -------------------------------------------------------------------------------- /web/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["astro-build.astro-vscode"], 3 | "unwantedRecommendations": [] 4 | } 5 | -------------------------------------------------------------------------------- /web/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "command": "./node_modules/.bin/astro dev", 6 | "name": "Development server", 7 | "request": "launch", 8 | "type": "node-terminal" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /web/README.md: -------------------------------------------------------------------------------- 1 | # Valorant API Docs Web 2 | 3 | The web frontend for the Valorant API Docs. Built using Astro, TypeScript, and Tailwind CSS. 4 | 5 | This module consumes the `valorant-api-types` library and produces a static site that can be deployed to any static hosting provider. 6 | 7 | ## Development 8 | 9 | To run the development server, run `npm install` followed by `npm run dev` in this directory. 10 | 11 | If you're testing a custom version of `valorant-api-types`, you can run [npm link](https://docs.npmjs.com/cli/v10/commands/npm-link) the local version of the library to this project. 12 | Because of Vite's module optimizations, you'll need to kill and restart the development server after making changes to the library. 13 | 14 | ## To do 15 | - Use Astro v3's preload feature to preload links on hover 16 | - Add a search bar -------------------------------------------------------------------------------- /web/astro.config.mjs: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'astro/config'; 2 | 3 | // https://astro.build/config 4 | import tailwind from "@astrojs/tailwind"; 5 | 6 | // https://astro.build/config 7 | export default defineConfig({ 8 | site: 'https://valapidocs.techchrism.me', 9 | integrations: [tailwind()], 10 | build: { 11 | format: 'file' 12 | }, 13 | vite: { 14 | resolve: { 15 | preserveSymlinks: true 16 | } 17 | } 18 | }); -------------------------------------------------------------------------------- /web/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web", 3 | "type": "module", 4 | "version": "0.0.1", 5 | "scripts": { 6 | "dev": "astro dev", 7 | "start": "astro dev", 8 | "build": "astro build", 9 | "preview": "astro preview", 10 | "astro": "astro" 11 | }, 12 | "dependencies": { 13 | "@astrojs/tailwind": "^5.0.2", 14 | "astro": "^3.6.4", 15 | "tailwindcss": "^3.3.5", 16 | "valorant-api-types": "~0.10.1" 17 | }, 18 | "devDependencies": { 19 | "@tailwindcss/typography": "^0.5.10", 20 | "@types/marked": "^5.0.2", 21 | "marked": "^11.0.0", 22 | "marked-plaintext": "^0.0.2", 23 | "zod": "^3.20.2", 24 | "zod-to-ts": "^1.2.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /web/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techchrism/valorant-api-docs/f473c59ff47d66b4a2cd1d935acbb137dfb702c6/web/public/favicon.ico -------------------------------------------------------------------------------- /web/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: -------------------------------------------------------------------------------- /web/src/components/Card.astro: -------------------------------------------------------------------------------- 1 | --- 2 | export interface Props { 3 | title: string; 4 | body: string; 5 | href: string; 6 | } 7 | 8 | const { href, title, body } = Astro.props; 9 | --- 10 | 11 | 22 | 64 | -------------------------------------------------------------------------------- /web/src/components/EndpointMethod.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import type { AugmentedValorantEndpoint } from '../types/AugmentedValorantEndpoint' 3 | 4 | export interface Props { 5 | method: AugmentedValorantEndpoint['method'] 6 | class?: string 7 | } 8 | 9 | function getEndpointMethodColor(method: AugmentedValorantEndpoint['method']) { 10 | switch(method) { 11 | case undefined: 12 | case 'GET': 13 | return 'text-purple-600 dark:text-purple-400' 14 | case 'POST': 15 | return 'text-green-500' 16 | case 'PUT': 17 | return 'text-orange-500 dark:text-orange-400' 18 | case 'DELETE': 19 | return 'text-red-500 dark:text-red-400' 20 | case 'WSS': 21 | return 'text-sky-500 dark:text-sky-400' 22 | case 'TCP': 23 | return 'text-yellow-500 dark:text-yellow-300' 24 | default: 25 | return 'text-gray-800' 26 | } 27 | } 28 | 29 | const {method} = Astro.props 30 | const classText = Astro.props.class 31 | --- 32 | {method || 'GET'} -------------------------------------------------------------------------------- /web/src/components/InsomniaButton.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import { Image } from 'astro:assets'; 3 | import insomniaIcon from '../images/insomnia.svg' 4 | 5 | export interface Props { 6 | href: string; 7 | } 8 | 9 | const { href } = Astro.props; 10 | --- 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /web/src/components/SimpleCode.astro: -------------------------------------------------------------------------------- 1 | --- 2 | export interface Props { 3 | class?: string 4 | } 5 | 6 | const classStr = Astro.props.class || '' 7 | --- 8 | 0 ? ' ' : '') + classStr}> -------------------------------------------------------------------------------- /web/src/components/doc-fragments/ClientPlatform.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import {Code} from 'astro/components' 3 | import SimpleCode from "../SimpleCode.astro"; 4 | 5 | import githubDark from '../../themes/github-dark.json' 6 | 7 | const examplePlatform = `{ 8 | "platformType": "PC", 9 | "platformOS": "Windows", 10 | "platformOSVersion": "10.0.19042.1.256.64bit", 11 | "platformChipset": "Unknown" 12 | }` 13 | 14 | --- 15 | 16 |

17 | A string representing the platform of the client. Base-64 encoded JSON with the following fields: 18 | 19 | ew0KCSJwbGF0Zm9ybVR5cGUiOiAiUEMiLA0KCSJwbGF0Zm9ybU9TIjogIldpbmRvd3MiLA0KCSJwbGF0Zm9ybU9TVmVyc2lvbiI6ICIxMC4wLjE5MDQyLjEuMjU2LjY0Yml0IiwNCgkicGxhdGZvcm1DaGlwc2V0IjogIlVua25vd24iDQp9 20 | is a value that works. 21 |

-------------------------------------------------------------------------------- /web/src/components/doc-fragments/ClientVersion.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import SimpleCode from "../SimpleCode.astro"; 3 | 4 | --- 5 | 6 |

7 | The version of the Valorant client. 8 | This can be obtained in a number of ways: 9 |

    10 |
  • Parsing the ShooterGame log at %LocalAppData%\VALORANT\Saved\Logs\ShooterGame.log
  • 11 |
  • Using the Sessions endpoint
  • 12 |
  • Using the third-party Versions endpoint
  • 13 |
14 |

-------------------------------------------------------------------------------- /web/src/components/doc-fragments/LockfilePassword.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import SimpleCode from "../SimpleCode.astro"; 3 | 4 | --- 5 | 6 |

7 | The password can be found from the lockfile (located at %LocalAppData%\Riot Games\Riot Client\Config\lockfile) when the game is running. 8 | The file has the format name:pid:port:password:protocol 9 |

-------------------------------------------------------------------------------- /web/src/components/doc-fragments/Port.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import SimpleCode from "../SimpleCode.astro"; 3 | 4 | --- 5 | 6 |

7 | The port can be found from the lockfile (located at %LocalAppData%\Riot Games\Riot Client\Config\lockfile) when the game is running. 8 | The file has the format name:pid:port:password:protocol 9 |

-------------------------------------------------------------------------------- /web/src/components/doc-fragments/Region.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import SimpleCode from "../SimpleCode.astro"; 3 | 4 | const regions = new Map([ 5 | ['na', 'North America'], 6 | ['latam', 'Latin America'], 7 | ['br', 'Brazil'], 8 | ['eu', 'Europe'], 9 | ['ap', 'Asia Pacific'], 10 | ['kr', 'Korea'] 11 | ]) 12 | 13 | --- 14 | 15 |

16 | There are {regions.size} regions: 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | {Array.from(regions.entries()).map(([id, name]) => ( 26 | 27 | 28 | 29 | 30 | ))} 31 | 32 |
Region IDRegion Name
{id}{name}
33 | Obtaining locally: 34 |

35 | The region can be found in the ShooterGame log (%LocalAppData%\VALORANT\Saved\Logs\ShooterGame.log) when it's used in an endpoint url.
36 | Example regex capturing region and shard: https://glz-(.+?)-1.(.+?).a.pvp.net 37 |

38 | Obtaining remotely: 39 |

40 | Use the Riot Geo endpoint with the ID and auth tokens from Cookie Reauth 41 |

42 |

-------------------------------------------------------------------------------- /web/src/components/doc-fragments/Shard.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import SimpleCode from "../SimpleCode.astro"; 3 | 4 | const shards = new Map([ 5 | ['na', ['latam', 'br', 'na']], 6 | ['pbe', ['na']], 7 | ['eu', ['eu']], 8 | ['ap', ['ap']], 9 | ['kr', ['kr']] 10 | ]) 11 | 12 | --- 13 | 14 |

15 | The shard is dependent on where the Riot account was created.
16 | There are {shards.size} shards: 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | {Array.from(shards.entries()).map(([shard, regions]) => ( 26 | 27 | 28 | 29 | 30 | ))} 31 | 32 |
ShardRegion(s)
{shard}{regions.join(', ')}
33 | Obtaining locally: 34 |

35 | The shard can be found in the ShooterGame log (%LocalAppData%\VALORANT\Saved\Logs\ShooterGame.log) when it's used in an endpoint url.
36 | Example regex capturing region and shard: https://glz-(.+?)-1.(.+?).a.pvp.net 37 |

38 | Obtaining remotely: 39 |

40 | The shard can be found from using a lookup table with the region. 41 | To find the region, use the Riot Geo endpoint with the ID and auth tokens from Cookie Reauth 42 |

43 |

-------------------------------------------------------------------------------- /web/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /web/src/pages/404.astro: -------------------------------------------------------------------------------- 1 | --- 2 | import Layout from "../layouts/Layout.astro"; 3 | --- 4 | 5 | 6 |
7 |

404

8 |

Sorry, seems this page doesn't exist.

9 |
10 |
-------------------------------------------------------------------------------- /web/src/styles/base.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | 3 | @layer base { 4 | h1 { 5 | font-size: clamp(2.44rem, 2.38vw + 1.85rem, 3.75rem); 6 | } 7 | 8 | h2 { 9 | font-size: clamp(1.2rem, 0.7vw + 1.2rem, 1.5rem); 10 | } 11 | 12 | a.link { 13 | @apply underline text-blue-600 hover:text-blue-800 visited:text-purple-600 dark:text-blue-400 dark:hover:text-blue-600 dark:visited:text-purple-400 14 | } 15 | 16 | .prose-sane { 17 | @apply prose dark:prose-invert; 18 | @apply prose-code:before:content-none prose-code:after:content-none prose-code:bg-gray-100 prose-code:dark:bg-black prose-code:p-1 prose-code:rounded-xl prose-code:break-words prose-code:text-current prose-code:font-normal; 19 | @apply prose-a:font-normal prose-a:text-blue-600 hover:prose-a:text-blue-800 visited:prose-a:text-purple-600 prose-a:dark:text-blue-400 hover:prose-a:dark:text-blue-600 visited:prose-a:dark:text-purple-400; 20 | @apply prose-p:before:content-none prose-p:after:content-none; 21 | @apply prose-ul:my-0; 22 | @apply prose-li:my-1; 23 | @apply bg-slate-50 text-slate-900 dark:bg-slate-900 dark:text-slate-50; 24 | } 25 | } 26 | 27 | @tailwind components; 28 | 29 | @tailwind utilities; 30 | 31 | :root { 32 | color-scheme: light dark; 33 | } -------------------------------------------------------------------------------- /web/tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'], 4 | theme: { 5 | extend: { 6 | gridTemplateColumns: { 7 | 'main': '300px 1fr', 8 | } 9 | }, 10 | }, 11 | plugins: [ 12 | require('@tailwindcss/typography') 13 | ], 14 | darkMode: 'media' 15 | } 16 | -------------------------------------------------------------------------------- /web/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "astro/tsconfigs/strict" 3 | } --------------------------------------------------------------------------------