GET Get Player Session
https://glz-{region}-1.{shard}.a.pvp.net/session/v1/sessions/{puuid} Get the current session state of a player. loopState indicates what the player is currently doing — MENUS means they are in the main menu, PREGAME means they are in agent select, INGAME means they are in a match. When loopState is PREGAME or INGAME, loopStateMetadata contains the match ID that can be used with the GET Pre-Game Match or GET Current Game Match endpoints.
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:
Obtaining locally:Region ID Region Name naNorth America latamLatin America brBrazil euEurope apAsia Pacific krKorea 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.netUse the Riot Geo endpoint with the ID and auth tokens from Cookie Reauth
-
{puuid}A player's UUID
Other Variables
-
client platformA 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" }ew0KCSJwbGF0Zm9ybVR5cGUiOiAiUEMiLA0KCSJwbGF0Zm9ybU9TIjogIldpbmRvd3MiLA0KCSJwbGF0Zm9ybU9TVmVyc2lvbiI6ICIxMC4wLjE5MDQyLjEuMjU2LjY0Yml0IiwNCgkicGxhdGZvcm1DaGlwc2V0IjogIlVua25vd24iDQp9is a value that works. -
client version -
entitlement tokenCan be obtained locally with the Entitlements Token endpoint or remotely using Riot auth and the Entitlement endpoint -
auth tokenCan 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 GetPlayerSessionResponse = {
/** Player UUID */
subject: string;
/** Connection state, e.g. "CONNECTED" */
cxnState: string;
cxnCloseReason: string;
/** UUID */
clientID: string;
clientVersion: string;
/** Current state of the player */
loopState: "MENUS" | "PREGAME" | "INGAME";
/** Match ID when loopState is PREGAME or INGAME, empty string otherwise */
loopStateMetadata: string;
version: number;
lastHeartbeatTime: string;
expiredTime: string;
heartbeatIntervalMillis: number;
playtimeNotification: string;
playtimeMinutes: number;
isRestricted: boolean;
userinfoValidTime: string;
restrictionType: string;
clientPlatformInfo: {
platformType: string;
platformOS: string;
platformOSVersion: string;
platformChipset: string;
platformDevice: string;
};
connectionTime: string;
shouldForceInvalidate: boolean;
}; {
"subject": "be9B66F0-8eC2-6be7-2Dc8-88F20eCC59cf",
"cxnState": "vulgus",
"cxnCloseReason": "taceo",
"clientID": "4f4ebC60-A4fb-00f2-9cD2-4Db068E30adE",
"clientVersion": "chirographum",
"loopState": "MENUS",
"loopStateMetadata": "conforto",
"version": 8552700914203427,
"lastHeartbeatTime": "caelestis",
"expiredTime": "perspiciatis",
"heartbeatIntervalMillis": 7410830997922702,
"playtimeNotification": "eveniet",
"playtimeMinutes": 8906721287708025,
"isRestricted": true,
"userinfoValidTime": "decor",
"restrictionType": "solvo",
"clientPlatformInfo": {
"platformType": "tepidus",
"platformOS": "amicitia",
"platformOSVersion": "tribuo",
"platformChipset": "vito",
"platformDevice": "dolorum"
},
"connectionTime": "denuo",
"shouldForceInvalidate": false
}