POST Select Character
https://glz-{region}-1.{shard}.a.pvp.net/pregame/v1/matches/{pre-game match id}/select/{agent id}
Select an agent
DO NOT USE THIS FOR INSTALOCKING
Riot doesn't like this. You may get banned or get the API restricted for the rest of us.
Headers:
-
X-Riot-ClientPlatform: {client platform}
-
X-Riot-ClientVersion: {client version}
-
X-Riot-Entitlements-JWT: {entitlement token}
-
Authorization: Bearer {auth token}
URL Parameters:
-
{region}
There are 6 regions:
Region ID Region Name na
North America latam
Latin America br
Brazil eu
Europe ap
Asia Pacific kr
Korea The region can be found in the ShooterGame log (
Obtaining remotely:%LocalAppData%\VALORANT\Saved\Logs\ShooterGame.log
) when it's used in an endpoint url.
Example regex capturing region and shard:https://glz-(.+?)-1.(.+?).a.pvp.net
Use the Riot Geo endpoint with the ID and auth tokens from Cookie Reauth
-
{pre-game match id}
The match ID of the pre-game lobby. The ID of the pre-game lobby can be found from the Pre-Game Player endpoint. -
{agent id}
An agent ID. The IDs of all agents can be found from the third-party Agents endpoint.
Other Variables:
-
client platform
A string representing the platform of the client. Base-64 encoded JSON with the following fields:
{ "platformType": "PC", "platformOS": "Windows", "platformOSVersion": "10.0.19042.1.256.64bit", "platformChipset": "Unknown" }
ew0KCSJwbGF0Zm9ybVR5cGUiOiAiUEMiLA0KCSJwbGF0Zm9ybU9TIjogIldpbmRvd3MiLA0KCSJwbGF0Zm9ybU9TVmVyc2lvbiI6ICIxMC4wLjE5MDQyLjEuMjU2LjY0Yml0IiwNCgkicGxhdGZvcm1DaGlwc2V0IjogIlVua25vd24iDQp9
is a value that works. -
client version
-
entitlement token
Can be obtained locally with the Entitlements Token endpoint or remotely using Riot auth and the Entitlement endpoint -
auth token
Can be obtained locally with the Entitlements Token endpoint or remotely by first using the Auth Cookies endpoint then using the cookies with the Auth Request endpoint
Response:
type SelectCharacterResponse = {
/** Pre-Game Match ID */
ID: string;
Version: number;
Teams: {
TeamID: ("Blue" | "Red") | string;
Players: {
/** Player UUID */
Subject: string;
/** Character ID */
CharacterID: string;
CharacterSelectionState: "" | "selected" | "locked";
PregamePlayerState: "joined";
CompetitiveTier: number;
PlayerIdentity: {
/** Player UUID */
Subject: string;
/** Card ID */
PlayerCardID: string;
/** Title ID */
PlayerTitleID: string;
AccountLevel: number;
/** Preferred Level Border ID */
PreferredLevelBorderID: string | "";
Incognito: boolean;
HideAccountLevel: boolean;
};
SeasonalBadgeInfo: {
/** Season ID */
SeasonID: string | "";
NumberOfWins: number;
WinsByTier: null;
Rank: number;
LeaderboardRank: number;
};
IsCaptain: boolean;
}[];
}[];
AllyTeam: {
TeamID: ("Blue" | "Red") | string;
Players: {
/** Player UUID */
Subject: string;
/** Character ID */
CharacterID: string;
CharacterSelectionState: "" | "selected" | "locked";
PregamePlayerState: "joined";
CompetitiveTier: number;
PlayerIdentity: {
/** Player UUID */
Subject: string;
/** Card ID */
PlayerCardID: string;
/** Title ID */
PlayerTitleID: string;
AccountLevel: number;
/** Preferred Level Border ID */
PreferredLevelBorderID: string | "";
Incognito: boolean;
HideAccountLevel: boolean;
};
SeasonalBadgeInfo: {
/** Season ID */
SeasonID: string | "";
NumberOfWins: number;
WinsByTier: null;
Rank: number;
LeaderboardRank: number;
};
IsCaptain: boolean;
}[];
} | null;
EnemyTeam: {
TeamID: ("Blue" | "Red") | string;
Players: {
/** Player UUID */
Subject: string;
/** Character ID */
CharacterID: string;
CharacterSelectionState: "" | "selected" | "locked";
PregamePlayerState: "joined";
CompetitiveTier: number;
PlayerIdentity: {
/** Player UUID */
Subject: string;
/** Card ID */
PlayerCardID: string;
/** Title ID */
PlayerTitleID: string;
AccountLevel: number;
/** Preferred Level Border ID */
PreferredLevelBorderID: string | "";
Incognito: boolean;
HideAccountLevel: boolean;
};
SeasonalBadgeInfo: {
/** Season ID */
SeasonID: string | "";
NumberOfWins: number;
WinsByTier: null;
Rank: number;
LeaderboardRank: number;
};
IsCaptain: boolean;
}[];
} | null;
ObserverSubjects: unknown[];
MatchCoaches: unknown[];
EnemyTeamSize: number;
EnemyTeamLockCount: number;
PregameState: "character_select_active" | "provisioned";
/** Date in ISO 8601 format */
LastUpdated: string;
/** Map ID */
MapID: string;
MapSelectPool: unknown[];
BannedMapIDs: unknown[];
CastedVotes?: unknown;
MapSelectSteps: unknown[];
MapSelectStep: number;
Team1: ("Blue" | "Red") | string;
GamePodID: string;
/** Game Mode */
Mode: string;
VoiceSessionID: string;
MUCName: string;
/** JWT containing match ID and player IDs */
TeamMatchToken: string;
/** Queue ID */
QueueID: string | "";
ProvisioningFlowID: "Matchmaking" | "CustomGame";
IsRanked: boolean;
PhaseTimeRemainingNS: number;
StepTimeRemainingNS: number;
altModesFlagADA: boolean;
TournamentMetadata: null;
RosterMetadata: null;
};