POST Activate Contract
https://pd.{shard}.a.pvp.net/contracts/v1/contracts/{puuid}/special/{contract id}
Activate a specific contract by ID
Headers:
-
X-Riot-ClientPlatform: {client platform}
-
X-Riot-ClientVersion: {client version}
-
X-Riot-Entitlements-JWT: {entitlement token}
-
Authorization: Bearer {auth token}
URL Parameters:
-
{puuid}
A player's UUID -
{contract id}
The contract ID to activate
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 ActivateContractResponse = {
Version: number;
/** Player UUID */
Subject: string;
Contracts: {
/** UUID */
ContractDefinitionID: string;
ContractProgression: {
TotalProgressionEarned: number;
TotalProgressionEarnedVersion: number;
HighestRewardedLevel: {
[x: string]: {
Amount: number;
Version: number;
};
};
};
ProgressionLevelReached: number;
ProgressionTowardsNextLevel: number;
}[];
ProcessedMatches: {
/** Match ID */
ID: string;
/** Milliseconds since epoch */
StartTime: number;
XPGrants: {
GamePlayed: number;
GameWon: number;
RoundPlayed: number;
RoundWon: number;
Missions: {};
Modifier: {
Value: number;
BaseMultiplierValue: number;
Modifiers: {
Value: number;
Name: "RESTRICTIONS_XP" | "PREMIUM_CONTRACT_XP";
BaseOnly: boolean;
}[];
};
NumAFKRounds: number;
} | null;
RewardGrants: {} | null;
MissionDeltas: {
[x: string]: {
/** UUID */
ID: string;
Objectives: {
[x: string]: number;
};
ObjectiveDeltas: {
[x: string]: {
/** UUID */
ID: string;
ProgressBefore: number;
ProgressAfter: number;
};
};
};
} | null;
ContractDeltas: {
[x: string]: {
/** UUID */
ID: string;
TotalXPBefore: number;
TotalXPAfter: number;
};
} | null;
CouldProgressMissions: boolean;
}[];
/** UUID */
ActiveSpecialContract: string;
Missions: {
/** UUID */
ID: string;
Objectives: {
[x: string]: number;
};
Complete: boolean;
/** Date in ISO 8601 format */
ExpirationTime: string;
}[];
MissionMetadata: {
NPECompleted: boolean;
/** Date in ISO 8601 format */
WeeklyCheckpoint: string;
/** Date in ISO 8601 format */
WeeklyRefillTime: string;
};
};