valorant-api-types
Version:
A collection of documented endpoints and return types for the unofficial Valorant API
525 lines (524 loc) • 19.1 kB
TypeScript
import { z } from 'zod';
export declare const leagueOfLegendsPresenceSchema: z.ZodObject<{
bannerIdSelected: z.ZodString;
challengeCrystalSelected: z.ZodString;
challengeTitleSelected: z.ZodString;
challengeTokensSelected: z.ZodEffects<z.ZodString, number[], string>;
championId: z.ZodString;
companionId: z.ZodString;
damageSkinId: z.ZodString;
gameId: z.ZodString;
gameMode: z.ZodString;
gameQueueType: z.ZodString;
gameStatus: z.ZodString;
iconOverride: z.ZodString;
isObservable: z.ZodString;
level: z.ZodString;
mapId: z.ZodString;
mapSkinId: z.ZodString;
masteryScore: z.ZodString;
profileIcon: z.ZodString;
pty: z.ZodString;
puuid: z.ZodString;
queueId: z.ZodString;
rankedLeagueDivision: z.ZodString;
rankedLeagueQueue: z.ZodString;
rankedLeagueTier: z.ZodString;
rankedLosses: z.ZodString;
rankedPrevSeasonDivision: z.ZodString;
rankedPrevSeasonTier: z.ZodString;
rankedSplitRewardLevel: z.ZodString;
rankedWins: z.ZodString;
regalia: z.ZodString;
skinVariant: z.ZodString;
skinname: z.ZodString;
timeStamp: z.ZodString;
}, "strip", z.ZodTypeAny, {
puuid: string;
mapId: string;
gameMode: string;
queueId: string;
bannerIdSelected: string;
challengeCrystalSelected: string;
challengeTitleSelected: string;
challengeTokensSelected: number[];
championId: string;
companionId: string;
damageSkinId: string;
gameId: string;
gameQueueType: string;
gameStatus: string;
iconOverride: string;
isObservable: string;
level: string;
mapSkinId: string;
masteryScore: string;
profileIcon: string;
pty: string;
rankedLeagueDivision: string;
rankedLeagueQueue: string;
rankedLeagueTier: string;
rankedLosses: string;
rankedPrevSeasonDivision: string;
rankedPrevSeasonTier: string;
rankedSplitRewardLevel: string;
rankedWins: string;
regalia: string;
skinVariant: string;
skinname: string;
timeStamp: string;
}, {
puuid: string;
mapId: string;
gameMode: string;
queueId: string;
bannerIdSelected: string;
challengeCrystalSelected: string;
challengeTitleSelected: string;
challengeTokensSelected: string;
championId: string;
companionId: string;
damageSkinId: string;
gameId: string;
gameQueueType: string;
gameStatus: string;
iconOverride: string;
isObservable: string;
level: string;
mapSkinId: string;
masteryScore: string;
profileIcon: string;
pty: string;
rankedLeagueDivision: string;
rankedLeagueQueue: string;
rankedLeagueTier: string;
rankedLosses: string;
rankedPrevSeasonDivision: string;
rankedPrevSeasonTier: string;
rankedSplitRewardLevel: string;
rankedWins: string;
regalia: string;
skinVariant: string;
skinname: string;
timeStamp: string;
}>;
export declare const valorantPresenceSchema: z.ZodObject<{
isValid: z.ZodBoolean;
sessionLoopState: z.ZodString;
partyOwnerSessionLoopState: z.ZodString;
customGameName: z.ZodString;
customGameTeam: z.ZodString;
partyOwnerMatchMap: z.ZodString;
partyOwnerMatchCurrentTeam: z.ZodString;
partyOwnerMatchScoreAllyTeam: z.ZodNumber;
partyOwnerMatchScoreEnemyTeam: z.ZodNumber;
partyOwnerProvisioningFlow: z.ZodString;
matchMap: z.ZodString;
partyId: z.ZodString;
isPartyOwner: z.ZodBoolean;
partyState: z.ZodString;
partyAccessibility: z.ZodEnum<["OPEN", "CLOSED"]>;
maxPartySize: z.ZodNumber;
queueId: z.ZodString;
partyLFM: z.ZodBoolean;
partyClientVersion: z.ZodString;
partySize: z.ZodNumber;
tournamentId: z.ZodString;
rosterId: z.ZodString;
partyVersion: z.ZodEffects<z.ZodNumber, Date, number>;
queueEntryTime: z.ZodString;
playerCardId: z.ZodString;
playerTitleId: z.ZodString;
preferredLevelBorderId: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
accountLevel: z.ZodNumber;
competitiveTier: z.ZodNumber;
leaderboardPosition: z.ZodNumber;
isIdle: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
customGameName: string;
partyId: string;
competitiveTier: number;
accountLevel: number;
queueId: string;
isValid: boolean;
sessionLoopState: string;
partyOwnerSessionLoopState: string;
customGameTeam: string;
partyOwnerMatchMap: string;
partyOwnerMatchCurrentTeam: string;
partyOwnerMatchScoreAllyTeam: number;
partyOwnerMatchScoreEnemyTeam: number;
partyOwnerProvisioningFlow: string;
matchMap: string;
isPartyOwner: boolean;
partyState: string;
partyAccessibility: "OPEN" | "CLOSED";
maxPartySize: number;
partyLFM: boolean;
partyClientVersion: string;
partySize: number;
tournamentId: string;
rosterId: string;
partyVersion: Date;
queueEntryTime: string;
playerCardId: string;
playerTitleId: string;
preferredLevelBorderId: string;
leaderboardPosition: number;
isIdle: boolean;
}, {
customGameName: string;
partyId: string;
competitiveTier: number;
accountLevel: number;
queueId: string;
isValid: boolean;
sessionLoopState: string;
partyOwnerSessionLoopState: string;
customGameTeam: string;
partyOwnerMatchMap: string;
partyOwnerMatchCurrentTeam: string;
partyOwnerMatchScoreAllyTeam: number;
partyOwnerMatchScoreEnemyTeam: number;
partyOwnerProvisioningFlow: string;
matchMap: string;
isPartyOwner: boolean;
partyState: string;
partyAccessibility: "OPEN" | "CLOSED";
maxPartySize: number;
partyLFM: boolean;
partyClientVersion: string;
partySize: number;
tournamentId: string;
rosterId: string;
partyVersion: number;
queueEntryTime: string;
playerCardId: string;
playerTitleId: string;
preferredLevelBorderId: string;
leaderboardPosition: number;
isIdle: boolean;
}>;
export declare const presenceEndpoint: {
readonly name: "Presence";
readonly description: string;
readonly category: "Local Endpoints";
readonly type: "local";
readonly suffix: "chat/v4/presences";
readonly riotRequirements: {
readonly localAuth: true;
};
readonly responses: {
readonly '200': z.ZodObject<{
presences: z.ZodArray<z.ZodObject<{
actor: z.ZodNullable<z.ZodUnknown>;
basic: z.ZodString;
details: z.ZodNullable<z.ZodUnknown>;
game_name: z.ZodString;
game_tag: z.ZodString;
location: z.ZodNullable<z.ZodUnknown>;
msg: z.ZodNullable<z.ZodUnknown>;
name: z.ZodString;
patchline: z.ZodNullable<z.ZodUnknown>;
pid: z.ZodString;
platform: z.ZodNullable<z.ZodUnknown>;
private: z.ZodEffects<z.ZodNullable<z.ZodString>, {
puuid: string;
mapId: string;
gameMode: string;
queueId: string;
bannerIdSelected: string;
challengeCrystalSelected: string;
challengeTitleSelected: string;
challengeTokensSelected: number[];
championId: string;
companionId: string;
damageSkinId: string;
gameId: string;
gameQueueType: string;
gameStatus: string;
iconOverride: string;
isObservable: string;
level: string;
mapSkinId: string;
masteryScore: string;
profileIcon: string;
pty: string;
rankedLeagueDivision: string;
rankedLeagueQueue: string;
rankedLeagueTier: string;
rankedLosses: string;
rankedPrevSeasonDivision: string;
rankedPrevSeasonTier: string;
rankedSplitRewardLevel: string;
rankedWins: string;
regalia: string;
skinVariant: string;
skinname: string;
timeStamp: string;
} | {
customGameName: string;
partyId: string;
competitiveTier: number;
accountLevel: number;
queueId: string;
isValid: boolean;
sessionLoopState: string;
partyOwnerSessionLoopState: string;
customGameTeam: string;
partyOwnerMatchMap: string;
partyOwnerMatchCurrentTeam: string;
partyOwnerMatchScoreAllyTeam: number;
partyOwnerMatchScoreEnemyTeam: number;
partyOwnerProvisioningFlow: string;
matchMap: string;
isPartyOwner: boolean;
partyState: string;
partyAccessibility: "OPEN" | "CLOSED";
maxPartySize: number;
partyLFM: boolean;
partyClientVersion: string;
partySize: number;
tournamentId: string;
rosterId: string;
partyVersion: Date;
queueEntryTime: string;
playerCardId: string;
playerTitleId: string;
preferredLevelBorderId: string;
leaderboardPosition: number;
isIdle: boolean;
} | null, string | null>;
privateJwt: z.ZodNullable<z.ZodUnknown>;
product: z.ZodEnum<["valorant", "league_of_legends"]>;
puuid: z.ZodString;
region: z.ZodString;
resource: z.ZodString;
state: z.ZodEnum<["mobile", "dnd", "away", "chat"]>;
summary: z.ZodString;
time: z.ZodEffects<z.ZodNumber, Date, number>;
}, "strip", z.ZodTypeAny, {
location?: unknown;
actor?: unknown;
details?: unknown;
msg?: unknown;
patchline?: unknown;
platform?: unknown;
privateJwt?: unknown;
game_name: string;
game_tag: string;
name: string;
pid: string;
puuid: string;
region: string;
time: Date;
state: "chat" | "mobile" | "dnd" | "away";
resource: string;
basic: string;
private: {
puuid: string;
mapId: string;
gameMode: string;
queueId: string;
bannerIdSelected: string;
challengeCrystalSelected: string;
challengeTitleSelected: string;
challengeTokensSelected: number[];
championId: string;
companionId: string;
damageSkinId: string;
gameId: string;
gameQueueType: string;
gameStatus: string;
iconOverride: string;
isObservable: string;
level: string;
mapSkinId: string;
masteryScore: string;
profileIcon: string;
pty: string;
rankedLeagueDivision: string;
rankedLeagueQueue: string;
rankedLeagueTier: string;
rankedLosses: string;
rankedPrevSeasonDivision: string;
rankedPrevSeasonTier: string;
rankedSplitRewardLevel: string;
rankedWins: string;
regalia: string;
skinVariant: string;
skinname: string;
timeStamp: string;
} | {
customGameName: string;
partyId: string;
competitiveTier: number;
accountLevel: number;
queueId: string;
isValid: boolean;
sessionLoopState: string;
partyOwnerSessionLoopState: string;
customGameTeam: string;
partyOwnerMatchMap: string;
partyOwnerMatchCurrentTeam: string;
partyOwnerMatchScoreAllyTeam: number;
partyOwnerMatchScoreEnemyTeam: number;
partyOwnerProvisioningFlow: string;
matchMap: string;
isPartyOwner: boolean;
partyState: string;
partyAccessibility: "OPEN" | "CLOSED";
maxPartySize: number;
partyLFM: boolean;
partyClientVersion: string;
partySize: number;
tournamentId: string;
rosterId: string;
partyVersion: Date;
queueEntryTime: string;
playerCardId: string;
playerTitleId: string;
preferredLevelBorderId: string;
leaderboardPosition: number;
isIdle: boolean;
} | null;
product: "valorant" | "league_of_legends";
summary: string;
}, {
location?: unknown;
actor?: unknown;
details?: unknown;
msg?: unknown;
patchline?: unknown;
platform?: unknown;
privateJwt?: unknown;
game_name: string;
game_tag: string;
name: string;
pid: string;
puuid: string;
region: string;
time: number;
state: "chat" | "mobile" | "dnd" | "away";
resource: string;
basic: string;
private: string | null;
product: "valorant" | "league_of_legends";
summary: string;
}>, "many">;
}, "strip", z.ZodTypeAny, {
presences: {
location?: unknown;
actor?: unknown;
details?: unknown;
msg?: unknown;
patchline?: unknown;
platform?: unknown;
privateJwt?: unknown;
game_name: string;
game_tag: string;
name: string;
pid: string;
puuid: string;
region: string;
time: Date;
state: "chat" | "mobile" | "dnd" | "away";
resource: string;
basic: string;
private: {
puuid: string;
mapId: string;
gameMode: string;
queueId: string;
bannerIdSelected: string;
challengeCrystalSelected: string;
challengeTitleSelected: string;
challengeTokensSelected: number[];
championId: string;
companionId: string;
damageSkinId: string;
gameId: string;
gameQueueType: string;
gameStatus: string;
iconOverride: string;
isObservable: string;
level: string;
mapSkinId: string;
masteryScore: string;
profileIcon: string;
pty: string;
rankedLeagueDivision: string;
rankedLeagueQueue: string;
rankedLeagueTier: string;
rankedLosses: string;
rankedPrevSeasonDivision: string;
rankedPrevSeasonTier: string;
rankedSplitRewardLevel: string;
rankedWins: string;
regalia: string;
skinVariant: string;
skinname: string;
timeStamp: string;
} | {
customGameName: string;
partyId: string;
competitiveTier: number;
accountLevel: number;
queueId: string;
isValid: boolean;
sessionLoopState: string;
partyOwnerSessionLoopState: string;
customGameTeam: string;
partyOwnerMatchMap: string;
partyOwnerMatchCurrentTeam: string;
partyOwnerMatchScoreAllyTeam: number;
partyOwnerMatchScoreEnemyTeam: number;
partyOwnerProvisioningFlow: string;
matchMap: string;
isPartyOwner: boolean;
partyState: string;
partyAccessibility: "OPEN" | "CLOSED";
maxPartySize: number;
partyLFM: boolean;
partyClientVersion: string;
partySize: number;
tournamentId: string;
rosterId: string;
partyVersion: Date;
queueEntryTime: string;
playerCardId: string;
playerTitleId: string;
preferredLevelBorderId: string;
leaderboardPosition: number;
isIdle: boolean;
} | null;
product: "valorant" | "league_of_legends";
summary: string;
}[];
}, {
presences: {
location?: unknown;
actor?: unknown;
details?: unknown;
msg?: unknown;
patchline?: unknown;
platform?: unknown;
privateJwt?: unknown;
game_name: string;
game_tag: string;
name: string;
pid: string;
puuid: string;
region: string;
time: number;
state: "chat" | "mobile" | "dnd" | "away";
resource: string;
basic: string;
private: string | null;
product: "valorant" | "league_of_legends";
summary: string;
}[];
}>;
};
};
export type PresenceResponse = z.input<typeof presenceEndpoint.responses['200']>;