dotino-veloce/graphql/2022-03-29-schema-stratz.gql

8554 lines
207 KiB
Text
Raw Normal View History

schema {
query: DotaQuery
mutation: DotaMutation
subscription: DotaSubscription
}
scalar Int
scalar Long
scalar String
scalar Boolean
scalar Float
type AbilityActiveListType {
time: Int!
ability0: Short
ability1: Short
ability2: Short
ability3: Short
ability4: Short
ability5: Short
ability6: Short
ability7: Short
}
type AbilityAttributeType {
name: String
value: String
linkedSpecialBonusAbilityId: Short
requiresScepter: Boolean!
}
type AbilityCustomGameLanguageType {
displayName: String
description: String
}
type AbilityCustomGameType {
id: Short
name: String
abilityName: String
language: AbilityCustomGameLanguageType
}
enum AbilityDispellEnum {
NONE
NO
YES
YES_STRONG
}
type AbilityLanguageType {
displayName: String
description: [String]
attributes: [String]
lore: String
aghanimDescription: String
shardDescription: String
notes: [String]
}
type AbilityLearnEventsType {
time: Int!
abilityId: Short
levelObtained: Int!
level: Int!
isUltimate: Boolean
isTalent: Boolean
isMaxLevel: Boolean
}
type AbilityStatType {
abilityId: Short
type: Int
behavior: Long
unitTargetType: Long
unitTargetTeam: Int
unitTargetFlags: Long
unitDamageType: Int
spellImmunity: Int
modifierSupportValue: Float
modifierSupportBonus: Short
isOnCastbar: Boolean
isOnLearnbar: Boolean
fightRecapLevel: Short
isGrantedByScepter: Boolean
hasScepterUpgrade: Boolean
maxLevel: Byte
levelsBetweenUpgrades: Byte
requiredLevel: Byte
hotKeyOverride: String
displayAdditionalHeroes: Boolean
castRange: [Int]
castRangeBuffer: [Int]
castPoint: [Float]
channelTime: [Float]
cooldown: [Float]
damage: [Float]
manaCost: [Float]
isUltimate: Boolean
duration: String
charges: String
chargeRestoreTime: String
isGrantedByShard: Boolean
dispellable: AbilityDispellEnum
}
type AbilityType {
id: Short
name: String
uri: String
language: AbilityLanguageType
stat: AbilityStatType
attributes: [AbilityAttributeType]
drawMatchPage: Boolean
isTalent: Boolean
}
type AbilityUsedEventsType {
time: Int!
abilityId: Short
attacker: Short
target: Short
}
type AdminMutation {
mergeProSteamAccount(request: [MergeProSteamAccountRequestType]!): Boolean
deleteProSteamAccount(request: DeleteProSteamAccountRequestType!): Boolean
}
type AdminQuery {
"""Returns a list of Stratz blogs."""
apiMemoryReport: [String]
}
type AssistDetailType {
time: Int!
attacker: Short
target: Short
gold: Int
xp: Int
subTime: Int
positionX: Int
positionY: Int
}
enum BasicRegionType {
CHINA
SEA
NORTH_AMERICA
SOUTH_AMERICA
EUROPE
}
type BlogMetaTagInfoType {
id: Short
name: String!
}
type BlogMetaTagType {
id: Byte
blogId: Byte
blogMetaTagTypeId: Short
metaTag: BlogMetaTagInfoType
}
type BlogType {
id: Byte
captainJackIdentityId: Guid
title: String!
bannerImageUrl: String!
poster: SteamAccountType
data: String!
liveDateTime: DateTime
metaTags: [BlogMetaTagType]
link: String!
}
enum BuildingType {
FORT
TOWER
BARRACKS
HEALER
OUTPOST
}
type BuyBackDetailType {
time: Int!
heroId: Short
deathTimeRemaining: Int!
cost: Int!
}
scalar Byte
type CaptainJackIdentityApiApplicationType {
captainJackIdentityId: Guid
tokenType: StratzApiType
emailAddress: String
discordAddress: String
websiteAddress: String
description: String
isApproved: Boolean
apiKey: String
secretKey: String
issuer: String
matomoReferenceToken: String
}
type CaptainJackIdentityPrivateProfileType {
captainJackIdentityId: Guid
name: String
email: String
twitter: String
facebook: String
twitch: String
youTube: String
premiumEndDate: Long
isAdmin: Boolean
feedLevel: Byte
emailLevel: Byte
dailyEmail: Boolean!
weeklyEmail: Boolean!
monthlyEmail: Boolean!
proCircuitFeedLevel: Byte
proCircuitEmailLevel: Byte
themeType: Byte
languageId: Byte
emailValidationCode: String
isEmailValidated: Boolean!
emailHour: Byte
lastReadFeedTime: Long
lastDailyEmail: Long
lastWeeklyEmail: Long
lastMonthlyEmail: Long
lastLeagueDailyEmail: Long
lastTeamDailyEmail: Long
lastProCircuitDailyEmail: Long
unsubscribeCode: String
lastSeen: Long
}
input CaptainJackIdentityProfileUpdateRequestType {
email: String
feedLevel: Byte
emailLevel: Byte
dailyEmail: Boolean
weeklyEmail: Boolean
monthlyEmail: Boolean
proCircuitFeedLevel: Byte
proCircuitEmailLevel: Byte
themeType: Byte
languageId: Byte
emailHour: Byte
isStratzAnonymous: Byte
}
type CaptainJackIdentityPublicProfileType {
captainJackIdentityId: Guid
name: String
twitter: String
facebook: String
twitch: String
youTube: String
isAdmin: Boolean
}
type CaptainJackIdentityType {
id: Guid
steamAccountId: String
steamAccount: SteamAccountType
profile: CaptainJackIdentityPublicProfileType
}
type ClusterType {
"""
ClusterId which determines in which region a match was played. One region has
multiple clusters. When selecting your region in the Dota 2 client, a random
cluster is provided to you for each match for load balancing purposes.
"""
id: Int
"""RegionId gives the exact geographical area where the match is played."""
regionId: Short
}
type ConstantQuery {
hero(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
id: Short!
"""
The game version id to include in this query, excluding all results that do not have this game version.
"""
gameVersionId: Short
"""
The language id to include in this query, excluding all results that do not have this language.
"""
language: Language
): HeroType
heroes(
"""
The game version id to include in this query, excluding all results that do not have this game version.
"""
gameVersionId: Short
"""
The language id to include in this query, excluding all results that do not have this language.
"""
language: Language
): [HeroType]
"""List of all the roles types for heroes."""
roles: [RoleType]
"""Find item details by item id. id is a required input field."""
item(
"""
The item id to include in this query, excluding all results that do not have this item.
"""
id: Int!
"""
The game version id to include in this query, excluding all results that do not have this game version.
"""
gameVersionId: Short
"""
The language id to include in this query, excluding all results that do not have this language.
"""
language: Language
): ItemType
"""Find item details by item id. id is a required input field."""
items(
"""
The game version id to include in this query, excluding all results that do not have this game version.
"""
gameVersionId: Short
"""
The language id to include in this query, excluding all results that do not have this language.
"""
language: Language
): [ItemType]
"""Find ability details by ability id. id is a required input field."""
ability(
"""
The ability id to include in this query, excluding all results that do not have this ability.
"""
id: Int!
"""
The game version id to include in this query, excluding all results that do not have this game version.
"""
gameVersionId: Short
"""
The language id to include in this query, excluding all results that do not have this language.
"""
language: Language
): AbilityType
"""Find ability details."""
abilities(
"""
The game version id to include in this query, excluding all results that do not have this game version.
"""
gameVersionId: Short
"""
The language id to include in this query, excluding all results that do not have this language.
"""
language: Language
): [AbilityType]
"""
Returns a list of game mode types which is directly supplied by Dota 2. Matches API call will have a input for this value.
"""
gameModes: [GameModeType]
"""
Returns a list of lobby types which are mirrored from the Dota 2 client.
"""
lobbyTypes: [LobbyTypeType]
"""
Provided directly from Dota 2 Region files, the cluster is the geographically breakdown of where the game is played.
"""
clusters: [ClusterType]
"""Returns a list of region details and an Id for reference."""
regions: [RegionType]
"""
Find game version details by game version id. id is a required input field.
"""
gameVersion(
"""
The game version id to include in this query, excluding all results that do not have this game version.
"""
id: Short!
): GameVersionType
"""Find game version details."""
gameVersions: [GameVersionType]
"""Find npc details by npc id. id is a required input field."""
npc(
"""
The npc id to include in this query, excluding all results that do not have this npc.
"""
id: Short!
"""
The game version id to include in this query, excluding all results that do not have this game version.
"""
gameVersionId: Short
): NpcType
"""Find npc details."""
npcs(
"""
The game version id to include in this query, excluding all results that do not have this game version.
"""
gameVersionId: Short
): [NpcType]
"""
Find all patch notes for each item and ability. These are found when you hover over each object in-game.
"""
patchNotes(
"""
The language id to include in this query, excluding all results that do not have this language.
"""
languageId: Language
): [PatchNoteLanguageType]
"""
Find all abilities that are used in custom events. For example Aghnims Labyrinth.
"""
customAbilities(
"""
The language id to include in this query, excluding all results that do not have this language.
"""
languageId: Language
): [AbilityCustomGameType]
"""
Find all modifiers that are used in the game. If you find a bug on a modifier,
let us know as we have to control this ourselves.
"""
modifiers(
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): [ModifierType]
"""Find all players who Valve qualifies as a Pro Player or Streamer."""
proSteamAccounts: [ProSteamAccountType]
}
enum Damage {
PHYSICAL
MAGICAL
PURE
}
"""
The `DateTime` scalar type represents a date and time. `DateTime` expects
timestamps to be formatted in accordance with the
[ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
"""
scalar DateTime
type DeathDetailType {
time: Int!
attacker: Short
isFromIllusion: Boolean
target: Short
byAbility: Short
byItem: Short
goldFed: Int
xpFed: Int
timeDead: Int
reliableGold: Int
unreliableGold: Int
positionX: Int
positionY: Int
goldLost: Int
assist: [Int]
isWardWalkThrough: Boolean
isAttemptTpOut: Boolean
isDieBack: Boolean
isBurst: Boolean
isEngagedOnDeath: Boolean
hasHealAvailable: Boolean
isTracked: Boolean
isFeed: Boolean
}
scalar Decimal
input DeleteProSteamAccountRequestType {
steamAccountId: Long
name: String
realName: String
}
type DireTide2020CustomGameHeroWinDayType {
day: Long!
heroId: Short!
winCount: Int!
matchCount: Int!
candyScored: Int!
}
type DireTide2020CustomGameMatchType {
id: Long
didRadiantWin: Boolean
durationSeconds: Short
startDateTime: Long
endDateTime: Long
clusterId: Short
replaySalt: Long
candyLost: Short
candyPickedUp: Short
candyScored: Short
radiantCandyScored: Short
direCandyScored: Short
players(
"""
The steam account id to include in this query, excluding all results that do not have this steam account id.
"""
steamAccountId: Long
): [DireTide2020CustomGamePlayerType]
}
type DireTide2020CustomGamePlayerType {
matchId: Long
playerSlot: Byte
steamAccountId: Long
steamAccount: SteamAccountType
isVictory: Boolean!
heroId: Short
hero: HeroType
kills: Byte
deaths: Byte
assists: Byte
leaverStatus: Byte
numLastHits: Short
goldPerMinute: Short
goldSpent: Int
level: Byte
heroDamage: Int
heroHealing: Int
networth: Int
item0Id: Short
item1Id: Short
item2Id: Short
item3Id: Short
item4Id: Short
item5Id: Short
backpack0Id: Short
backpack1Id: Short
backpack2Id: Short
"""
The item id of the dedicated neutral item slot (7.24 and after). From game
versions 7.23 to 7.24, this was the BackPack3Id (the 4th backpack slot item id).
"""
neutral0Id: Short
partyId: Byte
candyLost: Short
candyPickedUp: Short
candyScored: Short
}
type DotaMutation {
yogurt: YogurtMutation
user: DotaUserMutation
admin: AdminMutation
}
type DotaNextQuery {
"""
Used by Overwolf application DotaNext (previously called DotaPlus) to provide data to its users.
"""
enemy(
"""
An array of steam account ids to limit the query to only return matches with these steam account ids.
"""
steamAccountIds: [Long]!
"""
A steam account id found on your team to include in this query, excluding
all results that do not include this steam account id found on your team.
"""
matchSteamAccountId: Long!
): [DotaNextWithAllyType]
"""
Used by Overwolf application DotaNext (previously called DotaPlus) to provide data to its users.
"""
ally(
"""
An array of steam account ids to limit the query to only return matches with these steam account ids.
"""
steamAccountIds: [Long]!
"""
A steam account id found on your team to include in this query, excluding
all results that do not include this steam account id found on your team.
"""
matchSteamAccountId: Long!
): [DotaNextWithAllyType]
"""
Used by Overwolf application DotaNext (previously called DotaPlus) to provide data to its users.
"""
playerHero(
"""
An array of steam account ids to limit the query to only return matches with these steam account ids.
"""
steamAccountIds: Long!
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: Byte!
"""
An array of lobby type ids to include in this query, excluding all results that do not include one of these lobby types.
"""
lobbyTypeIds: Byte!
"""
An array of item ids to include in this query, excluding all results that do not include one of these item ids.
"""
limitByItemIds: Int!
"""
The start DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
startDateTime: Long!
): [[MatchPlayerItemPurchaseEventType]]
}
type DotaNextWithAllyType {
steamAccountId: Long
lifetimeMatchCount: Int
lifetimeWinMatchCount: Int
}
type DotaPlusWeekType {
week: Long
active: Int
expired: Int
}
type DotaQuery {
"""Find match details by the match id. id is a required input field."""
match(
"""
The id of the Dota match to include in this query, excluding all results that do not include this id.
"""
id: Long!
): MatchType
"""Find match details for each match id. ids is a required input field."""
matches(
"""An array of Dota match ids to include in this query."""
ids: [Long]!
): [MatchType]
"""Find player details by steam account id. id is a required input field."""
player(
"""
The steam account id to include in this query, excluding all results that do not have this steam account id.
"""
steamAccountId: Long!
): PlayerType
"""
Find player details for each steam account id. ids is a required input field.
"""
players(
"""
An array of steam account ids to limit the query to only return matches with these steam account ids.
"""
steamAccountIds: [Long]!
): [PlayerType]
"""
Find player details for each steam account id. ids is a required input field.
"""
team(
"""
A team id to include in this query, excluding all results that do not have this team id.
"""
teamId: Int!
): TeamType
"""
Results in a list of team objects that contain data about them and their players.
"""
teams(
"""
A team id to include in this query, excluding all results that do not have this team id.
"""
teamIds: [Int]!
): [TeamType]
"""Find league details by league Id. Id is a required field."""
league(
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
id: Int!
): LeagueType
"""Find league details by searching for leagues using a LeagueRequest."""
leagues(request: LeagueRequestType!): [LeagueType]
"""
For getting access to one specific Guild which was used at the start of TI10 Compendium.
"""
guild(
"""
A guild id to include in this query, excluding all results that do not have this guild id.
"""
id: Int!
): GuildType
"""
Queries used for Stratz Yogurt - users won't be able to access these calls until they have access to the app.
"""
yogurt: YogurtQuery
"""Queries used to populate Stratz Plus."""
plus: PlusQuery
"""Stratz specific queries."""
stratz: StratzQuery
"""Queries used to gain insights into hero data and statistics."""
heroStats: HeroStatsQuery
"""Queries used to query constants in Dota."""
constants: ConstantQuery
"""Queries used to get leaderboard information."""
leaderboard: LeaderboardQuery
"""Queries used to find live match data."""
live: LiveQuery
"""Queries used by 3rd party applications."""
vendor: VendorQuery
}
type DotaSubscription {
matchCount: TotalMatchCountType
playerCount: TotalPlayerCountType
feedLive: LiveEventType
matchLive(matchId: Long!): MatchLiveType
matchLiveLeague(leagueId: Int!): MatchLiveType
}
type DotaUserMutation {
"""Marks the user's LastReadFeedTime to the current time."""
readAllFeed: Boolean
"""Validates a user email address if the password id is correct."""
validateEmail(
"""The password number that was sent via email."""
code: Guid!
): Boolean
"""Validates a user email address if the password id is correct."""
updateTutorial(
"""The TutorialId number of the tutorial completed."""
tutorialId: Short!
): [Short]
"""Update your user to unsubscribe from Stratz emails."""
emailUnsubscribe: UserHomepageType
"""Updates the logged in user information profile."""
updateProfile(
"""
The updated returned object from /user. Only updates ThemeType, LanguageId, Email and Feed/Email Settings.
"""
request: CaptainJackIdentityProfileUpdateRequestType!
): Boolean
"""Update your user to (un)follow a specific SteamAccountId"""
followPlayer(
"""The steam account of the person you wish to (un)follow."""
steamAccountId: Long!
): Boolean
"""Update your user to (un)follow a specific SteamAccountId"""
unfollowPlayer(
"""The steam account of the person you wish to (un)follow."""
steamAccountId: Long!
): Boolean
"""Update your user to (un)follow a specific SteamAccountId"""
updateFollowing(
"""The steam account of the person you wish to (un)follow."""
followedSteamAccountId: Long!
"""
The updated returned object from /user. Only updates ThemeType, LanguageId, Email and Feed/Email Settings.
"""
request: UpdateFollowerRequestType!
): Boolean
"""
Updates every user you are following. This should be handled with care, as
this overrides all your predefinded user specific settings with these settings.
"""
updateAllFollowing(
"""
The updated returned object from /user. Only updates ThemeType, LanguageId, Email and Feed/Email Settings.
"""
request: UpdateFollowerRequestType!
): Boolean
"""
Gets more in-depth information about the person you are following. This is a
user specific request, and you can only edit yourself.
"""
updateFollowingFavorite(
"""The steam account of the person you wish to (un)follow."""
followedSteamAccountId: Long!
"""Should the user become a favorite."""
isFavorite: Boolean!
): Boolean
"""Update your user to (un)follow a specific LeagueId"""
followLeague(
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
leagueId: Int!
): Boolean
unfollowLeague(
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
leagueId: Int!
): Boolean
applyStratzApiKey(
"""There are two type of API Tokens, Data Collector and MultiKey"""
tokenType: StratzApiType!
"""
The desired email address of the match replay upload team. Cannot be blank or whitespace.
"""
emailAddress: String!
"""A users Discord full Identity name."""
discordAddress: String!
"""A user website where the data can be seen."""
websiteAddress: String!
description: String!
): Boolean
"""
If a user moves from annoymous to public, this will turn it on instantly for them.
"""
checkPublicDotaAccount: Boolean
}
type ExperienceDetailType {
time: Int!
amount: Int!
reason: XpReason
positionX: Int
positionY: Int
}
type FeedResponseType {
data: [FeedType]
count: Int
date: DateTime
}
type FeedType {
steamAccount: SteamAccountType
league: LeagueType
targetSteamAccountId: Long
type: Byte
matchId: Long
heroId: Int!
date: Long
value: Int!
didWin: Boolean
}
enum FilterDireTide2020CustomGameMatchOrderBy {
CANDY_SCORED
END_DATE_TIME
}
input FilterDireTide2020CustomMatchRequestType {
"""
The steam account id to include in this query, excluding all results that do not have this steam account id.
"""
steamAccountId: Long
"""The order in which the data returned will be sorted by."""
orderBy: FilterDireTide2020CustomGameMatchOrderBy
"""If the return should be ordered by Ascending or Desending order."""
orderDirection: FilterOrder
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
}
enum FilterHeroWinRequestGroupBy {
HERO_ID
ALL
HERO_ID_DURATION_MINUTES
}
enum FilterLeaderboardGuildOrderBy {
BATTLE_PASS_LEVELS
MEMBER_COUNT
POINTS
ID
PREVIOUS_WEEK_RANK
}
input FilterLeaderboardGuildRequestType {
"""What field to order the data by. Enum values."""
orderBy: FilterLeaderboardGuildOrderBy
"""If the return should be ordered by Ascending or Desending order."""
order: FilterOrder
"""The region where the guild was registered."""
region: Byte
"""If the guild is current set to 50 members."""
isFull: Boolean
"""If anyone is able to join the guild."""
isUnlocked: Boolean
"""The minimum amount of members a guild must have."""
minMemberCount: Byte
"""The max amount of members a guild can have."""
maxMemberCount: Byte
"""The amount of members a guild must have."""
memberCount: Byte
"""The language required to join the guild."""
language: Byte
"""The guild was created before this date time (in Unix TimeStamp)."""
createdBeforeDateTime: Long
"""The guild was created after this date time (in Unix TimeStamp)."""
createdAfterDateTime: Long
"""The rank required to join the guild."""
minRequiredRank: Byte
"""The rank required to join the guild."""
maxRequiredRank: Byte
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
}
input FilterLeaderboardHeroRequestType {
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being unknown
MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketIds: [Byte]
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
}
enum FilterLeaderboardOrder {
RECENT
LEVEL
FIRST
}
input FilterMatchReplayUploadRequestType {
withEnemySteamAccount: [Long]
withFriendHeroId: [Short]
withEnemyHeroId: [Short]
withFriendBannedHeroId: [Short]
withEnemyBannedHeroId: [Short]
byMatchId: Long
byMatchIds: [Long]
byMatchUploadFileName: String
byMatchUploadUploaderCaptainJackId: Guid
bySteamAccountId: Long
bySteamAccountIds: [Long]
byHeroId: [Short]
byLeagueId: Int
bySeriesId: Int
bySeriesIds: [Long]
byTeamId: Int
byGameMode: [Int]
byLobbyType: [Int]
byGameVersion: [Int]
isLeague: Boolean
isValidated: Boolean
isComplete: Boolean
isActive: Boolean
isVictory: Boolean
isRadiant: Boolean
filterPositionIsUs: Boolean
filterPosition: MatchPlayerPositionType
filterPositionOrder: [MatchPlayerTeamPickOrderType]
isRadiantFirstPick: Boolean
firstPick: Boolean
minDuration: Int
maxDuration: Int
minGameVersionId: Int
maxGameVersionId: Int
startDateTime: Long
endDateTime: Long
skip: Int
take: Int
}
enum FilterOrder {
ASC
DESC
}
enum FilterOrderBy {
LAST_MATCH_TIME
ID
NONE
START_DATE_THEN_TIER
LAST_MATCH_TIME_THEN_TIER
}
input FilterSearchRequestType {
"""
The term used to define the search parameters. Minimum input is 2 characters.
"""
query: String!
"""
Searching our entire database can take time. If you already know what your
searching for you, you can limit the query down to a set of specific types. (0
- Playuers, 1 - Matches, 2 - Leagues, 3 - Teams, 4 - ProPlayers, 5 - Casters).
Default is all types.
"""
searchType: [Search]
"""
The minimum rank a player must have to be allowed inside the search query.
"""
minimumRank: Int
"""
The maximum rank a player must have to be allowed inside the search query.
"""
maximumRank: Int
"""
The minimum amount of time in which a user must have played a game to be
allowed inside the search query. A unix timestamp.
"""
lastMatchPlayedAgo: Long
"""
The leaderboard is split into 4 regions. The user must appear in this
region(s) for them to be allowed inside the search query.
"""
leaderboardRegionIds: [Byte]
"""
When searching for a league, the tier the league must be in. Tiers: Amateur =
1, Professional = 2, Premium = 3, Pro Circuit = 4, Main Event = 5
"""
leagueTierIds: [LeagueTier]
"""
When searching for a team, only return results of those teams of which are considered Professionals.
"""
teamIsPro: Boolean
"""The amount to have returned in your query."""
take: Int
}
input FilterSeasonLeaderboardRequestType {
query: String
leaderBoardDivision: LeaderboardDivision
heroId: Short
position: MatchPlayerPositionType
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
}
input FilterSeriesRequestType {
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
}
enum FilterTI2020CustomGameMatchOrderBy {
DURATION
END_DATE_TIME
}
input FilterTI2020HeroCompositionRequestType {
"""The base level of difficulty"""
difficulty: TI2020CustomGameMatchDifficultyType!
"""If the return should be ordered by Ascending or Desending order."""
orderDirection: FilterOrder
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
}
input FilterTI2020MatchRequestType {
"""Return Matches that only include the set of Match Ids provided."""
matchIds: [Long]
"""Return matches that only include this single player."""
steamAccountId: Long
"""Required that the team playing the game won."""
didWin: Boolean
"""How far into the game (levels) they completed."""
depth: Byte
"""The base level of difficulty"""
difficulty: TI2020CustomGameMatchDifficultyType
"""The team had to make it at least this far (level)."""
minDepth: Byte
"""The max must be played in this list of regions"""
regionIds: [Byte]
"""
The game must of been played before this set time. In Unix Time Stamp Format.
"""
createdBeforeDateTime: Long
"""
The game must of been played after this set time. In Unix Time Stamp Format.
"""
createdAfterDateTime: Long
"""The order in which the data returned will be sorted by."""
orderBy: FilterTI2020CustomGameMatchOrderBy
"""If the return should be ordered by Ascending or Desending order."""
orderDirection: FilterOrder
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
seasonId: Byte
}
enum FindMatchPlayerGroupBy {
HERO
FACTION
KILLS
DEATHS
ASSISTS
IS_LEAVER
LEVEL
IS_PARTY
IS_RANDOM
LANE
ROLE
IS_INTENTIONAL_FEEDING
AWARD
ROAM_LANE
IS_VICTORY
DURATION_MINUTES
CLUSTER
REGION
LOBBY_TYPE
IS_LEAGUE
IS_SERIES
GAME_MODE
IS_STATS
GAME_VERSION
TEAM
HERO_PERFORMANCE
STEAM_ACCOUNT_ID
STEAM_ACCOUNT_ID_HERO_ID
}
enum FindMatchPlayerList {
ALL
SINGLE
}
enum FindMatchPlayerOrderBy {
DESC
ASC
}
type FollowerType {
captainJackIdentityId: Guid
steamAccountId: Long
feedLevel: Byte
emailLevel: Byte
dailyEmail: Boolean
weeklyEmail: Boolean
monthlyEmail: Boolean
isFavorite: Boolean
lastEmail: Long
didManualUpdate: Boolean!
steamAccount: SteamAccountType
captainJackIdentity: CaptainJackIdentityType
}
enum GameModeEnumType {
NONE
ALL_PICK
CAPTAINS_MODE
RANDOM_DRAFT
SINGLE_DRAFT
ALL_RANDOM
INTRO
THE_DIRETIDE
REVERSE_CAPTAINS_MODE
THE_GREEVILING
TUTORIAL
MID_ONLY
LEAST_PLAYED
NEW_PLAYER_POOL
COMPENDIUM_MATCHMAKING
CUSTOM
CAPTAINS_DRAFT
BALANCED_DRAFT
ABILITY_DRAFT
EVENT
ALL_RANDOM_DEATH_MATCH
SOLO_MID
ALL_PICK_RANKED
TURBO
MUTATION
}
type GameModeType {
id: Short
name: String
}
type GameVersionType {
id: Short
name: String
asOfDateTime: Long
}
type GoldDetailType {
time: Int!
amount: Int!
reason: GoldReason
npcId: Int
isValidForStats: Boolean
}
enum GoldReason {
OTHER
DEATH
BUY_BACK
ABADONS
SELLS
STRUCTURES
HEROES
CREEPS
NEUTRAL
ROSHAN
COURIERS
BOUNTY
DOOM_DEVOURER
WARD_DESTRUCTION
}
scalar Guid
type GuildMemberType {
guildId: Int
steamAccountId: Int
joinDateTime: Long
guild: GuildType
steamAccount: SteamAccountType
winCount: Int
matchCount: Int
imp: Int
}
type GuildType {
id: Int
motd: String
name: String
tag: String
createdDateTime: Long
language: Byte
flags: Int
logo: String
region: Byte
description: String
requiredRank: Byte
primaryColor: Byte
secondaryColor: Byte
pattern: Byte
points: Int
pastWeeklyRank: Int
pastWeeklyPercentile: Byte
currentPercentile: Byte
lastUpdateDateTime: Long
members: [GuildMemberType]
matches(
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): [MatchType]
memberCount: Byte
totalBattlePassLevels: Int
rank: Byte
}
type HealDetailType {
time: Int!
attacker: Short
target: Short
value: Int
byAbility: Short
byItem: Short
}
type HeroAbilityTalentType {
heroId: Int!
week: Int!
bracketBasic: RankBracketHeroTimeDetail
position: MatchPlayerPositionType
abilityId: Int!
count: Long
wins: Long
time: Long
winsAverage: Decimal
timeAverage: Decimal
}
type HeroAbilityType {
slot: Byte
gameVersionId: Short
abilityId: Short
ability: AbilityType
}
type HeroDamageDetailType {
time: Int!
attacker: Short
target: Short
value: Int!
byAbility: Short
byItem: Short
damageType: Damage
fromNpc: Short
toNpc: Short
fromIllusion: Boolean
toIllusion: Boolean
isPhysicalAttack: Boolean
isSourceMainHero: Boolean
isTargetMainHero: Boolean
}
type HeroDotaPlusLeaderboardRankType {
heroId: Short
steamId: Long
level: Byte
totalActions: Long
createdDateTime: Long
steamAccount: SteamAccountType
}
type HeroDryadType {
heroId: Short
with: [HeroStatsHeroDryadType]
matchCountWith: Long
vs: [HeroStatsHeroDryadType]
matchCountVs: Long
}
type HeroGuideListType {
heroId: Short
matchCount: Int
"""Guides are auto-generated of games that are successful in a game."""
guides(
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): [HeroGuideType]
}
type HeroGuideType {
heroId: Short
steamAccountId: Long
matchId: Long
match: MatchType
matchPlayer: MatchPlayerType
createdDateTime: Long
}
type HeroHighPerformanceMatchObjectType {
matchId: Long
endDateTime: Long
imp: Int!
}
type HeroHighPerformancePlayerObjectType {
steamId: Long
endDateTime: Long
imp: Int!
playerName: String!
}
type HeroHighPerformanceRampageObjectType {
matchId: Long
endDateTime: Long
time: Int!
playerName: String!
steamId: Long
}
type HeroHighPerformanceType {
heroId: Int!
week: Int!
bracketBasic: RankBracketHeroTimeDetail
position: MatchPlayerPositionType
rampages: [HeroHighPerformanceRampageObjectType]
matches: [HeroHighPerformanceMatchObjectType]
players: [HeroHighPerformancePlayerObjectType]
items: HeroPurchasePatternType
}
type HeroItemBootPurchaseObjectType {
itemId: Int!
instance: Int!
time: Long
timeAverage: Decimal
count: Long
wins: Long
winAverage: Decimal
kills: Long
killsAverage: Decimal
deaths: Long
deathsAverage: Decimal
assists: Long
assistsAverage: Decimal
goldEarned: Long
goldEarnedAverage: Decimal
xp: Long
xpAverage: Decimal
activations: Long
activationsAverage: Decimal
activationTime: Long
activationsTimeAverage: Decimal
}
type HeroItemBootPurchaseType {
heroId: Int!
week: Int!
bracketBasic: RankBracketHeroTimeDetail
position: MatchPlayerPositionType
events: [HeroItemBootPurchaseObjectType]
count: Long
}
type HeroItemPurchaseObjectType {
itemId: Int!
instance: Int!
time: Long
count: Long
wins: Long
winsAverage: Decimal
}
type HeroItemPurchaseType {
heroId: Int!
week: Int!
bracketBasic: RankBracketHeroTimeDetail
position: MatchPlayerPositionType
events: [HeroItemPurchaseObjectType]
count: Long
}
type HeroItemStartingPurchaseObjectType {
itemId: Int!
instance: Int!
wasGiven: Boolean!
count: Long
wins: Long
winsAverage: Decimal
}
type HeroItemStartingPurchaseType {
heroId: Int!
week: Int!
bracketBasic: RankBracketHeroTimeDetail
position: MatchPlayerPositionType
events: [HeroItemStartingPurchaseObjectType]
count: Long
}
type HeroLanguageType {
displayName: String
lore: String
hype: String
}
type HeroMatchupType {
advantage: [HeroDryadType]
disadvantage: [HeroDryadType]
}
type HeroMetaTrendType {
heroId: Int!
win: [Long]
pick: [Long]
ban: [Long]
}
type HeroPositionDetailType {
position: MatchPlayerPositionType
count: Long
wins: Decimal
kills: Decimal
deaths: Decimal
assists: Decimal
cs: Decimal
dn: Decimal
heroDamage: Decimal
towerDamage: Decimal
}
type HeroPositionTimeDetailAverageObjectType {
time: Int!
matchCount: Long
remainingMatchCount: Int
wins: Decimal
mvp: Decimal
topCore: Decimal
topSupport: Decimal
courierKills: Decimal
apm: Decimal
casts: Decimal
abilityCasts: Decimal
kills: Decimal
deaths: Decimal
assists: Decimal
networth: Decimal
xp: Decimal
cs: Decimal
dn: Decimal
neutrals: Decimal
heroDamage: Decimal
towerDamage: Decimal
physicalDamage: Decimal
magicalDamage: Decimal
physicalDamageReceived: Decimal
magicalDamageReceived: Decimal
tripleKill: Decimal
ultraKill: Decimal
rampage: Decimal
godLike: Decimal
disableCount: Decimal
disableDuration: Decimal
stunCount: Decimal
stunDuration: Decimal
slowCount: Decimal
slowDuration: Decimal
healingSelf: Decimal
healingAllies: Decimal
invisibleCount: Decimal
runePower: Decimal
runeBounty: Decimal
level: Decimal
campsStacked: Decimal
supportGold: Decimal
purgeModifiers: Decimal
ancients: Decimal
teamKills: Decimal
goldLost: Decimal
goldFed: Decimal
buybackCount: Decimal
weakenCount: Decimal
weakenDuration: Decimal
physicalItemDamage: Decimal
magicalItemDamage: Decimal
healingItemSelf: Decimal
healingItemAllies: Decimal
xpFed: Decimal
pureDamageReceived: Decimal
attackDamage: Decimal
castDamage: Decimal
damageReceived: Decimal
damage: Decimal
pureDamage: Decimal
kDAAverage: Decimal
killContributionAverage: Decimal
stompWon: Decimal
stompLost: Decimal
comeBackWon: Decimal
comeBackLost: Decimal
}
type HeroPositionTimeDetailAverageType {
heroId: Short!
week: Int!
bracketBasic: RankBracketHeroTimeDetail
position: MatchPlayerPositionType
events: [HeroPositionTimeDetailAverageObjectType]
}
type HeroPurchasePatternType {
startingItems: HeroItemStartingPurchaseType
earlyGame: HeroItemPurchaseType
midGame: HeroItemPurchaseType
lateGame: HeroItemPurchaseType
}
type HeroRatingObjectType {
heroId1: Int!
heroId2: Int
heroId3: Int
pickRate: Decimal
winRate: Decimal
banRate: Decimal
}
type HeroRatingType {
single: [HeroRatingObjectType]
dryad: [HeroRatingObjectType]
}
type HeroRoleType {
roleId: Short
level: Short
}
type HeroStatsHeroDryadType {
heroId1: Short
heroId2: Short
week: Int
bracketBasic: RankBracketHeroTimeDetail
count: Long
kills: Long
deaths: Long
assists: Long
networth: Long
duration: Long
wins: Long
firstBloodTime: Long
cs: Long
dn: Long
goldEarned: Long
xp: Long
heroDamage: Long
towerDamage: Long
heroHealing: Long
level: Long
synergy: Decimal
winsAverage: Decimal
}
type HeroStatsQuery {
"""Detailed output of data per minute for each hero."""
stats(
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""
The week to include in this query, excluding all results that do not include
this week. The value is an epoc TimeStamp of the week of data you want.
Leaving null gives the current week.
"""
week: Long
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketBasicIds: [RankBracketHeroTimeDetail]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
groupByTime: Boolean
groupByPosition: Boolean
groupByBracket: Boolean
"""
Integer in minutes which determines the start of the data. For example, 10
would result in every event after 10:00 mark in-game. Minimum input value is 0.
"""
minTime: Int
"""
Integer in minutes which determines the start of the data. For example, 10
would result in every event before 10:00 mark in-game Maximum input value is 75.
"""
maxTime: Int
): [HeroPositionTimeDetailAverageType]
"""Hero Data and statistics listed by what lane the hero plays in."""
position(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
"""
The week to include in this query, excluding all results that do not include
this week. The value is an epoc TimeStamp of the week of data you want.
Leaving null gives the current week.
"""
week: Long
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketBasicIds: [RankBracketHeroTimeDetail]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
"""
Integer in minutes which determines the start of the data. For example, 10
would result in every event after 10:00 mark in-game. Minimum input value is 0.
"""
minTime: Int
"""
Integer in minutes which determines the start of the data. For example, 10
would result in every event before 10:00 mark in-game Maximum input value is 75.
"""
maxTime: Int
): [HeroPositionDetailType]
"""
Returns back a list of the hero matchups, showing how that hero's win rate is affected with or against other heroes.
"""
matchUp(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
"""
The week to include in this query, excluding all results that do not include
this week. The value is an epoc TimeStamp of the week of data you want.
Leaving null gives the current week.
"""
week: Long
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketBasicIds: [RankBracketHeroTimeDetail]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
"""
Id representing how to order dryads and triads. Synergy is STRATZ formula to
help determine the best outcome of wins and picks in one. Accepted Inputs :
Synergy = 0, Pick = 1, Win = 2, Loss = 3, Disadvantage = 4, Advantage = 5
"""
orderBy: Byte
"""Minimum amount of MatchCount required for a Duo to qualify"""
matchLimit: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): [HeroDryadType]
"""
Used in STRATZ Hero Page. Includes Starting items and full items based in groupings of 0-14 minutes, 15-34 minutes and 35+
"""
purchasePattern(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
"""
The week to include in this query, excluding all results that do not include
this week. The value is an epoc TimeStamp of the week of data you want.
Leaving null gives the current week.
"""
week: Long
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketBasicIds: [RankBracketHeroTimeDetail]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
): HeroPurchasePatternType
"""
Returns the items purchased for the selected hero. Adjusting the time adjusts
the purchase amount. Shows win rate by item timings.
"""
itemFullPurchase(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
"""
The week to include in this query, excluding all results that do not include
this week. The value is an epoc TimeStamp of the week of data you want.
Leaving null gives the current week.
"""
week: Long
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketBasicIds: [RankBracketHeroTimeDetail]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
"""
Integer in minutes which determines the start of the data. For example, 10
would result in every event after 10:00 mark in-game. Minimum input value is 0.
"""
minTime: Int
"""
Integer in minutes which determines the start of the data. For example, 10
would result in every event before 10:00 mark in-game Maximum input value is 75.
"""
maxTime: Int
"""Minimum amount of MatchCount required for a Duo to qualify"""
matchLimit: Int
): HeroItemPurchaseType
"""
This snapshots all items in the inventory of a hero at -00:30. It tracks if an item was given or purchased.
"""
itemStartingPurchase(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
"""
The week to include in this query, excluding all results that do not include
this week. The value is an epoc TimeStamp of the week of data you want.
Leaving null gives the current week.
"""
week: Long
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketBasicIds: [RankBracketHeroTimeDetail]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
): HeroItemStartingPurchaseType
"""
The purchase Item Components for a Hero's Boots. Tracks things like activations or uses throughout the game.
"""
itemBootPurchase(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
"""
The week to include in this query, excluding all results that do not include
this week. The value is an epoc TimeStamp of the week of data you want.
Leaving null gives the current week.
"""
week: Long
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketBasicIds: [RankBracketHeroTimeDetail]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
): HeroItemBootPurchaseType
"""
This call is used in Hero Of the Day. It shows recent Rampages, High Performance and Good Players on the selected hero.
"""
highPerformance(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
"""
The week to include in this query, excluding all results that do not include
this week. The value is an epoc TimeStamp of the week of data you want.
Leaving null gives the current week.
"""
week: Long
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketBasicIds: [RankBracketHeroTimeDetail]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): HeroHighPerformanceType
"""
This is used on the Hero page to show the comparison of skill with the
selected hero with other heroes. It includes our Synergy and our Advantage
formulas to ensure that a hero with a high win rate isn't simply just on the
top of all the fields.
"""
heroVsHeroMatchup(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
"""
The week to include in this query, excluding all results that do not include
this week. The value is an epoc TimeStamp of the week of data you want.
Leaving null gives the current week.
"""
week: Long
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketBasicIds: [RankBracketHeroTimeDetail]
"""Minimum amount of MatchCount required for a Duo to qualify"""
matchLimit: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): HeroMatchupType
"""
This is used on the Hero page to show the comparison of all Hero Talents with the selected hero.
"""
talent(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
"""
The week to include in this query, excluding all results that do not include
this week. The value is an epoc TimeStamp of the week of data you want.
Leaving null gives the current week.
"""
week: Long
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketBasicIds: [RankBracketHeroTimeDetail]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
): [HeroAbilityTalentType]
"""
Used on the Heroes page, includes a small subset of Single Heroes, Dryads and
Triads. Includes Win Rate, Pick Rate, Ban Rate.
"""
ratings(
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: Short!
"""
The week to include in this query, excluding all results that do not include
this week. The value is an epoc TimeStamp of the week of data you want.
Leaving null gives the current week.
"""
week: Long
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketBasicIds: [RankBracketHeroTimeDetail]
"""
Id representing how to order dryads and triads. Synergy is STRATZ formula to
help determine the best outcome of wins and picks in one. Accepted Inputs :
Synergy = 0, Pick = 1, Win = 2, Loss = 3, Disadvantage = 4, Advantage = 5
"""
positionIds: Byte
): HeroRatingType
"""Used on the Heroes page, for determining popular hero trends."""
metaTrend(
"""
Epoc TimeStamp of the day of data you want the data to start. Leaving null
gives the current day. Will include the last 14 days with it. The 14th
object in each array will be this day you have specificed.
"""
day: Long
): [HeroMetaTrendType]
"""
Returns the last 12 hours by hour showing the amount of matches and the amount of wins by hero id.
"""
winHour(
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""The amount to have returned in your query."""
take: Int
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketIds: [RankBracket]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [BasicRegionType]
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [GameModeEnumType]
"""
Only used when doing matchesGroupBy endpoint. This is how the data will be grouped and makes your return Id field.
"""
groupBy: FilterHeroWinRequestGroupBy
): [HeroWinHourType]
"""
Returns the last 12 days by day showing the amount of matches and the amount of wins by hero id.
"""
winDay(
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""The amount to have returned in your query."""
take: Int
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketIds: [RankBracket]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [BasicRegionType]
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [GameModeEnumType]
"""
Only used when doing matchesGroupBy endpoint. This is how the data will be grouped and makes your return Id field.
"""
groupBy: FilterHeroWinRequestGroupBy
): [HeroWinDayType]
"""
Returns the last 12 weeks by week showing the amount of matches and the amount of wins by hero id.
"""
winWeek(
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""The amount to have returned in your query."""
take: Int
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketIds: [RankBracket]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [BasicRegionType]
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [GameModeEnumType]
"""
Only used when doing matchesGroupBy endpoint. This is how the data will be grouped and makes your return Id field.
"""
groupBy: FilterHeroWinRequestGroupBy
): [HeroWinWeekType]
"""
Returns the data by month showing the amount of matches and the amount of wins by hero id.
"""
winMonth(
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketIds: [RankBracket]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [BasicRegionType]
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [GameModeEnumType]
"""
Only used when doing matchesGroupBy endpoint. This is how the data will be grouped and makes your return Id field.
"""
groupBy: FilterHeroWinRequestGroupBy
): [HeroWinMonthType]
"""
Returns the data by game version showing the amount of matches and the amount of wins by hero id.
"""
winGameVersion(
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being
unknown MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketIds: [RankBracket]
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionIds: [MatchPlayerPositionType]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [BasicRegionType]
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [GameModeEnumType]
"""
Only used when doing matchesGroupBy endpoint. This is how the data will be grouped and makes your return Id field.
"""
groupBy: FilterHeroWinRequestGroupBy
): [HeroWinGameVersionType]
guide(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
withHeroId: Short
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
againstHeroId: Short
"""
Determines that the query require the results come with a player that is qualified as a Pro.
"""
isPro: Boolean
"""
An array of positions ids (enum MatchPlayerPositionType) to include in this
query, excluding all results that do not include one of these lanes.
"""
positionId: MatchPlayerPositionType
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
): [HeroGuideListType]
}
type HeroStatType {
enabled: Boolean
heroUnlockOrder: Float
team: Boolean
cMEnabled: Boolean
newPlayerEnabled: Boolean
attackType: String
startingArmor: Float
startingMagicArmor: Float
startingDamageMin: Float
startingDamageMax: Float
attackRate: Float
attackAnimationPoint: Float
attackAcquisitionRange: Float
attackRange: Float
primaryAttribute: String
strengthBase: Float
strengthGain: Float
intelligenceBase: Float
intelligenceGain: Float
agilityBase: Float
agilityGain: Float
mpRegen: Float
moveSpeed: Float
moveTurnRate: Float
hpBarOffset: Float
visionDaytimeRange: Float
visionNighttimeRange: Float
complexity: Byte
}
type HeroTalentType {
abilityId: Short
slot: Byte
}
type HeroType {
id: Short
name: String
displayName: String
shortName: String
aliases: [String]
gameVersionId: Short
abilities: [HeroAbilityType]
roles: [HeroRoleType]
language: HeroLanguageType
talents: [HeroTalentType]
stats: HeroStatType
}
type HeroWinDayType {
day: Long!
heroId: Short!
winCount: Int!
matchCount: Int!
}
type HeroWinGameVersionType {
gameVersionId: Short!
heroId: Short!
durationMinute: Byte!
winCount: Int!
matchCount: Int!
}
type HeroWinHourType {
hour: Long!
heroId: Short!
winCount: Int!
matchCount: Int!
}
type HeroWinMonthType {
month: Long!
heroId: Short!
durationMinute: Byte!
winCount: Int!
matchCount: Int!
}
type HeroWinWeekType {
week: Long!
heroId: Short!
durationMinute: Byte!
winCount: Int!
matchCount: Int!
}
type HomepageHeroDryadType {
mainHeroId: Short
comparisonHeroId: Short
bracketBasic: RankBracketHeroTimeDetail
matchCount: Long
winCount: Long
synergy: Decimal
winsAverage: Decimal
comparisonHeroBaseWinRate: Decimal
}
type HomepageHeroSynergyType {
mainHeroId: Short
mainHeroBaseWinRate: Decimal
heroDryads: [HomepageHeroDryadType]
}
type ImpGeneratorMatchPlayerType {
winChance: [Float]
winRateByPlayerMinuteValues: [[Float]]
events: [[ImpGeneratorPlayerEventType]]
impValues: [[Int]]
}
input ImpGeneratorPlayerEventRequestType {
time: Byte!
kills: UShort!
deaths: UShort!
assists: UShort!
cs: UShort!
dn: UShort!
level: Byte!
physicalDamage: Int!
magicalDamage: Int!
pureDamage: Int!
damageReceived: Int!
healingAllies: Int!
runePower: Int!
neutrals: Int!
}
type ImpGeneratorPlayerEventType {
time: Byte
kills: UShort
deaths: UShort
assists: UShort
cs: UShort
dn: UShort
level: Byte
physicalDamage: Int
magicalDamage: Int
pureDamage: Int
damageReceived: Int
healingAllies: Int
runePower: Int
neutrals: Int
}
input ImpGeneratorPlayerRequestType {
heroId: Short!
bracket: RankBracket!
position: MatchPlayerPositionType!
events: [ImpGeneratorPlayerEventRequestType]!
}
type ImpGeneratorPlayerType {
winChance: [Float]
winRateByPlayerMinuteValues: [[Float]]
events: [ImpGeneratorPlayerEventType]
impValues: [[Int]]
}
input ImpGeneratorRequestType {
bans: [Short]!
players: [ImpGeneratorPlayerRequestType]!
isTurbo: Boolean!
}
input ImportPickBanType {
playerSlot: Byte
isPick: Boolean!
heroId: Short
time: Byte
isRadiant: Boolean
order: Byte
wasBannedSuccessfully: Boolean
}
type ImpQuery {
"""
Returns details about all players in a specific match and details regarding Imp
"""
matchGenerator(
"""
The id of the Dota match to include in this query, excluding all results that do not include this id.
"""
matchId: Long!
): ImpGeneratorMatchPlayerType
"""
Returns details about a specific player in a game with certains events.
"""
playerGenerator(request: ImpGeneratorRequestType!): ImpGeneratorPlayerType
}
type InventoryObjectType {
itemId: Short
charges: Int
secondaryCharges: Int
}
type InventoryType {
time: Int!
item0: InventoryObjectType
item1: InventoryObjectType
item2: InventoryObjectType
item3: InventoryObjectType
item4: InventoryObjectType
item5: InventoryObjectType
backPack0: InventoryObjectType
backPack1: InventoryObjectType
backPack2: InventoryObjectType
teleport0: InventoryObjectType
neutral0: InventoryObjectType
}
type ItemAttributeType {
name: String
value: String
}
type ItemComponentType {
index: Byte
componentId: Short
}
type ItemLanguageType {
displayName: String
description: [String]
lore: [String]
notes: [String]
attributes: [String]
}
type ItemPurchaseType {
time: Int!
itemId: Short
}
type ItemStatType {
behavior: Long
unitTargetType: Long
unitTargetTeam: Long
unitTargetFlags: Long
fightRecapLevel: Byte
castRange: [Int]
castPoint: [Float]
cooldown: [Float]
manaCost: [Float]
channelTime: [Float]
sharedCooldown: String
cost: Int
shopTags: String
aliases: String
quality: String
isSellable: Boolean
isDroppable: Boolean
isPurchasable: Boolean
isSideShop: Boolean
isStackable: Boolean
isPermanent: Boolean
isHideCharges: Boolean
isRequiresCharges: Boolean
isDisplayCharges: Boolean
isSupport: Boolean
isAlertable: Boolean
isTempestDoubleClonable: Boolean
stockMax: Short
initialCharges: Short
initialStock: Short
stockTime: Int
initialStockTime: Short
isRecipe: Boolean
needsComponents: Boolean
upgradeItem: Short
upgradeRecipe: Short
itemResult: Short
}
type ItemType {
id: Short
name: String
displayName: String
shortName: String
isSupportFullItem: Boolean
language: ItemLanguageType
stat: ItemStatType
attributes: [ItemAttributeType]
components: [ItemComponentType]
image: String
}
type ItemUsedEventType {
time: Int!
itemId: Short
attacker: Short
target: Short
}
type KillDetailType {
time: Int!
attacker: Short
isFromIllusion: Boolean
target: Short
byAbility: Short
byItem: Short
gold: Int
xp: Int
positionX: Int
positionY: Int
assist: [Int]
isSolo: Boolean
isGank: Boolean
isInvisible: Boolean
isSmoke: Boolean
isTpRecently: Boolean
isRuneEffected: Boolean
}
enum Language {
ENGLISH
BRAZILIAN
BULGARIAN
CZECH
DANISH
DUTCH
FINNISH
FRENCH
GERMAN
GREEK
HUNGARIAN
ITALIAN
JAPANESE
KOREAN
KOREANA
NORWEGIAN
POLISH
PORTUGUESE
ROMANIAN
RUSSIAN
S_CHINESE
SPANISH
SWEDISH
T_CHINESE
THAI
TURKISH
UKRAINIAN
}
type LanguageType {
id: Byte!
languageCode: String
languageName: String
}
type LastHitDetailType {
time: Int!
attacker: Short
isFromIllusion: Boolean
npcId: Short
byAbility: Short
byItem: Short
gold: Int
xp: Int
positionX: Int
positionY: Int
isCreep: Boolean
isNeutral: Boolean
isAncient: Boolean
mapLocation: MapLocationEnums
}
enum LeaderboardDivision {
AMERICAS
SE_ASIA
EUROPE
CHINA
}
type LeaderboardQuery {
"""Returns the list of the current season leaderboard."""
season(request: FilterSeasonLeaderboardRequestType): [SteamAccountSeasonActiveLeaderboardRankType]
"""
Gets the players of Dota which have DotaPlus and have a high level hero.
"""
dotaPlus(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short
"""
Id representing how to order the dota plus leader board. Accepted values are
Recent = 0 (Shows the most recent awards given) and Level = 1 (shows by the
highest level first)
"""
orderBy: FilterLeaderboardOrder
"""Only returns players of this level."""
level: Byte
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): PlayerHeroDotaPlusLeaderboardRankResponseType
"""Gets the top player of DotaPlus order by Level and Time Achived."""
dotaPlusTopLevels: [HeroDotaPlusLeaderboardRankType]
"""Show amount of active and expired DotaPlus users by Week"""
dotaPlusWeek: [DotaPlusWeekType]
"""Gets the current leaderboard for Battle Pass levels."""
battlePass(
"""The Event Id Assigned by Valve. 22 is TI8, 25 is TI9."""
eventId: Byte
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): PlayerBattlePassResponseType
"""Gets the current leaderboard for all coaches by level."""
coaching(
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): PlayerCoachingLeaderboardResponseType
"""Gets the current leaderboard for all guilds by points."""
guild(request: FilterLeaderboardGuildRequestType): [GuildType]
"""
Gets the current leaderboard for all players by a specific Hero, order by IMP.
"""
hero(request: FilterLeaderboardHeroRequestType): [PlayerLeaderBoardByHeroType]
}
type LeagueBattlePassType {
count: Int
average: Int
}
input LeagueMatchesRequestType {
"""
The steam account id to include in this query, excluding all results that do not have this steam account id.
"""
steamAccountId: Long
"""An array of Dota match ids to include in this query."""
matchIds: [Long]
"""
A series id to include in this query, excluding all results that do not have this series id.
"""
seriesId: Long
"""
A team id to include in this query, excluding all results that do not have this team id.
"""
teamId: Int
"""
Whether STRATZ has yet parsed the data of the match or not, represented in a boolean.
"""
isParsed: Boolean
"""
The start DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
startDateTime: Long
"""
The end DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
endDateTime: Long
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [Byte]
"""
An array of lobby type ids to include in this query, excluding all results that do not include one of these lobby types.
"""
lobbyTypeIds: [Byte]
"""
An array of game version ids to include in this query, excluding all results
that do not include one of these game versions.
"""
gameVersionIds: [Int]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [Int]
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
rankIds: [Int]
"""
STRATZ applys an formula to determine if a game is considered 'real'. We
attempt to detect AFKers, leavers, feeders, etc. 'IsStats' will return matches
that do not include any of these poor quality matches.
"""
isStats: Boolean
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""
An array of lane ids (enum MatchLaneType) to include in this query, excluding
all results that do not include one of these lanes. Roaming = 0, SafeLane = 1,
Midlane = 2, Offlane = 3, Jungle = 4
"""
laneIds: [Int]
"""
An array of role ids (enum MatchPlayerRoleType) to include in this query,
excluding all results that do not include one of these roles. Core = 0, Light
Support = 1, Hard Support = 2
"""
roleIds: [Int]
"""
An array of award ids to include in this query, excluding all results that do
not include one of these awards. The player award types include MVP (1), Top
Core (2), and Top Support (3).
"""
awardIds: [Int]
"""Include all matches that are party games, excluding all others."""
isParty: Boolean
"""
STRATZ gives 3 players in each game an award for playing well. MVP, Top Core,
Top Support (enum MatchPlayerAwardType). If you include a query of
'steamAccountId' then it will require that player to have gotten at least 1 of
these awards for each match result.
"""
hasAward: Boolean
"""
An array of stage type ids to include in this query, excluding all results that do not include one of these stage types.
"""
leagueStageTypeIds: [LeagueStage]
"""
An array of steam account ids found on your team to include in this query,
excluding all results that do not include one of these steam accounts found on your team.
"""
withFriendSteamAccountIds: [Long]
"""
An array of hero ids found on your team to include in this query, excluding
all results that do not include one of these heroes found on your team.
"""
withFriendHeroIds: [Int]
"""
The amount of matches to skip before collecting your query. Hint: Paging
"""
skip: Int!
"""The amount of matches to have returned in your query. Max 1000"""
take: Int!
}
type LeagueMetaDetailType {
heroId: Short
winCount: Int
lossCount: Int
winRate: Decimal
pickRate: Decimal
pickCount: Int
banRate: Decimal
banCount: Int
}
type LeagueMetaType {
leagueId: Int
bestRecord: LeagueMetaDetailType
mostPicked: LeagueMetaDetailType
mostBanned: LeagueMetaDetailType
missingMatchCount: Int
totalMatchCount: Int
league: LeagueType
}
enum LeagueNodeDefaultGroupEnum {
INVALID
BEST_OF_ONE
BEST_OF_THREE
BEST_OF_FIVE
BEST_OF_TWO
}
type LeagueNodeGroupType {
id: Short
name: String
parentNodeGroupId: Short
advancingNodeGroupId: Short
advancingTeamCount: Byte
teamCount: Byte
defaultNodeType: LeagueNodeDefaultGroupEnum
nodeGroupType: LeagueNodeGroupTypeEnum
round: Byte
maxRounds: Byte
isTieBreaker: Boolean
isFinalGroup: Boolean
isCompleted: Boolean
phase: Byte
region: Byte
startDate: Long
endDate: Long
secondaryAdvancingNodeGroupId: Short
secondaryAdvancingTeamCount: Byte
tertiaryAdvancingNodeGroupId: Short
tertiaryAdvancingTeamCount: Byte
eliminationDPCPoints: Int
nodes: [LeagueNodeType]
}
enum LeagueNodeGroupTypeEnum {
INVALID
ORGANIZATIONAL
ROUND_ROBIN
SWISS
BRACKET_SINGLE
BRACKET_DOUBLE_SEED_LOSER
BRACKET_DOUBLE_ALL_WINNER
SHOWMATCH
GSL
}
type LeagueNodeType {
nodeGroupId: Short
id: Short
name: String
winningNodeId: Short
losingNodeId: Short
nodeType: LeagueNodeDefaultGroupEnum
scheduledTime: Long
actualTime: Long
seriesId: Long
matches: [MatchType]
teamOneId: Int
teamOne: TeamType
teamTwoId: Int
teamTwo: TeamType
teamOneWins: Byte
teamTwoWins: Byte
hasStarted: Boolean
isCompleted: Boolean
streamIds: [Int]
streams: [LeagueStreamType]
}
type LeaguePrizePoolPercentageType {
leagueId: Int
index: Byte
percentage: Int
}
enum LeagueRegion {
UNSET
NA
SA
EUROPE
CIS
CHINA
SEA
}
type LeagueRegisteredPlayerType {
leagueId: Int
league: LeagueType
teamId: Int
radiantTeam: TeamType
steamAccountId: Long
steamAccount: SteamAccountType
}
input LeagueRequestType {
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
leagueId: Int
"""
An array of league ids to include in this query, excluding all results that do not include one of these leagues.
"""
leagueIds: [Int]
"""
An array of tier ids to include in this query, excluding all results that do not include one of these tiers.
"""
tiers: [LeagueTier]
"""Whether an image is required or not, represented in a boolean."""
requireImage: Boolean
"""Whether a prize pool is required or not, represented in a boolean."""
requirePrizePool: Boolean
"""
Whether a start and end date is required or not, represented in a boolean.
"""
requireStartAndEndDates: Boolean
"""Whether a league has live matches or not, represented in a boolean."""
hasLiveMatches: Boolean
"""Whether a league has ended or not, represented in a boolean."""
leagueEnded: Boolean
"""Whether a league has started or not, represented in a boolean."""
isFutureLeague: Boolean
"""If a league is set to start after this time."""
startDateTime: Long
"""If a league is set to end before this time."""
endDateTime: Long
"""
Determine to Start value of finding a League Between two specific datetimes.
"""
betweenStartDateTime: Long
"""
Determine to End value of finding a League Between two specific datetimes.
"""
betweenEndDateTime: Long
"""The id to order the results by in this query."""
orderBy: FilterOrderBy
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
}
enum LeagueStage {
OPEN_QUALIFERS
CLOSED_QUALIFERS
CHAMPIONS_QUALIFERS
GROUP_STAGE
MAIN_EVENT
}
type LeagueStatType {
matchCount: Int
radiantWinMatchCount: Int
averageMatchDurationSeconds: Int
}
type LeagueStreamType {
id: Int
languageId: Language
name: String
broadcastProvider: Byte
streamUrl: String
vodUrl: String
}
type LeagueTableHeroLanesObjectType {
id: Byte
matchCount: Int!
matchWins: Int!
}
type LeagueTableHeroOverviewType {
matchCount: Int!
matchWins: Int!
pickPhaseOne: Int!
pickPhaseTwo: Int!
pickPhaseThree: Int!
banCount: Int!
banPhaseOne: Int!
banPhaseTwo: Int!
banPhaseThree: Int!
}
type LeagueTableHeroStatsType {
kills: Float!
deaths: Float!
assists: Float!
cs: Float!
gpm: Float!
xpm: Float!
heal: Float!
heroDamage: Float!
towerDamage: Float!
killContribution: Float!
}
type LeagueTableHeroType {
heroId: Short
overview: LeagueTableHeroOverviewType
stats: LeagueTableHeroStatsType
heroes: [LeagueTableHeroStatsType]
lanes: [LeagueTableHeroLanesObjectType]
}
type LeagueTablePlayerHeroesObjectType {
heroId: Int!
matchCount: Int!
matchWins: Int!
imp: Int!
}
type LeagueTablePlayerLanesObjectType {
id: Byte
matchCount: Int!
matchWins: Int!
}
type LeagueTablePlayerOverviewType {
points: Float
earnings: Float
seriesCount: Int!
seriesWins: Int!
matchCount: Int!
matchWins: Int!
imp: Int!
}
type LeagueTablePlayerStatsType {
kills: Float!
deaths: Float!
assists: Float!
cs: Float!
gpm: Float!
xpm: Float!
heal: Float!
heroDamage: Float!
towerDamage: Float!
killContribution: Float!
}
type LeagueTablePlayerType {
steamAccountId: Long
steamAccount: SteamAccountType
overview: LeagueTablePlayerOverviewType
stats: LeagueTablePlayerStatsType
heroes: [LeagueTablePlayerHeroesObjectType]
lanes: [LeagueTablePlayerLanesObjectType]
}
type LeagueTableTeamHeroesObjectType {
heroId: Int!
matchCount: Int!
matchWins: Int!
imp: Decimal
banCount: Int
}
type LeagueTableTeamLanesObjectType {
id: Byte
matchCount: Int!
matchWins: Int!
}
type LeagueTableTeamOverviewType {
points: Float
earnings: Float
seriesCount: Int!
seriesWins: Int!
seriesDraws: Int!
matchCount: Int!
matchWins: Int!
tmp: Float
}
type LeagueTableTeamStatsType {
kills: Float!
deaths: Float!
assists: Float!
cs: Float!
gpm: Float!
xpm: Float!
heal: Float!
heroDamage: Float!
towerDamage: Float!
duration: Float!
}
type LeagueTableTeamType {
teamId: Int
team: TeamType
members: [LeagueRegisteredPlayerType]
overview: LeagueTableTeamOverviewType
stats: LeagueTableTeamStatsType
heroes: [LeagueTableTeamHeroesObjectType]
lanes: [LeagueTableTeamLanesObjectType]
}
type LeagueTableType {
leagueId: Int!
tableTeams: [LeagueTableTeamType]
tableHeroes: [LeagueTableHeroType]
tablePlayers: [LeagueTablePlayerType]
}
enum LeagueTier {
UNSET
AMATEUR
PROFESSIONAL
MINOR
MAJOR
INTERNATIONAL
DPC_QUALIFIER
DPC_LEAGUE_QUALIFIER
DPC_LEAGUE
DPC_LEAGUE_FINALS
}
type LeagueType {
id: Int
name: String
banner: String
basePrizePool: Int
stopSalesTime: DateTime
tier: LeagueTier
region: LeagueRegion
private: Boolean
freeToSpectate: Boolean
startDateTime: Long
endDateTime: Long
tournamentUrl: String
lastMatchDate: Long
modifiedDateTime: Long
hasLiveMatches: Boolean
prizePool: Int
imageUri: String
displayName: String
description: String
country: String
venue: String
isFollowed: Boolean
nodeGroups: [LeagueNodeGroupType]
liveMatches: [MatchLiveType]
matches(
"""
The request object used to filter matches returned based on input criteria.
"""
request: LeagueMatchesRequestType!
): [MatchType]
series(
"""
When searching for league matches, an array of the stage type ids the match
must be in. Stages: Open Qualifers = 1, Closed Qualifers = 2, Champions
Qualifers = 3, Group Stage = 4, Main Event = 5
"""
leagueStageTypeIds: [LeagueStage]
"""
A team id to include in this query, excluding all results that do not have this team id.
"""
teamId: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): [SeriesType]
tables(
"""
When searching for league matches, an array of the stage type ids the match
must be in. Stages: Open Qualifers = 1, Closed Qualifers = 2, Champions
Qualifers = 3, Group Stage = 4, Main Event = 5
"""
leagueStageTypeIds: [LeagueStage]
"""
To modify the values of Kills, Deaths, Assists, etc. Accepted inputs are Average (default), Highest, Lowest, Median.
"""
calculateTypeId: TableCalculateEnum
): LeagueTableType
battlePass: LeagueBattlePassType
stats(
"""
When searching for league matches, an array of the stage type ids the match
must be in. Stages: Open Qualifers = 1, Closed Qualifers = 2, Champions
Qualifers = 3, Group Stage = 4, Main Event = 5
"""
leagueStageTypeIds: [LeagueStage]
): LeagueStatType
prizePoolPercentages: [LeaguePrizePoolPercentageType]
standings: [TeamPrizeType]
streams: [LeagueStreamType]
}
enum LeaverStatusEnum {
NONE
DISCONNECTED
DISCONNECTED_TOO_LONG
ABANDONED
AFK
NEVER_CONNECTED
NEVER_CONNECTED_TOO_LONG
FAILED_TO_READY_UP
DECLINED_READY_UP
}
type LiveEventMatchDireTide2020StompType {
match: DireTide2020CustomGameMatchType
}
type LiveEventPlayerDireTide2020CandyScoredType {
steamAccount: SteamAccountType
match: DireTide2020CustomGameMatchType
heroId: Short
candyScored: Short
}
type LiveEventPlayerHeroAssistsType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
assistCount: Byte
}
type LiveEventPlayerHeroBuildingDamageType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
buildingDamage: Int
}
type LiveEventPlayerHeroDewardType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
dewardCount: Byte
}
type LiveEventPlayerHeroDotaPlusLevelType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
level: Byte
}
type LiveEventPlayerHeroExpPerMinuteType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
expPerMinute: Short
}
type LiveEventPlayerHeroGoldPerMinuteType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
goldPerMinute: Short
}
type LiveEventPlayerHeroHealingType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
healingAmount: Int
}
type LiveEventPlayerHeroHeroDamageType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
heroDamage: Int
}
type LiveEventPlayerHeroHighImpType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
imp: Byte
}
type LiveEventPlayerHeroItemPurchaseType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
itemId: Short
itemCount: Byte
}
type LiveEventPlayerHeroKillsType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
killCount: Byte
}
type LiveEventPlayerHeroWinStreakType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
winStreakCount: Byte
}
type LiveEventPlayerRampageType {
steamAccount: SteamAccountType
match: MatchType
heroId: Short
rampageCount: Byte
}
type LiveEventPlayerRankUpType {
steamAccount: SteamAccountType
match: MatchType
rank: Byte
}
type LiveEventPlayerWinStreakType {
steamAccount: SteamAccountType
match: MatchType
winStreakCount: Byte
}
type LiveEventProPlayerLiveType {
steamAccounts: [SteamAccountType]
match: MatchLiveType
}
union LiveEventType = LiveEventPlayerRampageType | LiveEventPlayerWinStreakType | LiveEventPlayerHeroWinStreakType | LiveEventPlayerHeroKillsType | LiveEventPlayerHeroAssistsType | LiveEventPlayerHeroBuildingDamageType | LiveEventPlayerHeroHealingType | LiveEventPlayerHeroHeroDamageType | LiveEventPlayerHeroGoldPerMinuteType | LiveEventPlayerHeroExpPerMinuteType | LiveEventPlayerHeroHighImpType | LiveEventPlayerHeroDotaPlusLevelType | LiveEventPlayerRankUpType | LiveEventProPlayerLiveType | LiveEventPlayerHeroItemPurchaseType | LiveEventPlayerHeroDewardType | LiveEventMatchDireTide2020StompType | LiveEventPlayerDireTide2020CandyScoredType
type LiveQuery {
"""
Find a live match by match id. A live match is data where a match is on the
Dota watch list and still active. All League games are also Live. id is a
required input field.
"""
match(
"""
The id of the Dota match to include in this query, excluding all results that do not include this id.
"""
id: Long!
"""
The amount in seconds you wish to skip until you start getting MatchEvents
or PlayerMatchEvents. When requesting reply data back, you may only want the
updates from X second on. This will skip the first set of seconds and give
everything after this time.
"""
skipPlaybackDuration: Int
): MatchLiveType
"""
Find all live matches. A live match is data where a match is on the Dota watch
list and still active. All League games are also Live.
"""
matches(request: MatchLiveRequestType): [MatchLiveType]
}
enum LobbyTypeEnum {
UNRANKED
PRACTICE
TOURNAMENT
TUTORIAL
COOP_VS_BOTS
TEAM_MATCH
SOLO_QUEUE
RANKED
SOLO_MID
BATTLE_CUP
EVENT
}
type LobbyTypeType {
id: Int!
name: String
}
scalar Long
enum MapLocationEnums {
RADIANT_BASE
RADIANT_OFF_LANE
RADIANT_MID_LANE
RADIANT_SAFE_LANE
DIRE_BASE
DIRE_OFF_LANE
DIRE_MID_LANE
DIRE_SAFE_LANE
RIVER
ROSHAN
ROAMING
RADIANT_FOUNTAIN
DIRE_FOUNTAIN
}
enum MatchAnalysisOutcomeType {
NONE
STOMPED
COMEBACK
CLOSE_GAME
}
type MatchesDayType {
day: Long!
matchCount: Int!
}
type MatchesGameVersionType {
gameVersionId: Short!
matchCount: Int!
}
type MatchesHourType {
hour: Long!
matchCount: Int!
}
type MatchesMonthType {
month: Long!
matchCount: Int!
}
type MatchesWeekType {
week: Long!
matchCount: Int!
}
type MatchGroupByType {
id: Long
id2: Long
id3: Long
matchCount: Int
winCount: Int
avgImp: Int
avgGoldPerMinute: Int
avgExperiencePerMinute: Int
avgKDA: Float
avgKills: Float
avgDeaths: Float
avgAssists: Float
lastMatchDateTime: Long
firstMatchDateTime: Long
}
enum MatchLaneType {
ROAMING
SAFE_LANE
MID_LANE
OFF_LANE
JUNGLE
UNKNOWN
}
type MatchLiveBuildingDetailType {
time: Int!
indexId: Int
type: BuildingType
isAlive: Boolean!
positionX: Int
positionY: Int
isRadiant: Boolean
npcId: Int
}
enum MatchLiveGameState {
INIT
WAIT_FOR_PLAYERS_TO_LOAD
HERO_SELECTION
STRATEGY_TIME
PRE_GAME
GAME_IN_PROGRESS
POST_GAME
DISCONNECT
TEAM_SHOWCASE
CUSTOM_GAME_SETUP
WAIT_FOR_MAP_TO_LOAD
LAST
}
type MatchLiveInsightType {
teamOneVsWinCount: Int!
teamTwoVsWinCount: Int!
teamOneLeagueWinCount: Int!
teamOneLeagueMatchCount: Int!
teamTwoLeagueWinCount: Int!
teamTwoLeagueMatchCount: Int!
lastSeries: [SeriesType]
}
type MatchLivePickBanType {
isPick: Boolean!
heroId: Short
order: Int
bannedHeroId: Short
isRadiant: Boolean
baseWinRate: Float
adjustedWinRate: Float
letter: PlusLetterType
positionValues: [Float]
winRateValues: [Float]
durationValues: [Float]
position: MatchPlayerPositionType
}
type MatchLivePlaybackDataType {
roshanEvents: [MatchLiveRoshanDetailType]
buildingEvents: [MatchLiveBuildingDetailType]
pickBans: [MatchLivePickBanType]
radiantScore: [MatchLiveTeamScoreDetailType]
direScore: [MatchLiveTeamScoreDetailType]
}
type MatchLivePlayerAssistDetailType {
time: Int!
positionX: Int!
positionY: Int!
}
type MatchLivePlayerDeathDetailType {
time: Int!
positionX: Int!
positionY: Int!
}
type MatchLivePlayerDenyDetailType {
time: Int!
positionX: Int!
positionY: Int!
}
type MatchLivePlayerExperienceDetailType {
time: Int!
expPerMinute: Int!
}
type MatchLivePlayerGoldDetailType {
time: Int!
gold: Int!
networth: Int!
networthDifference: Int!
goldPerMinute: Int!
}
type MatchLivePlayerImpDetailType {
time: Int!
imp: Short!
}
type MatchLivePlayerInventoryDetailType {
time: Int!
itemId0: Short
itemId1: Short
itemId2: Short
itemId3: Short
itemId4: Short
itemId5: Short
backpackId0: Short
backpackId1: Short
backpackId2: Short
}
type MatchLivePlayerKillDetailType {
time: Int!
positionX: Int!
positionY: Int!
}
type MatchLivePlayerLastHitDetailType {
time: Int!
positionX: Int!
positionY: Int!
}
type MatchLivePlayerLevelDetailType {
time: Int!
level: Int!
}
type MatchLivePlayerPositionDetailType {
time: Int!
x: Int!
y: Int!
}
type MatchLivePlayerType {
matchId: Long
heroId: Short
hero: HeroType
name: String
playerSlot: Byte
steamAccountId: Long
steamAccount: SteamAccountType
isRadiant: Boolean
numKills: Byte
numDeaths: Byte
numAssists: Byte
leaverStatus: Byte
numLastHits: UShort
numDenies: UShort
goldPerMinute: UShort
experiencePerMinute: UShort
level: Byte
gold: Int
goldSpent: Int
heroDamage: Int
towerDamage: Int
itemId0: Short
itemId1: Short
itemId2: Short
itemId3: Short
itemId4: Short
itemId5: Short
backpackId0: Short
backpackId1: Short
backpackId2: Short
playbackData: MatchPlayerLivePlaybackDataType
networth: Int
respawnTimer: Short
ultimateCooldown: Short
ultimateState: Short
impPerMinute: [MatchLivePlayerImpDetailType]
gameVersionId: Short
baseWinRateValue: Float
position: MatchPlayerPositionType
}
enum MatchLiveRequestOrderBy {
GAME_TIME
MATCH_ID
SPECTATOR_COUNT
}
input MatchLiveRequestType {
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
leagueId: Int
"""
Returns only matches that are currently still being updated by the backend.
"""
isParsing: Boolean
"""
Returns only matches that are no longer active and completed but not yet deleted.
"""
isCompleted: Boolean
"""
An array of league ids to include in this query, excluding all results that do not include one of these leagues.
"""
leagueIds: [Int]
"""
Only return Live Matches In Progress that are currently in these states.
"""
gameStates: [MatchLiveGameState]
"""
An array of tier ids to include in this query, excluding all results that do not include one of these tiers.
"""
tiers: [LeagueTier]
"""
Playback Data can contain a lot of information. This will only display the most recent event for each of the fields.
"""
lastPlaybackEventOnly: Boolean
"""If the return should be ordered by Ascending or Desending order."""
orderBy: MatchLiveRequestOrderBy
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
}
type MatchLiveRoshanDetailType {
time: Int
isAlive: Boolean
respawnTimer: Int
}
type MatchLiveTeamScoreDetailType {
time: Int
score: Short
}
type MatchLiveType {
matchId: Long
radiantScore: Byte
direScore: Byte
leagueId: Int
league: LeagueType
delay: Short
spectators: Int
averageRank: Int
buildingState: Long
radiantLead: Int
lobbyId: Long
lobbyType: LobbyTypeEnum
serverSteamId: String
gameTime: Int
completed: Boolean
isUpdating: Boolean
isParsing: Boolean
radiantTeamId: Int
direTeamId: Int
radiantTeam: TeamType
direTeam: TeamType
parseBeginGameTime: Int
numHumanPlayers: Byte
gameMode: GameModeEnumType
playbackData: MatchLivePlaybackDataType
gameState: MatchLiveGameState
gameMinute: Short
players: [MatchLivePlayerType]
createdDateTime: Long
modifiedDateTime: Long
insight: MatchLiveInsightType
winRateValues: [Float]
durationValues: [Float]
liveWinRateValues: [MatchLiveWinRateDetailType]
}
type MatchLiveWinRateDetailType {
time: Int!
winRate: Float!
}
type MatchmakingStatsType {
time: Long!
uSWest: Int!
uSEast: Int!
europe: Int!
singapore: Int!
brazil: Int!
stockholm: Int!
austria: Int!
australia: Int!
southAfrica: Int!
perfectWorldTelecom: Int!
perfectWorldUnicom: Int!
dubai: Int!
chile: Int!
peru: Int!
india: Int!
perfectWorldTelecomGuangdong: Int!
perfectWorldTelecomZhejiang: Int!
japan: Int!
perfectWorldTelecomWuhan: Int!
taiwan: Int!
perfectWorldUnicomTianjin: Int!
}
type MatchPickBanGroupByType {
heroId: Short
pickCount: Int
banCount: Int
}
type MatchPlaybackDataBuildingEventType {
time: Int!
indexId: Int
type: BuildingType
hp: Int
maxHp: Int
positionX: Int
positionY: Int
isRadiant: Boolean
npcId: Int
didShrineActivate: Boolean
}
type MatchplaybackDataCourierEventObjectType {
time: Int!
positionX: Int
positionY: Int
hp: Int
isFlying: Boolean
respawnTime: Int
didCastBoost: Boolean
item0Id: Int
item1Id: Int
item2Id: Int
item3Id: Int
item4Id: Int
item5Id: Int
}
type MatchPlaybackDataCourierEventType {
id: Int!
ownerHero: Int
isRadiant: Boolean
events: [MatchplaybackDataCourierEventObjectType]
}
type MatchPlaybackDataRoshanEventType {
time: Int!
hp: Int
maxHp: Int
createTime: Int
x: Int
y: Int
totalDamageTaken: Int
item0: Int
item1: Int
item2: Int
item3: Int
item4: Int
item5: Int
}
type MatchPlaybackDataRuneEventType {
indexId: Int!
time: Int!
positionX: Int!
positionY: Int!
fromPlayer: Int!
location: Int!
rune: Int!
action: Int!
}
type MatchPlaybackDataTowerDeathEventType {
time: Int!
radiant: Int!
dire: Int!
}
type MatchPlaybackDataType {
courierEvents: [MatchPlaybackDataCourierEventType]
runeEvents: [MatchPlaybackDataRuneEventType]
wardEvents: [MatchPlaybackDataWardEventType]
buildingEvents: [MatchPlaybackDataBuildingEventType]
towerDeathEvents: [MatchPlaybackDataTowerDeathEventType]
roshanEvents: [MatchPlaybackDataRoshanEventType]
radiantCaptainSteamAccountId: Long
radiantCaptainSteamAccount: SteamAccountType
direCaptainSteamAccountId: Long
direCaptainSteamAccount: SteamAccountType
}
type MatchPlaybackDataWardEventType {
indexId: Int!
time: Int!
positionX: Int!
positionY: Int!
fromPlayer: Int
wardType: Byte
action: Byte
}
type MatchPlayerAdditionalUnitType {
item0Id: Short
item1Id: Short
item2Id: Short
item3Id: Short
item4Id: Short
item5Id: Short
backpack0Id: Short
backpack1Id: Short
backpack2Id: Short
neutral0Id: Short
}
enum MatchPlayerAward {
NONE
MVP
TOP_CORE
TOP_SUPPORT
}
type MatchPlayerHeroDamageSourceAbilityReportObjectType {
abilityId: Int!
count: Int!
amount: Int!
}
type MatchPlayerHeroDamageSourceItemReportObjectType {
itemId: Int!
count: Int!
amount: Int!
}
type MatchPlayerHeroDamageTargetReportObjectType {
target: Int!
amount: Int!
}
type MatchPlayerHeroDamageTotalRecievedReportObjectType {
physicalDamage: Int!
magicalDamage: Int!
pureDamage: Int!
heal: Int!
stunCount: Int!
stunDuration: Int!
disableCount: Int!
disableDuration: Int!
slowCount: Int!
slowDuration: Int!
}
type MatchPlayerHeroDamageTotalReportObjectType {
physicalDamage: Int!
magicalDamage: Int!
pureDamage: Int!
selfHeal: Int!
allyHeal: Int!
stunCount: Int!
stunDuration: Int!
disableCount: Int!
disableDuration: Int!
slowCount: Int!
slowDuration: Int!
}
type MatchPlayerInventoryObjectType {
itemId: Int!
charges: Int
secondaryCharges: Int
}
type MatchPlayerInventoryType {
item0: MatchPlayerInventoryObjectType
item1: MatchPlayerInventoryObjectType
item2: MatchPlayerInventoryObjectType
item3: MatchPlayerInventoryObjectType
item4: MatchPlayerInventoryObjectType
item5: MatchPlayerInventoryObjectType
backPack0: MatchPlayerInventoryObjectType
backPack1: MatchPlayerInventoryObjectType
backPack2: MatchPlayerInventoryObjectType
neutral0: MatchPlayerInventoryObjectType
}
type MatchPlayerItemPurchaseEventType {
time: Int!
itemId: Int!
}
type MatchPlayerLivePlaybackDataType {
positionEvents: [MatchLivePlayerPositionDetailType]
goldEvents: [MatchLivePlayerGoldDetailType]
levelEvents: [MatchLivePlayerLevelDetailType]
killEvents: [MatchLivePlayerKillDetailType]
deathEvents: [MatchLivePlayerDeathDetailType]
assistEvents: [MatchLivePlayerAssistDetailType]
csEvents: [MatchLivePlayerLastHitDetailType]
denyEvents: [MatchLivePlayerDenyDetailType]
experienceEvents: [MatchLivePlayerExperienceDetailType]
inventoryEvents: [MatchLivePlayerInventoryDetailType]
}
type MatchPlayerPlaybackDataType {
abilityLearnEvents: [AbilityLearnEventsType]
abilityUsedEvents: [AbilityUsedEventsType]
abilityActiveLists: [AbilityActiveListType]
itemUsedEvents: [ItemUsedEventType]
playerUpdatePositionEvents: [PlayerUpdatePositionDetailType]
playerUpdateGoldEvents: [PlayerUpdateGoldDetailType]
playerUpdateAttributeEvents: [PlayerUpdateAttributeDetailType]
playerUpdateLevelEvents: [PlayerUpdateLevelDetailType]
playerUpdateHealthEvents: [PlayerUpdateHealthDetailType]
playerUpdateBattleEvents: [PlayerUpdateBattleDetailType]
killEvents: [KillDetailType]
deathEvents: [DeathDetailType]
assistEvents: [AssistDetailType]
csEvents: [LastHitDetailType]
goldEvents: [GoldDetailType]
experienceEvents: [ExperienceDetailType]
healEvents: [HealDetailType]
heroDamageEvents: [HeroDamageDetailType]
towerDamageEvents: [TowerDamageDetailType]
inventoryEvents: [InventoryType]
purchaseEvents: [ItemPurchaseType]
buyBackEvents: [BuyBackDetailType]
streakEvents: [StreakEventType]
spiritBearInventoryEvents: [SpiritBearInventoryType]
}
enum MatchPlayerPositionType {
POSITION_1
POSITION_2
POSITION_3
POSITION_4
POSITION_5
UNKNOWN
FILTERED
ALL
}
enum MatchPlayerRoleType {
CORE
LIGHT_SUPPORT
HARD_SUPPORT
UNKNOWN
}
type MatchPlayerSpectatorType {
steamId: Long
isRadiantCoach: Boolean
isVictory: Boolean
}
type MatchPlayerSpiritBearInventoryType {
item0Id: Int
item1Id: Int
item2Id: Int
item3Id: Int
item4Id: Int
item5Id: Int
backPack0Id: Int
backPack1Id: Int
backPack2Id: Int
neutral0Id: Int
}
type MatchPlayerStatsAbilityCastObjectType {
target: Int!
count: Int!
damage: Int!
duration: Int
}
type MatchPlayerStatsAbilityCastReportType {
abilityId: Int!
count: Int!
targets: [MatchPlayerStatsAbilityCastObjectType]
}
type MatchPlayerStatsActionReportType {
moveToPosition: Int!
moveToTarget: Int!
attackPosition: Int!
attackTarget: Int!
castPosition: Int!
castTarget: Int!
castNoTarget: Int!
heldPosition: Int!
glyphCast: Int!
scanUsed: Int!
pingUsed: Int!
}
type MatchPlayerStatsAllTalkEventType {
time: Int!
message: String
pausedTick: Int!
}
type MatchPlayerStatsAssistEventType {
time: Int!
target: Int
gold: Int
xp: Int
positionX: Int
positionY: Int
}
type MatchPlayerStatsBuffEventType {
time: Int!
abilityId: Int
itemId: Int
stackCount: Int
}
type MatchPlayerStatsChatWheelEventType {
time: Int!
chatWheelId: Short
}
type MatchPlayerStatsCourierKillEventType {
time: Int!
positionX: Int
positionY: Int
}
type MatchPlayerStatsDeathEventType {
time: Int!
attacker: Short
target: Int
byAbility: Int
byItem: Int
goldFed: Int
xpFed: Int
timeDead: Int
positionX: Int
positionY: Int
goldLost: Int
assist: [Int!]
isWardWalkThrough: Boolean
isAttemptTpOut: Boolean
isDieBack: Boolean
isBurst: Boolean
isEngagedOnDeath: Boolean
hasHealAvailable: Boolean
isTracked: Boolean
}
type MatchPlayerStatsFarmDistributionObjectType {
id: Int!
count: Int!
gold: Int
xp: Int
}
type MatchPlayerStatsFarmDistributionReportType {
creepType: [MatchPlayerStatsFarmDistributionObjectType]
creepLocation: [MatchPlayerStatsFarmDistributionObjectType]
neutralLocation: [MatchPlayerStatsFarmDistributionObjectType]
ancientLocation: [MatchPlayerStatsFarmDistributionObjectType]
buildings: [MatchPlayerStatsFarmDistributionObjectType]
buyBackGold: Int!
abandonGold: Int!
bountyGold: MatchPlayerStatsFarmDistributionObjectType
talentGold: Int!
other: [MatchPlayerStatsFarmDistributionObjectType]
itemGold: Int!
}
type MatchPlayerStatsHeroDamageReportType {
dealtTotal: MatchPlayerHeroDamageTotalReportObjectType
receivedTotal: MatchPlayerHeroDamageTotalRecievedReportObjectType
dealtTargets: [MatchPlayerHeroDamageTargetReportObjectType]
receivedTargets: [MatchPlayerHeroDamageTargetReportObjectType]
dealtSourceAbility: [MatchPlayerHeroDamageSourceAbilityReportObjectType]
receivedSourceAbility: [MatchPlayerHeroDamageSourceAbilityReportObjectType]
dealtSourceItem: [MatchPlayerHeroDamageSourceItemReportObjectType]
receivedSourceItem: [MatchPlayerHeroDamageSourceItemReportObjectType]
}
type MatchPlayerStatsItemUsedEventType {
itemId: Int!
count: Int
}
type MatchPlayerStatsKillEventType {
time: Int!
target: Int
byAbility: Int
byItem: Int
gold: Int
xp: Int
positionX: Int
positionY: Int
assist: [Int!]
isSolo: Boolean
isGank: Boolean
isInvisible: Boolean
isSmoke: Boolean
isTpRecently: Boolean
}
type MatchPlayerStatsLocationReportType {
positionX: Int!
positionY: Int!
}
type MatchPlayerStatsRuneEventType {
time: Int!
rune: RuneEnums
action: RuneAction
gold: Int
positionX: Int
positionY: Int
}
type MatchPlayerStatsTowerDamageReportType {
npcId: Int!
damage: Int!
}
type MatchPlayerStatsType {
matchId: Long
steamAccountId: Long
gameVersionId: Short
level: [Int]
killEvents: [MatchPlayerStatsKillEventType]
killCount: Int
deathEvents: [MatchPlayerStatsDeathEventType]
deathCount: Int
assistEvents: [MatchPlayerStatsAssistEventType]
assistCount: Int
lastHitsPerMinute: [Int]
lastHitCount: Int
"""
Starts at minute 0:00. Each index contains the data for that minute. Index 0 has everything from 0:00 to 0:59.
"""
goldPerMinute: [Int]
goldCount: Int
"""
Starts at minute 0:00. Each index contains the data for that minute. Index 0 has everything from 0:00 to 0:59.
"""
experiencePerMinute: [Int]
experienceCount: Int
"""
Starts at minute 0:00. Each index contains the data for that minute. Index 0 has everything from 0:00 to 0:59.
"""
healPerMinute: [Int]
healCount: Int
"""
Starts at minute 0:00. Each index contains the data for that minute. Index 0 has everything from 0:00 to 0:59.
"""
heroDamagePerMinute: [Int]
heroDamageCount: Int
"""
Starts at minute 0:00. Each index contains the data for that minute. Index 0 has everything from 0:00 to 0:59.
"""
towerDamagePerMinute: [Int]
towerDamageCount: Int
towerDamageReport: [MatchPlayerStatsTowerDamageReportType]
courierKills: [MatchPlayerStatsCourierKillEventType]
wards: [MatchPlayerStatsWardEventType]
itemPurchases: [MatchPlayerItemPurchaseEventType]
itemUsed: [MatchPlayerStatsItemUsedEventType]
allTalks: [MatchPlayerStatsAllTalkEventType]
chatWheels: [MatchPlayerStatsChatWheelEventType]
actionsPerMinute: [Int]
actionReport: MatchPlayerStatsActionReportType
invisibleSeconds: Int
locationReport: [MatchPlayerStatsLocationReportType]
farmDistributionReport: [MatchPlayerStatsFarmDistributionReportType]
runes: [MatchPlayerStatsRuneEventType]
abilityCastReport: [MatchPlayerStatsAbilityCastReportType]
heroDamageReport: MatchPlayerStatsHeroDamageReportType
inventoryReport: [MatchPlayerInventoryType]
"""
Starts at minute 0:00 and Index 0 will show the Networth at 0:00 in the game.
"""
networthPerMinute: [Int]
"""
Starts at minute 0:00. Each index contains the data for that minute. Index 0 has everything from 0:00 to 0:59.
"""
campStack: [Int]
matchPlayerBuffEvent: [MatchPlayerStatsBuffEventType]
"""
Starts at minute 0:00. Each index contains the data for that minute. Index 0 has everything from 0:00 to 0:59.
"""
deniesPerMinute: [Int]
"""
Starts at minute 0:00. The last index will contain the last subset of data,
so if a match is 41:01 long, the last index will be the change in the last 1 second.
"""
impPerMinute: [Int]
"""
Starts at minute 0:00. The last index will contain the last subset of data,
so if a match is 41:01 long, the last index will be the change in the last 1 second.
"""
impPerMinute2: [Int]
dotaPlusHeroXp: Int
"""
Starts at minute 0:00. Each index contains the data for that minute. Index 0 has everything from 0:00 to 0:59.
"""
tripsFountainPerMinute: [Int]
spiritBearInventoryReport: [MatchPlayerSpiritBearInventoryType]
abilities(
"""
The game version id to include in this query, excluding all results that do not have this game version.
"""
gameVerionId: Int
): [PlayerAbilityType]
"""
Starts at minute 0:00. Each index contains the data for that minute. Index 0 has everything from 0:00 to 0:59.
"""
heroDamageReceivedPerMinute: [Int]
}
type MatchPlayerStatsWardEventType {
time: Int!
type: Int!
positionX: Int
positionY: Int
}
enum MatchPlayerTeamPickOrderType {
FIRST_PICK
SECOND_PICK
THIRD_PICK
FOURTH_PICK
FIFTH_PICK
}
type MatchPlayerType {
matchId: Long
match: MatchType
playerSlot: Byte
steamAccountId: Long
steamAccount: SteamAccountType
isRadiant: Boolean
isVictory: Boolean
heroId: Short
gameVersionId: Short
hero: HeroType
kills: Byte
deaths: Byte
assists: Byte
leaverStatus: LeaverStatusEnum
numLastHits: Short
numDenies: Short
goldPerMinute: Short
networth: Int
experiencePerMinute: Short
level: Byte
gold: Int
goldSpent: Int
heroDamage: Int
towerDamage: Int
heroHealing: Int
partyId: Byte
isRandom: Boolean
lane: MatchLaneType
streakPrediction: Byte
intentionalFeeding: Boolean
role: MatchPlayerRoleType
roleBasic: MatchPlayerRoleType
imp: Short
award: MatchPlayerAward
item0Id: Short
item1Id: Short
item2Id: Short
item3Id: Short
item4Id: Short
item5Id: Short
backpack0Id: Short
backpack1Id: Short
backpack2Id: Short
"""
The item id of the dedicated neutral item slot (7.24 and after). From game
versions 7.23 to 7.24, this was the BackPack3Id (the 4th backpack slot item id).
"""
neutral0Id: Short
behavior: Short
stats: MatchPlayerStatsType
playbackData: MatchPlayerPlaybackDataType
heroAverage: [HeroPositionTimeDetailAverageObjectType]
additionalUnit: MatchPlayerAdditionalUnitType
"""
Gets the players of Dota which have DotaPlus and have a high level hero.
"""
dotaPlus: [HeroDotaPlusLeaderboardRankType]
}
type MatchReplayUploadHeroDuoSummaryType {
heroId: Short
winCountWith: Int!
winCountAgainst: Int!
matchCountWith: Int!
matchCountAgainst: Int!
}
type MatchReplayUploadHeroSummaryType {
heroId: Short
winCountWith: Int!
winCountAgainst: Int!
matchCountWith: Int!
matchCountAgainst: Int!
banCountWith: Int!
banCountAgainst: Int!
duos: [MatchReplayUploadHeroDuoSummaryType]
}
type MatchReplayUploadMatchType {
matchUploadTeamId: Int!
id: Long
fileName: String!
uploaderCaptainJackIdentityId: Guid
isValidated: Boolean!
isComplete: Boolean!
isActive: Boolean!
didRadiantWin: Boolean!
durationSeconds: Short
durationMinutes: Int!
startDateTime: DateTime
endDateTime: DateTime
lobbyType: Byte
numHumanPlayers: Byte
numHumanSpectators: Byte
leagueId: Int
seriesId: Long
gameMode: Byte
radiantTeamId: Int
radiantKills: Byte
direTeamId: Int
direKills: Byte
isRadiantFirstPick: Boolean!
gameVersionId: Int!
notes: String
players: [MatchReplayUploadPlayerType]
stats: MatchReplayUploadStatsType
radiantTeam: TeamType
direTeam: TeamType
league: LeagueType
}
type MatchReplayUploadOverviewType {
matchCount: Int!
winCount: Int!
matches: [MatchReplayUploadMatchType]
}
type MatchReplayUploadPickBanType {
playerSlot: Byte
isPick: Boolean!
heroId: Short
bannedHeroId: Short
time: Byte
isRadiant: Boolean
order: Byte
wasBannedSuccessfully: Boolean!
}
type MatchReplayUploadPlayerStatsItemsType {
item0IdList: [Byte]
item1IdList: [Byte]
item2IdList: [Byte]
item3IdList: [Byte]
item4IdList: [Byte]
item5IdList: [Byte]
backpack0IdList: [Byte]
backpack1IdList: [Byte]
backpack2IdList: [Byte]
}
type MatchReplayUploadPlayerStatsType {
killsList: [Int]
assistsList: [Int]
deathsList: [Int]
streakList: [Int]
levelList: [Int]
totalEarnedGoldList: [Int]
reliableGoldList: [Int]
unreliableGoldList: [Int]
totalEarnedXpList: [Int]
sharedGoldList: [Int]
heroKillGoldList: [Int]
creepKillGoldList: [Int]
incomeGoldList: [Int]
networthList: [Int]
denyCountList: [Int]
lastHitCountList: [Int]
lastHitStreakList: [Int]
lastHitMultiKillList: [Int]
nearbyCreepDeathCountList: [Int]
claimedDenyCountList: [Int]
claimedMissCountList: [Int]
missCountList: [Int]
stunsList: [Int]
heroHealingList: [Int]
towerKillsList: [Int]
roshanKillsList: [Int]
observerWardsPlacedList: [Int]
sentryWardsPlacedList: [Int]
creepStackList: [Int]
campStackList: [Int]
runePicksupList: [Int]
goldSpentOnSupportList: [Int]
heroDamageList: [Int]
wardsPurchasedList: [Int]
wardsDestroyedList: [Int]
commandsIssuedList: [Int]
goldSpentOnConsumablesList: [Int]
goldSpentOnItemsList: [Int]
goldSpentOnBuybacksList: [Int]
goldLostToDeathList: [Int]
maxHealthList: [Int]
maxManaList: [Int]
bkbChargesUsedList: [Int]
damageMinList: [Int]
damageMaxList: [Int]
damageBonusList: [Int]
strengthTotalList: [Int]
agilityTotalList: [Int]
intellectTotalList: [Int]
towerDamageList: [Int]
items: MatchReplayUploadPlayerStatsItemsType
}
type MatchReplayUploadPlayerType {
matchId: Long
playerSlot: Byte
matchUploadTeamId: Int!
steamAccountId: Long
isRadiant: Boolean!
isDire: Boolean!
teamSlot: Byte
heroId: Short
kills: Byte
deaths: Byte
assists: Byte
networth: Int!
lastHits: Short
denies: Short
goldPerMinute: Short
experiencePerMinute: Short
totalGoldSpent: Int!
goldSpentOnBuybacks: Int
goldSpentOnConsumables: Int
goldSpentOnItems: Int
goldSpentOnSupport: Int
heroDamage: Int!
towerDamage: Int!
towerKills: Short
heroHealing: Int!
level: Byte
item0Id: Short
item1Id: Short
item2Id: Short
item3Id: Short
item4Id: Short
item5Id: Short
backpack0Id: Short
backpack1Id: Short
backpack2Id: Short
lane: MatchLaneType
role: MatchPlayerRoleType
position: MatchPlayerPositionType
pickOrder: Byte
teamPickOrder: MatchPlayerTeamPickOrderType
isVictory: Boolean!
stats: MatchReplayUploadPlayerStatsType
steamAccount: SteamAccountType
}
type MatchReplayUploadStatsType {
spectators: [Long]
pickBans: [MatchReplayUploadPickBanType]
}
type MatchReplayUploadTeamMemberType {
captainJackIdentityId: Guid
matchUploadTeamId: Int!
isAdmin: Boolean!
isDefaultTeam: Boolean!
steamAccount: SteamAccountType
}
type MatchReplayUploadTeamType {
id: Int!
name: String!
email: String!
teamId: Int!
creatorCaptainJackIdentityId: Guid
team: TeamType
members: [MatchReplayUploadTeamMemberType]
isDefault: Boolean
}
type MatchStatsChatEventType {
time: Int
type: Int
fromHeroId: Short
toHeroId: Short
value: Short
pausedTick: Int
isRadiant: Boolean
}
type MatchStatsLaneReportFactionLaneObject {
meleeCount: Int!
rangeCount: Int!
siegeCount: Int!
denyCount: Int!
neutralCount: Int!
}
type MatchStatsLaneReportFactionObjectType {
midLane: MatchStatsLaneReportFactionLaneObject
offLane: MatchStatsLaneReportFactionLaneObject
safeLane: MatchStatsLaneReportFactionLaneObject
}
type MatchStatsLaneReportType {
radiant: [MatchStatsLaneReportFactionObjectType]
dire: [MatchStatsLaneReportFactionObjectType]
}
type MatchStatsOutpostReportObjectType {
npcId: Int
isControlledByRadiant: Boolean!
isRadiantSide: Boolean!
}
type MatchStatsPickBanType {
isPick: Boolean!
heroId: Short
team: Int
order: Int
bannedHeroId: Short
isRadiant: Boolean
playerIndex: Int
wasBannedSuccessfully: Boolean
baseWinRate: Byte
adjustedWinRate: Byte
letter: Int
}
type MatchStatsTowerDeathType {
time: Int
npcId: Short
isRadiant: Boolean
attacker: Short
}
type MatchStatsTowerReportObjectType {
npcId: Int
hp: Int
}
type MatchStatsTowerReportType {
towers: [MatchStatsTowerReportObjectType]
outposts: [MatchStatsOutpostReportObjectType]
}
type MatchStatsType {
matchId: Long
"""This begins at -60 to 0 seconds (Index 0)."""
radiantNetworthLeads: [Int]
"""This begins at -60 to 0 seconds (Index 0)."""
radiantExperienceLeads: [Int]
"""This begins at -60 to 0 seconds (Index 0)."""
radiantKills: [Int]
"""This begins at -60 to 0 seconds (Index 0)."""
direKills: [Int]
"""This begins at -60 to 0 seconds (Index 0)."""
pickBans: [MatchStatsPickBanType]
towerStatus: [MatchStatsTowerReportType]
laneReport: MatchStatsLaneReportType
winRates: [Decimal]
predictedWinRates: [Decimal]
chatEvents: [MatchStatsChatEventType]
towerDeaths: [MatchStatsTowerDeathType]
}
type MatchType {
id: Long
didRadiantWin: Boolean
durationSeconds: Int
startDateTime: Long
endDateTime: Long
towerStatusRadiant: Int
towerStatusDire: Int
barracksStatusRadiant: Short
barracksStatusDire: Short
clusterId: Int
firstBloodTime: Int
lobbyType: LobbyTypeEnum
numHumanPlayers: Int
gameMode: GameModeEnumType
replaySalt: Long
isStats: Boolean
tournamentId: Int
tournamentRound: Short
actualRank: Short
averageRank: Short
averageImp: Short
parsedDateTime: Long
statsDateTime: Long
leagueId: Int
radiantTeamId: Int
direTeamId: Int
seriesId: Long
gameVersionId: Short
regionId: Byte
sequenceNum: Long
rank: Int
bracket: Byte
analysisOutcome: MatchAnalysisOutcomeType
predictedOutcomeWeight: Byte
players(
"""
The steam account id to include in this query, excluding all results that do not have this steam account id.
"""
steamAccountId: Long
): [MatchPlayerType]
radiantTeam: TeamType
direTeam: TeamType
series: SeriesType
stats: MatchStatsType
playbackData: MatchPlaybackDataType
spectators: [MatchPlayerSpectatorType]
league: LeagueType
}
input MergeProSteamAccountRequestType {
steamAccountId: Long
name: String!
realName: String
}
type ModifierType {
id: Short
name: String
buffDuration: Int
isRoot: Boolean
isStun: Boolean
isSilence: Boolean
isInvisible: Boolean
isShackle: Boolean
isHex: Boolean
isSleep: Boolean
isCyclone: Boolean
isTaunt: Boolean
isDisarm: Boolean
isBlind: Boolean
isEthereal: Boolean
isMovementSlow: Boolean
isAttackSlow: Boolean
isBreak: Boolean
isArmorReduce: Boolean
isAttackReduce: Boolean
isMute: Boolean
isDamageAmplified: Boolean
isMovementDebuff: Boolean
isKnockback: Boolean
isWeaken: Boolean
isItem: Boolean
isBanished: Boolean
}
type NewsItemType {
id: Long
title: String!
uri: String!
author: String!
contents: String!
feedLabel: String!
date: Long
feedName: String!
}
type NpcStatType {
level: Float
statusHealth: Float
statusHealthRegen: Float
statusMana: Float
statusManaRegen: Float
movementSpeed: Float
movementTurnRate: Float
dayTimeVision: Float
nightTimeVision: Float
attackRangeBuffer: Float
attackRange: Float
isNeutralUnitType: Boolean
isAncient: Boolean
canBeDominated: Boolean
autoAttacksByDefault: Boolean
attackDamageMin: Float
attackDamageMax: Float
attackRate: Float
attackAnimationPoint: Float
projectileSpeed: Float
teamName: String
combatClassAttack: String
combatClassDefend: String
unitRelationshipClass: String
attackDesire: Float
hasInventory: Boolean
wakesNeutrals: Boolean
}
type NpcType {
id: Short
name: String
stat: NpcStatType
}
type PageAghanimQuery {
"""Returns a match by Id based on the TI10 (2020) summer event."""
match(
"""
The id of the Dota match to include in this query, excluding all results that do not include this id.
"""
id: Long!
): TI2020CustomGameMatchType
"""Returns a list of matches by based on the TI10 (2020) summer event."""
matches(request: FilterTI2020MatchRequestType): [TI2020CustomGameMatchType]
"""
Returns all the combinations of Heroes and their success on the TI10 (2020) summer event.
"""
heroCompositions(request: FilterTI2020HeroCompositionRequestType!): [TI2020CustomGameHeroCompositionType]
"""
Returns all the combinations of Heroes and their success on the TI10 (2020) summer event.
"""
heroComposition(heroIds: [Short]!, difficulty: TI2020CustomGameMatchDifficultyType!): TI2020CustomGameHeroCompositionType
"""
Returns the last 3 days winrate for each hero by Difficulty in the TI10 (2020) summer event.
"""
winRate(difficulty: TI2020CustomGameMatchDifficultyType!): TI2020CustomGameHeroWinRateType
"""Returns all the Abilities for a Hero on the TI10 (2020) summer event."""
heroAbility(difficulty: TI2020CustomGameMatchDifficultyType!): [TI2020CustomGameHeroAbilityType]
"""
Returns all the Room Types by Difficulty for the TI10 (2020) summer event.
"""
room(difficulty: TI2020CustomGameMatchDifficultyType!): [TI2020CustomGameRoomType]
"""
Returns all the Room Modifiers by Difficulty for the TI10 (2020) summer event.
"""
roomModifier(difficulty: TI2020CustomGameMatchDifficultyType!): [TI2020CustomGameRoomModifierType]
}
type PageDireTide2020Query {
"""Returns a match by Id based on the 2020 Halloween Event DireTide."""
match(
"""
The id of the Dota match to include in this query, excluding all results that do not include this id.
"""
id: Long!
): DireTide2020CustomGameMatchType
"""
Returns a list of matches by based on the 2020 Halloween Event DireTide.
"""
matches(request: FilterDireTide2020CustomMatchRequestType): [DireTide2020CustomGameMatchType]
"""
Returns the last 12 days by day showing the amount of matches and the amount of wins by hero id.
"""
winHour(
"""The amount to have returned in your query."""
take: Int
): [DireTide2020CustomGameHeroWinDayType]
}
type PageMatchesQuery {
"""Returns the last 12 hours by hour showing the amount of matches."""
matchesStatsHour(
"""The amount to have returned in your query."""
take: Int
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
bracketIds: [RankBracket]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [BasicRegionType]
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [GameModeEnumType]
): [MatchesHourType]
"""Returns the last 12 days by day showing the amount of matches."""
matchesStatsDay(
"""The amount to have returned in your query."""
take: Int
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
bracketIds: [RankBracket]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [BasicRegionType]
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [GameModeEnumType]
): [MatchesDayType]
"""Returns the last 12 weeks by week showing the amount of matches."""
matchesStatsWeek(
"""The amount to have returned in your query."""
take: Int
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
bracketIds: [RankBracket]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [BasicRegionType]
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [GameModeEnumType]
): [MatchesWeekType]
"""Returns the data by month showing the amount of matches."""
matchesStatsMonth(
"""The amount to have returned in your query."""
take: Int
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
bracketIds: [RankBracket]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [BasicRegionType]
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [GameModeEnumType]
): [MatchesMonthType]
"""Returns the data by game version showing the amount of matches."""
matchesStatsGameVersion(
"""The amount to have returned in your query."""
take: Int
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
bracketIds: [RankBracket]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [BasicRegionType]
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [GameModeEnumType]
): [MatchesGameVersionType]
"""
Amount of players who are active and searching for a game in this region.
"""
matchmakingStats: [MatchmakingStatsType]
}
type PagePlayerQuery {
"""Returns the violations commited by a player in their last 500 games."""
conduct: PlayerConductResponseType
"""Get very simple data for the on-hover of a player icon."""
simpleSummary: PlayerCardHoverType
"""
Provided in-depth look of a player and how they proform globally on all heroes.
"""
performance(
"""
The request object used to filter matches returned based on input criteria.
"""
request: PlayerPerformanceMatchesRequestType!
): PlayerPerformanceType
"""A more in depth at a single player's single hero performance."""
heroPerformance(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
"""
The request object used to filter matches returned based on input criteria.
"""
request: PlayerHeroPerformanceMatchesRequestType!
): PlayerPerformanceType
"""
Returns a list of all heroes played by the steam account id and contains data about the average performance.
"""
heroesPerformance(
"""
The request object used to filter matches returned based on input criteria.
"""
request: PlayerHeroesPerformanceMatchesRequestType
): [PlayerHeroesPerformanceType]
"""
Picked the top pros and annoucers and determines if you ever have played with them and when.
"""
playedWithPro: PlayerPlayedWithProType
"""Returns a general player summary of random set of predefinded filters."""
breakdown(
"""
The request object used to filter matches returned based on input criteria.
"""
request: PlayerBreakdownRequestType!
): PlayerBreakdownType
}
type PagePlayersQuery {
"""
Endpoint which breaks down all the SteamAccounts in the database by their current season rank.
"""
steamAccountByRank: [SteamAccountByRankType]
}
type PageQuery {
"""
STRATZ specific endpoints found on the /player/ section of the website. id is a required input field.
"""
player(
"""
The steam account id to include in this query, excluding all results that do not have this steam account id.
"""
steamAccountId: Long!
): PagePlayerQuery
"""
STRATZ specific endpoints found on the /players/ section of the website.
"""
players: PagePlayersQuery
"""
STRATZ specific endpoints found on the /matches/ section of the website.
"""
matches: PageMatchesQuery
"""Endpoints for the TI10 (2020) regarding the summer event."""
aghanim: PageAghanimQuery
"""Endpoints for Imp Related calls."""
imp: ImpQuery
direTide2020: PageDireTide2020Query
}
type PatchNoteLanguageType {
id: String
gameVersionId: Short
languageId: Byte
index: Byte
abilityId: Short
itemId: Short
heroId: Short
generalId: PatchNoteType
text: String
}
enum PatchNoteType {
HERO
GENERAL
GENERIC
ITEM
NPC
}
type PlayerAbilityType {
abilityId: Int!
time: Int!
level: Int!
gameVersionId: Short
abilityType(
"""
The game version id to include in this query, excluding all results that do not have this game version.
"""
gameVerionId: Int
"""
The language id to include in this query, excluding all results that do not have this language.
"""
langaugeId: Int
): AbilityType
isTalent: Boolean
}
type PlayerActivitySummaryHeroType {
heroId: Int
winCount: Int
lossCount: Int
}
type PlayerActivitySummaryType {
activity: PlayerBehaviorActivity
matchCount: Int
coreCount: Int
supportCount: Int
imp: Int
heroes: [PlayerActivitySummaryHeroType]
}
type PlayerBadgeType {
badgeId: Byte
slot: Byte
createdDateTime: Long
}
type PlayerBattlePassResponseType {
players: [PlayerBattlePassType]
playerCount: Int!
accountsAbove2000Count: Int!
accountsAbove1000Count: Int!
accountsAbove500Count: Int!
accountsAbove330Count: Int!
accountsAbove275Count: Int!
accountsAbove225Count: Int!
accountsAbove195Count: Int!
accountsAbove75Count: Int!
}
type PlayerBattlePassType {
steamAccount: SteamAccountType
activity: Byte
level: Int!
}
enum PlayerBehaviorActivity {
NONE
VERY_LOW
LOW
MEDIUM
HIGH
VERY_HIGH
INTENSE
}
type PlayerBreakdownObjectType {
id: Int
matchCount: Int!
win: Int
imp: Int
lastSeenDateTime: Long
}
input PlayerBreakdownRequestType {
"""An array of Dota match ids to include in this query."""
matchIds: [Long]
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
leagueId: Int
"""
A series id to include in this query, excluding all results that do not have this series id.
"""
seriesId: Long
"""
A team id to include in this query, excluding all results that do not have this team id.
"""
teamId: Int
"""
Whether STRATZ has yet parsed the data of the match or not, represented in a boolean.
"""
isParsed: Boolean
"""Whether the match is a league match or not."""
isLeague: Boolean
"""Whether the match has a team assigned or not."""
isTeam: Boolean
"""
Requests matches where the match is at least this many minutes. Default is null and there is no minimum.
"""
minDuration: Int
"""
Requests matches where the match is no longer than this many minutes. Default is null and there is no maximum.
"""
maxDuration: Int
"""
The start DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
startDateTime: Long
"""
The end DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
endDateTime: Long
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [Byte]
"""
An array of lobby type ids to include in this query, excluding all results that do not include one of these lobby types.
"""
lobbyTypeIds: [Byte]
"""
An array of game version ids to include in this query, excluding all results
that do not include one of these game versions.
"""
gameVersionIds: [Int]
"""
Requests matches where the match is at least than this input. See GameVersion
API call for a list of patch ids. Default is null and there is no minimum.
"""
minGameVersionId: Int
"""
Requests matches where the match is lower than this input. See GameVersion
API call for a list of patch ids. Default is null and there is no maximum.
"""
maxGameVersionId: Int
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [Int]
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
rankIds: [Int]
"""
STRATZ applys an formula to determine if a game is considered 'real'. We
attempt to detect AFKers, leavers, feeders, etc. 'IsStats' will return matches
that do not include any of these poor quality matches.
"""
isStats: Boolean
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""
An array of lane ids (enum MatchLaneType) to include in this query, excluding
all results that do not include one of these lanes. Roaming = 0, SafeLane = 1,
Midlane = 2, Offlane = 3, Jungle = 4
"""
laneIds: [Int]
"""
An array of role ids (enum MatchPlayerRoleType) to include in this query,
excluding all results that do not include one of these roles. Core = 0, Light
Support = 1, Hard Support = 2
"""
roleIds: [Int]
"""
An array of award ids to include in this query, excluding all results that do
not include one of these awards. The player award types include MVP (1), Top
Core (2), and Top Support (3).
"""
awardIds: [Int]
"""Include all matches that are party games, excluding all others."""
isParty: Boolean
"""Whether the specified player was on Radiant or not."""
isRadiant: Boolean
"""
Matches where the user is in a party with this many friends. Automatically applys IsParty = true. This is an array input.
"""
partyCounts: [Int]
"""
STRATZ gives 3 players in each game an award for playing well. MVP, Top Core,
Top Support (enum MatchPlayerAwardType). If you include a query of
'steamAccountId' then it will require that player to have gotten at least 1 of
these awards for each match result.
"""
hasAward: Boolean
"""
An array of steam account ids found on your team to include in this query,
excluding all results that do not include one of these steam accounts found on your team.
"""
withFriendSteamAccountIds: [Long]
"""
An array of hero ids found on your team to include in this query, excluding
all results that do not include one of these heroes found on your team.
"""
withFriendHeroIds: [Int]
}
type PlayerBreakdownType {
matches: PlayerBreakdownObjectType
isStatsMatches: [PlayerBreakdownObjectType]
rankMatches: [PlayerBreakdownObjectType]
lobbyMatches: [PlayerBreakdownObjectType]
gameModeMatches: [PlayerBreakdownObjectType]
factionMatches: [PlayerBreakdownObjectType]
regionMatches: [PlayerBreakdownObjectType]
laneMatches: [PlayerBreakdownObjectType]
roleMatches: [PlayerBreakdownObjectType]
partyMatches: [PlayerBreakdownObjectType]
impMatches: [PlayerBreakdownObjectType]
durationMatches: [PlayerBreakdownObjectType]
heroAttributeMatches: [PlayerBreakdownObjectType]
dayOfWeekMatches: [PlayerBreakdownObjectType]
timeOfDayMatches: [PlayerBreakdownObjectType]
weekEndMatches: [PlayerBreakdownObjectType]
}
type PlayerCardHoverHeroType {
heroId: Int!
winCount: Int!
lossCount: Int!
}
type PlayerCardHoverType {
steamAccount: SteamAccountType
lastUpdateDateTime: Long
matchCount: Int
coreCount: Int
supportCount: Int
imp: Int
heroes: PlayerCardHoverHeroType
activity: Byte
}
type PlayerCoachingLeaderboardResponseType {
players: PlayerCoachingLeaderboardType
accounts: Int!
accountsAbove500: Int!
accountsAbove2500: Int!
}
type PlayerCoachingLeaderboardType {
steamAccount: SteamAccountType
activity: Byte
rating: Int!
matchCount: Int!
winCount: Int!
firstMatchDateTime: Long
lastMatchDateTime: Long
}
type PlayerConductResponseType {
lastIncidentDateTime: Long
lastIncidentMatchId: Long
recentMatchIncidents: [Short]
behaviorScore: Short
}
type PlayerDraftHeroHighlightType {
lastPlayed: Long
winCount: Int
matchCount: Int
impAllTime: Int
mvpCountLastMonth: Int
topCoreCountLastMonth: Int
topSupportCountLastMonth: Int
winCountLastMonth: Int
matchCountLastMonth: Int
impLastMonth: Int
winCountLastSixMonths: Int
matchCountLastSixMonths: Int
impLastSixMonths: Int
}
type PlayerHeroDotaPlusLeaderboardRankResponseType {
players: [HeroDotaPlusLeaderboardRankType]
}
input PlayerHeroesPerformanceMatchesRequestType {
"""An array of Dota match ids to include in this query."""
matchIds: [Long]
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
leagueId: Int
"""
A series id to include in this query, excluding all results that do not have this series id.
"""
seriesId: Long
"""
A team id to include in this query, excluding all results that do not have this team id.
"""
teamId: Int
"""
Whether STRATZ has yet parsed the data of the match or not, represented in a boolean.
"""
isParsed: Boolean
"""Whether the match is a league match or not."""
isLeague: Boolean
"""Whether the match has a team assigned or not."""
isTeam: Boolean
"""
Requests matches where the match is at least this many minutes. Default is null and there is no minimum.
"""
minDuration: Int
"""
Requests matches where the match is no longer than this many minutes. Default is null and there is no maximum.
"""
maxDuration: Int
"""
The start DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
startDateTime: Long
"""
The end DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
endDateTime: Long
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [Byte]
"""
An array of lobby type ids to include in this query, excluding all results that do not include one of these lobby types.
"""
lobbyTypeIds: [Byte]
"""
An array of game version ids to include in this query, excluding all results
that do not include one of these game versions.
"""
gameVersionIds: [Int]
"""
Requests matches where the match is at least than this input. See GameVersion
API call for a list of patch ids. Default is null and there is no minimum.
"""
minGameVersionId: Int
"""
Requests matches where the match is lower than this input. See GameVersion
API call for a list of patch ids. Default is null and there is no maximum.
"""
maxGameVersionId: Int
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [Int]
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
rankIds: [Int]
"""
STRATZ applys an formula to determine if a game is considered 'real'. We
attempt to detect AFKers, leavers, feeders, etc. 'IsStats' will return matches
that do not include any of these poor quality matches.
"""
isStats: Boolean
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""
An array of lane ids (enum MatchLaneType) to include in this query, excluding
all results that do not include one of these lanes. Roaming = 0, SafeLane = 1,
Midlane = 2, Offlane = 3, Jungle = 4
"""
laneIds: [Int]
"""
An array of role ids (enum MatchPlayerRoleType) to include in this query,
excluding all results that do not include one of these roles. Core = 0, Light
Support = 1, Hard Support = 2
"""
roleIds: [Int]
"""
An array of award ids to include in this query, excluding all results that do
not include one of these awards. The player award types include MVP (1), Top
Core (2), and Top Support (3).
"""
awardIds: [Int]
"""Include all matches that are party games, excluding all others."""
isParty: Boolean
"""Whether the specified player was on Radiant or not."""
isRadiant: Boolean
"""
Matches where the user is in a party with this many friends. Automatically applys IsParty = true. This is an array input.
"""
partyCounts: [Int]
"""
STRATZ gives 3 players in each game an award for playing well. MVP, Top Core,
Top Support (enum MatchPlayerAwardType). If you include a query of
'steamAccountId' then it will require that player to have gotten at least 1 of
these awards for each match result.
"""
hasAward: Boolean
"""
An array of steam account ids found on your team to include in this query,
excluding all results that do not include one of these steam accounts found on your team.
"""
withFriendSteamAccountIds: [Long]
"""
An array of hero ids found on your team to include in this query, excluding
all results that do not include one of these heroes found on your team.
"""
withFriendHeroIds: [Int]
}
type PlayerHeroesPerformanceScoreType {
id: Int!
score: Float!
matchCount: Int!
winCount: Int!
imp: Int
}
type PlayerHeroesPerformanceType {
heroId: Short!
hero: HeroType
winCount: Int!
kDA: Float
avgKills: Float
avgDeaths: Float
avgAssists: Float
duration: Int!
imp: Int
best: Float
matchCount: Int!
goldPerMinute: Int!
experiencePerMinute: Int!
laneScore: [PlayerHeroesPerformanceScoreType]
roleScore: [PlayerHeroesPerformanceScoreType]
lastPlayedDateTime: Long
}
type PlayerHeroPerformanceLongestStreakType {
heroId: Short
longestStreak: Int
currentStreak: Int
}
input PlayerHeroPerformanceMatchesRequestType {
"""An array of Dota match ids to include in this query."""
matchIds: [Long]
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
leagueId: Int
"""
A series id to include in this query, excluding all results that do not have this series id.
"""
seriesId: Long
"""
A team id to include in this query, excluding all results that do not have this team id.
"""
teamId: Int
"""
Whether STRATZ has yet parsed the data of the match or not, represented in a boolean.
"""
isParsed: Boolean
"""Whether the match is a league match or not."""
isLeague: Boolean
"""Whether the match has a team assigned or not."""
isTeam: Boolean
"""
Requests matches where the match is at least this many minutes. Default is null and there is no minimum.
"""
minDuration: Int
"""
Requests matches where the match is no longer than this many minutes. Default is null and there is no maximum.
"""
maxDuration: Int
"""
The start DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
startDateTime: Long
"""
The end DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
endDateTime: Long
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [Byte]
"""
An array of lobby type ids to include in this query, excluding all results that do not include one of these lobby types.
"""
lobbyTypeIds: [Byte]
"""
An array of game version ids to include in this query, excluding all results
that do not include one of these game versions.
"""
gameVersionIds: [Int]
"""
Requests matches where the match is at least than this input. See GameVersion
API call for a list of patch ids. Default is null and there is no minimum.
"""
minGameVersionId: Int
"""
Requests matches where the match is lower than this input. See GameVersion
API call for a list of patch ids. Default is null and there is no maximum.
"""
maxGameVersionId: Int
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [Int]
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
rankIds: [Int]
"""
STRATZ applys an formula to determine if a game is considered 'real'. We
attempt to detect AFKers, leavers, feeders, etc. 'IsStats' will return matches
that do not include any of these poor quality matches.
"""
isStats: Boolean
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""
An array of lane ids (enum MatchLaneType) to include in this query, excluding
all results that do not include one of these lanes. Roaming = 0, SafeLane = 1,
Midlane = 2, Offlane = 3, Jungle = 4
"""
laneIds: [Int]
"""
An array of role ids (enum MatchPlayerRoleType) to include in this query,
excluding all results that do not include one of these roles. Core = 0, Light
Support = 1, Hard Support = 2
"""
roleIds: [Int]
"""
An array of award ids to include in this query, excluding all results that do
not include one of these awards. The player award types include MVP (1), Top
Core (2), and Top Support (3).
"""
awardIds: [Int]
"""Include all matches that are party games, excluding all others."""
isParty: Boolean
"""Whether the specified player was on Radiant or not."""
isRadiant: Boolean
"""
Matches where the user is in a party with this many friends. Automatically applys IsParty = true. This is an array input.
"""
partyCounts: [Int]
"""
STRATZ gives 3 players in each game an award for playing well. MVP, Top Core,
Top Support (enum MatchPlayerAwardType). If you include a query of
'steamAccountId' then it will require that player to have gotten at least 1 of
these awards for each match result.
"""
hasAward: Boolean
"""
An array of steam account ids found on your team to include in this query,
excluding all results that do not include one of these steam accounts found on your team.
"""
withFriendSteamAccountIds: [Long]
"""
An array of hero ids found on your team to include in this query, excluding
all results that do not include one of these heroes found on your team.
"""
withFriendHeroIds: [Int]
}
type PlayerLeaderBoardByHeroType {
heroId: Short
seasonBracket: Byte
steamAccountId: Long
steamAccount: SteamAccountType
impAverage: Byte
role: MatchPlayerRoleType
lane: MatchLaneType
wins: Byte
losses: Byte
winStreak: Byte
regionId: Byte
changeInRanking: Short
createdDateTime: Long
}
input PlayerMatchesGroupByRequestType {
"""
Only used when doing matchesGroupBy endpoint. This is how the data will be grouped and makes your return Id field.
"""
groupBy: FindMatchPlayerGroupBy!
"""An array of Dota match ids to include in this query."""
matchIds: [Long]
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
leagueId: Int
"""
A series id to include in this query, excluding all results that do not have this series id.
"""
seriesId: Long
"""
A team id to include in this query, excluding all results that do not have this team id.
"""
teamId: Int
"""
Whether STRATZ has yet parsed the data of the match or not, represented in a boolean.
"""
isParsed: Boolean
"""
The start DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
startDateTime: Long
"""
The end DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
endDateTime: Long
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [Byte]
"""
An array of lobby type ids to include in this query, excluding all results that do not include one of these lobby types.
"""
lobbyTypeIds: [Byte]
"""
An array of game version ids to include in this query, excluding all results
that do not include one of these game versions.
"""
gameVersionIds: [Int]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [Int]
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
rankIds: [Int]
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being unknown
MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketIds: [Int]
"""
STRATZ applys an formula to determine if a game is considered 'real'. We
attempt to detect AFKers, leavers, feeders, etc. 'IsStats' will return matches
that do not include any of these poor quality matches.
"""
isStats: Boolean
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""
An array of lane ids (enum MatchLaneType) to include in this query, excluding
all results that do not include one of these lanes. Roaming = 0, SafeLane = 1,
Midlane = 2, Offlane = 3, Jungle = 4
"""
laneIds: [Int]
"""
An array of role ids (enum MatchPlayerRoleType) to include in this query,
excluding all results that do not include one of these roles. Core = 0, Light
Support = 1, Hard Support = 2
"""
roleIds: [Int]
"""
An array of award ids to include in this query, excluding all results that do
not include one of these awards. The player award types include MVP (1), Top
Core (2), and Top Support (3).
"""
awardIds: [Int]
"""Include all matches that are party games, excluding all others."""
isParty: Boolean
"""
STRATZ gives 3 players in each game an award for playing well. MVP, Top Core,
Top Support (enum MatchPlayerAwardType). If you include a query of
'steamAccountId' then it will require that player to have gotten at least 1 of
these awards for each match result.
"""
hasAward: Boolean
"""
An array of steam account ids found on your team to include in this query,
excluding all results that do not include one of these steam accounts found on your team.
"""
withFriendSteamAccountIds: [Long]
"""
An array of hero ids found on your team to include in this query, excluding
all results that do not include one of these heroes found on your team.
"""
withFriendHeroIds: [Int]
}
input PlayerMatchesRequestType {
"""An array of Dota match ids to include in this query."""
matchIds: [Long]
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
leagueId: Int
"""
A series id to include in this query, excluding all results that do not have this series id.
"""
seriesId: Long
"""
A team id to include in this query, excluding all results that do not have this team id.
"""
teamId: Int
"""
When requesting matches with a primary SteamAccountId, this will ensure that player is on specific team Id being sent in.
"""
teamIdSteamAccount: Int
"""
Whether STRATZ has yet parsed the data of the match or not, represented in a boolean.
"""
isParsed: Boolean
"""
The start DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
startDateTime: Long
"""
The end DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
endDateTime: Long
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [Byte]
"""
An array of lobby type ids to include in this query, excluding all results that do not include one of these lobby types.
"""
lobbyTypeIds: [Byte]
"""
An array of game version ids to include in this query, excluding all results
that do not include one of these game versions.
"""
gameVersionIds: [Int]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [Int]
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
rankIds: [Int]
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-8 with 0 being unknown
MMR and 1-8 is low to high MMR brackets. Example 7 is Divine.
"""
bracketIds: [Int]
"""
STRATZ applys an formula to determine if a game is considered 'real'. We
attempt to detect AFKers, leavers, feeders, etc. 'IsStats' will return matches
that do not include any of these poor quality matches.
"""
isStats: Boolean
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""
An array of lane ids (enum MatchLaneType) to include in this query, excluding
all results that do not include one of these lanes. Roaming = 0, SafeLane = 1,
Midlane = 2, Offlane = 3, Jungle = 4
"""
laneIds: [Int]
"""
An array of role ids (enum MatchPlayerRoleType) to include in this query,
excluding all results that do not include one of these roles. Core = 0, Light
Support = 1, Hard Support = 2
"""
roleIds: [Int]
"""
An array of award ids to include in this query, excluding all results that do
not include one of these awards. The player award types include MVP (1), Top
Core (2), and Top Support (3).
"""
awardIds: [Int]
"""Include all matches that are party games, excluding all others."""
isParty: Boolean
"""
STRATZ gives 3 players in each game an award for playing well. MVP, Top Core,
Top Support (enum MatchPlayerAwardType). If you include a query of
'steamAccountId' then it will require that player to have gotten at least 1 of
these awards for each match result.
"""
hasAward: Boolean
"""
An array of steam account ids found on your team to include in this query,
excluding all results that do not include one of these steam accounts found on your team.
"""
withFriendSteamAccountIds: [Long]
"""
An array of hero ids found on your team to include in this query, excluding
all results that do not include one of these heroes found on your team.
"""
withFriendHeroIds: [Int]
"""
Requests matches where the match is at least than this input. See GameVersion
API call for a list of patch ids. Default is null and there is no minimum.
"""
minGameVersionId: Int
"""
Requests matches where the match is lower than this input. See GameVersion
API call for a list of patch ids. Default is null and there is no maximum.
"""
maxGameVersionId: Int
"""
Determines if you want a single player returned, only the player by
SteamAccountId, or if you want all 10 players in the match.
"""
playerList: FindMatchPlayerList
"""
The amount of matches to skip before collecting your query. Hint: Paging
"""
skip: Int
"""The amount of matches to have returned in your query. Max 1000"""
take: Int
"""Only return matches before this match id. Can be used instead of Skip."""
before: Long
"""Only return matches after this match id. Can be used instead of Skip."""
after: Long
"""In what order the returned data will come in."""
orderBy: FindMatchPlayerOrderBy
}
type PlayerPerformanceCompositionHeroType {
heroId: Short
matchCount: Int!
winCount: Int!
}
type PlayerPerformanceCompositionType {
allies: [PlayerPerformanceCompositionHeroType]
foes: [PlayerPerformanceCompositionHeroType]
}
input PlayerPerformanceMatchesRequestType {
"""An array of Dota match ids to include in this query."""
matchIds: [Long]
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
leagueId: Int
"""
A series id to include in this query, excluding all results that do not have this series id.
"""
seriesId: Long
"""
A team id to include in this query, excluding all results that do not have this team id.
"""
teamId: Int
"""
Whether STRATZ has yet parsed the data of the match or not, represented in a boolean.
"""
isParsed: Boolean
"""Whether the match is a league match or not."""
isLeague: Boolean
"""Whether the match has a team assigned or not."""
isTeam: Boolean
"""
The start DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
startDateTime: Long
"""
The end DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
endDateTime: Long
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [Byte]
"""
An array of lobby type ids to include in this query, excluding all results that do not include one of these lobby types.
"""
lobbyTypeIds: [Byte]
"""
An array of game version ids to include in this query, excluding all results
that do not include one of these game versions.
"""
gameVersionIds: [Int]
"""
When searching for a league, the tier the league must be in. Tiers: Amateur =
1, Professional = 2, Premium = 3, Pro Circuit = 4, Main Event = 5
"""
tier: [Int]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [Int]
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
rankIds: [Int]
"""
STRATZ applys an formula to determine if a game is considered 'real'. We
attempt to detect AFKers, leavers, feeders, etc. 'IsStats' will return matches
that do not include any of these poor quality matches.
"""
isStats: Boolean
"""
An array of lane ids (enum MatchLaneType) to include in this query, excluding
all results that do not include one of these lanes. Roaming = 0, SafeLane = 1,
Midlane = 2, Offlane = 3, Jungle = 4
"""
laneIds: [Int]
"""
An array of role ids (enum MatchPlayerRoleType) to include in this query,
excluding all results that do not include one of these roles. Core = 0, Light
Support = 1, Hard Support = 2
"""
roleIds: [Int]
"""
An array of award ids to include in this query, excluding all results that do
not include one of these awards. The player award types include MVP (1), Top
Core (2), and Top Support (3).
"""
awardIds: [Int]
"""Include all matches that are party games, excluding all others."""
isParty: Boolean
"""
STRATZ gives 3 players in each game an award for playing well. MVP, Top Core,
Top Support (enum MatchPlayerAwardType). If you include a query of
'steamAccountId' then it will require that player to have gotten at least 1 of
these awards for each match result.
"""
hasAward: Boolean
"""Whether the match was a victory or not for the specified player."""
isVictory: Boolean
"""Whether the specified player was on Radiant or not."""
isRadiant: Boolean
"""
An array of steam account ids found on your team to include in this query,
excluding all results that do not include one of these steam accounts found on your team.
"""
withFriendSteamAccountIds: [Long]
"""
An array of hero ids found on your team to include in this query, excluding
all results that do not include one of these heroes found on your team.
"""
withFriendHeroIds: [Int]
}
type PlayerPerformancePositionObjectType {
laneType: Byte
laneMatchCount: Int!
laneWinCount: Int!
}
type PlayerPerformancePositionType {
roleType: Byte
roleMatchCount: Int!
roleWinCount: Int!
lanes: [PlayerPerformancePositionObjectType]
}
type PlayerPerformanceType {
heroId: [Short]
hero: HeroType
matchCount: Int!
winCount: Int!
streak: Int!
maxStreak: Int!
imp: Int
rank: Int
mmrTier: Int!
mmrBracket: Int!
awardMatchCount: Int!
mvpCount: Int!
topCoreCount: Int!
topSupportCount: Int!
kills: Int
killsAverage: Decimal
deaths: Int
deathsAverage: Decimal
assists: Int
assistsAverage: Decimal
cs: Int
csAverage: Decimal
gpm: Int
gpmAverage: Decimal
xpm: Int
xpmAverage: Decimal
composition: PlayerPerformanceCompositionType
position: [PlayerPerformancePositionType]
"""
Contains an array of 6 items which are listed as index 0 - 1st Pick, Index 1 -
Pick 2nd, 3rd, Index 2 - Pick 4th, 5th, Index 3 - Pick 6th, Pick 7th, Index 4
- Pick 8th, 9ths, Index 5 - Pick 10th
"""
pickOrder: [Int]
}
type PlayerPlayedWithProPlayerMatchType {
matchId: Long
date: Long
isVictory: Boolean!
}
type PlayerPlayedWithProPlayerType {
steamId: Long
name: String!
with: PlayerPlayedWithProPlayerMatchType
vs: PlayerPlayedWithProPlayerMatchType
}
type PlayerPlayedWithProTeamType {
teamId: Int!
teamLogo: String!
teamName: String!
players: [PlayerPlayedWithProPlayerType]
}
type PlayerPlayedWithProType {
playedCount: Int!
totalCount: Int!
casters: [PlayerPlayedWithProPlayerType]
teams: [PlayerPlayedWithProTeamType]
internationalWinners: [PlayerPlayedWithProTeamType]
}
type PlayerType {
steamAccountId: Long
identity: CaptainJackIdentityPublicProfileType
steamAccount: SteamAccountType
matchCount: Int
winCount: Int
imp: Int
lastMatchDate: Long
lastMatchRegionId: Byte
ranks(
"""An array of season in which Dota creates each year for ranks."""
seasonRankIds: [Byte]
): [SteamAccountSeasonRankType]
leaderboardRanks(
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): [SteamAccountSeasonLeaderBoardRankType]
languageCodes: [String]
badges: [PlayerBadgeType]
names: [SteamAccountNameType]
behaviorScore: Short
team: SteamAccountTeamMemberType
guildMember: GuildMemberType
activity: PlayerActivitySummaryType
isFollowed: Boolean
simpleSummary: PlayerCardHoverType
performance: PlayerPerformanceType
heroPerformance(
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
"""
The request object used to filter matches returned based on input criteria.
"""
request: PlayerHeroPerformanceMatchesRequestType!
): PlayerPerformanceType
"""
Returns a list of all heroes played by the steam account id and contains data about the average performance.
"""
heroesPerformance(
"""
The request object used to filter matches returned based on input criteria.
"""
request: PlayerHeroPerformanceMatchesRequestType
): [PlayerHeroesPerformanceType]
"""
Picked the top pros and annoucers and determines if you ever have played with them and when.
"""
playedWithPro: [PlayerPlayedWithProType]
"""
Find match details by steam account id. steamAccountId is a required input field.
"""
matches(
"""
The request object used to filter matches returned based on input criteria.
"""
request: PlayerMatchesRequestType!
): [MatchType]
"""
Find match details by steam account id. The return is modified to group the data by the GroupBy parameter.
"""
matchesGroupBy(
"""
The request object used to filter matches returned based on input criteria.
"""
request: PlayerMatchesGroupByRequestType!
): [MatchGroupByType]
"""
Gets the players of Dota which have DotaPlus and have a high level hero.
"""
dotaPlus: [HeroDotaPlusLeaderboardRankType]
"""
A list of the current Streak and the Longest Streak for each Hero by a Player.
"""
heroStreaks(
"""
The request object used to filter matches returned based on input criteria.
"""
request: PlayerMatchesRequestType
): [PlayerHeroPerformanceLongestStreakType]
}
type PlayerUpdateAttributeDetailType {
time: Int!
agi: Int!
int: Int!
str: Int!
}
type PlayerUpdateBattleDetailType {
time: Int!
damageMinMax: Int!
damageBonus: Int!
hpRegen: Int!
mpRegen: Int!
}
type PlayerUpdateGoldDetailType {
time: Int!
gold: Int!
unreliableGold: Int!
networth: Int!
networthDifference: Int!
}
type PlayerUpdateHealthDetailType {
time: Int!
hp: Int!
maxHp: Int!
mp: Int!
maxMp: Int!
}
type PlayerUpdateLevelDetailType {
time: Int!
level: Int!
}
type PlayerUpdatePositionDetailType {
time: Int!
x: Int!
y: Int!
}
input PlusDraftMissingLetterPlayerObjectType {
"""The slot of player. It is required to be in order from 0-9."""
slot: Int!
"""
When a player has selected a hero, this is the id. If a null is sent, we will send back a hero list of possible heroes.
"""
heroId: Short
"""
The rank this played is. In the event he is anonymous, use the lowest rank player in the game.
"""
rank: Int
"""
The lane this player will play. If a null is sent, we will assign the best possible lane.
"""
position: MatchPlayerPositionType
"""
The order in which this player has picked. If a person has not picked, please send null. Send in order of 0-9.
"""
order: Byte
"""
To determine the missing letter, isPicking will determine the score before the
hero was selected and after the hero is selected. Only 1 person can have
isPicking = true.
"""
isPicking: Boolean
}
input PlusDraftMissingLetterRequestType {
"""A list of all of the banned hero ids in the draft."""
bans: [Short]
"""A boolean representing if Radiant is first pick or not."""
isRadiantFirstPick: Boolean!
"""
The game mode for this type. We only support All Pick and Ranked All Pick. In the future Captain's Mode will be supported.
"""
gameMode: Int!
"""A list of player request objects."""
players: [PlusDraftMissingLetterPlayerObjectType]!
"""
Due to Valve changing the way Picking has happened in the past, we require the
GameVersionId so we know what version of the network to call.
"""
gameVersionId: Short!
}
type PlusDraftPlayerHeroObjectType {
heroId: Short
pickValue: Decimal
winValues: [Decimal]
score: Float
letter: PlusLetterType
}
input PlusDraftPlayerRequestType {
"""
The steam id of the player. This will allow us to find player history on the player if he is not anonymous.
"""
steamAccountId: Long
"""The slot of player. It is required to be in order from 0-9."""
slot: Int!
"""
When a player has selected a hero, this is the id. If a null is sent, we will send back a hero list of possible heroes.
"""
heroId: Short
"""
This is used when a player has not selected a hero, but wishes to play a hero.
It will form the draft around the fact that when its his turn to pick, it will be that hero.
"""
suggestHeroId: Short
"""
The rank this played is. In the event he is anonymous, use the lowest rank player in the game.
"""
rank: Byte
"""
The role this player will play. If a null is sent, we will assign the best possible role.
"""
position: MatchPlayerPositionType
"""
The role this player will play. If a null is sent, we will assign the best possible role.
"""
order: Byte
}
type PlusDraftPlayerType {
slot: Byte
position: MatchPlayerPositionType
positionValues: [Decimal]
heroes: [PlusDraftPlayerHeroObjectType]
}
input PlusDraftRequestType {
"""
The match Id or the lobby id of the match your sending. This will cache data for the next calls to be quicker.
"""
matchId: Long!
"""A list of all of the banned hero ids in the draft."""
bans: [Short]
"""A boolean representing if Radiant is first pick or not."""
isRadiantFirstPick: Boolean!
"""
The game mode for this type. We only support All Pick and Ranked All Pick. In the future Captain's Mode will be supported.
"""
gameMode: Int!
"""A list of player request objects."""
players: [PlusDraftPlayerRequestType]!
"""
Due to Valve changing the way Picking has happened in the past, we require the
GameVersionId so we know what version of the network to call.
"""
gameVersionId: Short!
}
type PlusDraftType {
midOutcome: Decimal
safeOutcome: Decimal
offOutcome: Decimal
winValues: [Decimal]
durationValues: [Decimal]
players: [PlusDraftPlayerType]
}
type PlusHeroTeamStatusAveragesType {
cs: Decimal
deaths: Decimal
towerDamage: Decimal
physicalDamage: Decimal
magicalDamage: Decimal
physicalDamageReceived: Decimal
magicalDamageReceived: Decimal
disableCount: Decimal
disableDuration: Decimal
stunCount: Decimal
stunDuration: Decimal
slowCount: Decimal
slowDuration: Decimal
healingAllies: Decimal
purgeModifiers: Decimal
weakenCount: Decimal
weakenDuration: Decimal
pureDamageReceived: Decimal
pureDamage: Decimal
}
type PlusHeroTeamStatusDetailType {
heroId: Int!
basicBracket: RankBracketHeroTimeDetail
position: MatchPlayerPositionType
averages: PlusHeroTeamStatusAveragesType
}
type PlusHoverBanType {
heroId: Short
score: Decimal
flags: Byte
}
type PlusHoverType {
players: [PlusPlayerHoverType]
bans: [PlusHoverBanType]
}
enum PlusLetterType {
F
D
C
B
A
S
}
type PlusPlayerHoverHeroType {
heroId: Short
winCount: Int!
lossCount: Int!
}
type PlusPlayerHoverPlayerType {
steamAccountId: Long
matchCount: Int!
winCount: Int!
lastMatchDateTime: Long
}
input PlusPlayerHoverRequestType {
"""
An array of steam account ids to limit the query to only return matches with
these steam account ids. There is a maximum of 10 steam account ids allowed.
"""
steamAccountIds: [Long]!
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [Byte]
"""
An array of lobby type ids to include in this query, excluding all results that do not include one of these lobby types.
"""
lobbyTypeIds: [Byte]
"""The amount of matches to have returned in your query. Max 1000"""
take: Int
"""
Should our Networks attempt to try to make Radiant Win the draft or Dire.
"""
shouldRadiantWin: Boolean
}
type PlusPlayerHoverType {
steamAccount: SteamAccountType
matchCount: Int
winCount: Int!
coreCount: Int
supportCount: Int
imp: Int
heroes: [PlusPlayerHoverHeroType]
activity: Byte
languageCode: [String]
friends: [PlusPlayerHoverPlayerType]
enemies: [PlusPlayerHoverPlayerType]
lastMatchDateTime: Long
heroesExperience: [Short]
behaviorScore: Short
}
type PlusQuery {
"""
The main call for STRATZ Plus. It will return back probability data based on a draft of players that were given.
"""
draft(
"""
The main call for STRATZ Plus. It will return back probability data based on a draft of players that were given.
"""
request: PlusDraftRequestType!
): PlusDraftType
"""
Gets a list of data of the players in the match, can send a max of 10 people.
If a user blocks their data on STRATZ, that data will not be returned.
"""
playerMatchHistory(
"""The request object that will filter your PlusPlayerHover data."""
request: PlusPlayerHoverRequestType!
): PlusHoverType
"""
Returns back basic data about the user playing a specific hero. Used in the Draft app to show post-pick data.
"""
playerHeroHighlight(
"""
The Steam Account Id to look up. If the person is anonymous, you will get a null.
"""
steamAccountId: Long!
"""
The hero id to include in this query, excluding all results that do not include this hero.
"""
heroId: Short!
): PlayerDraftHeroHighlightType
"""
Returns a set of events which contain each hero and their averages in each of
the respected categories, sorted by rank bracket.
"""
teamHeroStatus(
"""
The id of the rank bracket to include in this query, excluding all results that do not include this rank bracket.
"""
rankBracket: RankBracketHeroTimeDetail!
): [PlusHeroTeamStatusDetailType]
"""
To save CPU cycles we limit the amount of heroes a person can play. If a
player picks a hero outside the default list, we have no idea how good the
hero would of been. You can call this endpoint to update the grade letter for
that hero selection.
"""
draftMissingLetter(request: PlusDraftMissingLetterRequestType!): PlusLetterType
}
type ProPlayerFollowType {
steamAccountId: Long
activity: Int
matchCount: Int!
coreCount: Int!
supportCount: Int!
steamAccount: SteamAccountType
}
type ProSteamAccountType {
id: Long
name: String
realName: String
fantasyRole: Byte
teamId: Int
sponsor: String
isLocked: Boolean!
isPro: Boolean!
totalEarnings: Int!
birthday: Long
romanizedRealName: String
roles: Byte
aliases: [String]
statuses: Byte
twitterLink: String
twitchLink: String
instagramLink: String
vkLink: String
youTubeLink: String
facebookLink: String
weiboLink: String
signatureHeroes: [String]
position: MatchPlayerPositionType
countries: [String]
team: TeamType
}
type RabbitDetailType {
lastUpdated: Long
isOnline: Boolean!
matchHistory: RabbitQueueDetailType
matchDetail: RabbitQueueDetailType
matchDetailDelay: RabbitQueueDetailType
matchStats: RabbitQueueDetailType
steamAccount: RabbitQueueDetailType
matchLive: RabbitQueueDetailType
}
type RabbitQueueDetailType {
queueCount: Int!
queueInRate: Decimal
queueOutRate: Decimal
}
enum RankBracket {
UNCALIBRATED
HERALD
GUARDIAN
CRUSADER
ARCHON
LEGEND
ANCIENT
DIVINE
IMMORTAL
}
enum RankBracketHeroTimeDetail {
UNCALIBRATED
HERALD_GUARDIAN
CRUSADER_ARCHON
LEGEND_ANCIENT
DIVINE_IMMORTAL
FILTERED
ALL
}
type RecentHighImpType {
matchId: Long
imp: Short
match: MatchType
}
type RecentRampageType {
matchId: Long
heroId: Short
hero: HeroType
heroesKilled: [Short]
match: MatchType
}
type RecentWinStreakType {
matchId: Long
winStreakCount: Int
"""The status of the win streak, Ended (0) or Ongoing (1)."""
status: Int
firstWonMatchDateTime: DateTime
lastWonMatchDateTime: DateTime
match: MatchType
}
type RegionType {
id: Byte
name: String
clientName: String
displayName: String
leaderboardDivision: String
langKey: String
latitude: Decimal
longitude: Decimal
code: String
matchGroup: Byte
weekendTourneyDivision: String
}
type RoleType {
roleId: Short
name: String
langKey: String
}
enum RuneAction {
PICKUP
BOTTLE
}
enum RuneEnums {
HASTE
REGEN
DOUBLE_DAMAGE
ILLUSION
INVISIBILITY
BOUNTY
ARCANE
WATER
}
enum Search {
PLAYERS
MATCHES
LEAGUES
TEAMS
PRO_PLAYERS
CASTERS
GUILDS
}
type SearchType {
players: [SteamAccountType]
matches: [MatchType]
leagues: [LeagueType]
teams: [TeamType]
proPlayers: [SteamAccountType]
casters: [SteamAccountType]
guild: GuildType
direTideMatches: [DireTide2020CustomGameMatchType]
}
enum Series {
BEST_OF_ONE
BEST_OF_THREE
BEST_OF_FIVE
BEST_OF_TWO
}
type SeriesType {
id: Long!
type: Series
teamOneId: Int
teamTwoId: Int
leagueId: Int
teamOneWinCount: Short
teamTwoWinCount: Short
winningTeamId: Int
lastMatchDateTime: Long
matches: [MatchType]
teamOne: TeamType
teamTwo: TeamType
league: LeagueType
}
type ServerStatusType {
isRedisOnline: Boolean!
steamApiDetail: SteamApiDetailType
rabbitDetail: RabbitDetailType
}
scalar Short
type SpiritBearInventoryObjectType {
itemId: Short
}
type SpiritBearInventoryType {
time: Int!
item0: SpiritBearInventoryObjectType
item1: SpiritBearInventoryObjectType
item2: SpiritBearInventoryObjectType
item3: SpiritBearInventoryObjectType
item4: SpiritBearInventoryObjectType
item5: SpiritBearInventoryObjectType
backPack0: SpiritBearInventoryObjectType
backPack1: SpiritBearInventoryObjectType
backPack2: SpiritBearInventoryObjectType
teleport0: SpiritBearInventoryObjectType
neutral0: SpiritBearInventoryObjectType
}
type SteamAccountBattlePassType {
steamId: Long
eventId: Byte
level: Int
}
type SteamAccountByRankType {
rank: Byte
playerCount: Int
}
type SteamAccountNameType {
name: String
lastSeenDateTime: Long
}
type SteamAccountSeasonActiveLeaderboardRankType {
steamAccountId: Long
steamAccount: SteamAccountType
avgImp: Short
divisionId: LeaderboardDivision
lastUpdateDateTime: Long
matchCount: Short
position: MatchPlayerPositionType
positionValue: Byte
rank: Short
rankShift: Short
topHeroOne: Short
topHeroTwo: Short
topHeroThree: Short
winRate: Byte
}
type SteamAccountSeasonLeaderBoardRankType {
steamAccountId: Long
seasonRankId: Byte
asOfDateTime: Long
seasonLeaderBoardDivisionId: Byte
rank: Short
}
type SteamAccountSeasonRankType {
seasonRankId: Byte
asOfDateTime: Long
isCore: Boolean
rank: Byte
}
type SteamAccountTeamMemberType {
steamAccountId: Long
steamAccount: SteamAccountType
player: PlayerType
teamId: Long
firstMatchId: Long
firstMatchDateTime: Long
lastMatchId: Long
lastMatchDateTime: Long
team: TeamType
}
type SteamAccountType {
id: Long
profileUri: String!
realName: String
timeCreated: Long
countryCode: String
stateCode: String
cityId: Int
communityVisibleState: Int
name: String
lastLogOff: Long
avatar: String
primaryClanId: Long
isDotaPlusSubscriber: Boolean
isAnonymous: Boolean!
isStratzAnonymous: Boolean!
seasonRank: Byte
seasonLeaderboardRank: Short
seasonLeaderboardDivisionId: Byte
proSteamAccount: ProSteamAccountType
smurfFlag: Byte
lastMatchDateTime: Long
lastMatchRegionId: Byte
battlepass: [SteamAccountBattlePassType]
}
type SteamApiDetailOutageType {
secondsOffline: Int
dateTime: Long
}
type SteamApiDetailType {
isOnline: Boolean!
outages: [SteamApiDetailOutageType]
}
enum StratzApiType {
DATA_COLLECTOR
MULTI_KEY
}
type StratzQuery {
admin: AdminQuery
user: UserQuery
page: PageQuery
"""Returns a list of Stratz blogs."""
blogs(
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): [BlogType]
"""Returns a list of News Items released by Dota 2 directly."""
news: [NewsItemType]
"""
Home page data that shows the total count of players and matches in our database.
"""
ticker: [Int]
"""
Shows the availability to major components required in the STRATZ foundation.
"""
status: ServerStatusType
"""
Returns a list of languages and an Id for reference. This is used throughout the site.
"""
languages: [LanguageType]
"""Returns a list of Stratz blogs."""
matchRetry(
"""
The id of the Dota match to include in this query, excluding all results that do not include this id.
"""
id: Long!
): Boolean
search(request: FilterSearchRequestType): SearchType
}
enum Streak {
MULTI_KILL
KILL_STREAK
}
type StreakEventType {
time: Int!
heroId: Short
type: Streak
value: Int!
}
enum TableCalculateEnum {
AVERAGE
MEDIAN
HIGHEST
LOWEST
}
input TeamMatchesRequestType {
"""
The steam account id to include in this query, excluding all results that do not have this steam account id.
"""
steamAccountId: Long
"""An array of Dota match ids to include in this query."""
matchIds: [Long]
"""
A league id to include in this query, excluding all results that do not have this league id.
"""
leagueId: Int
"""
A series id to include in this query, excluding all results that do not have this series id.
"""
seriesId: Long
"""
Whether STRATZ has yet parsed the data of the match or not, represented in a boolean.
"""
isParsed: Boolean
"""
The start DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
startDateTime: Long
"""
The end DateTime of the Dota match(es) to include in this query, represented in unix seconds.
"""
endDateTime: Long
"""
An array of game mode ids to include in this query, excluding all results that do not include one of these game modes.
"""
gameModeIds: [Byte]
"""
An array of lobby type ids to include in this query, excluding all results that do not include one of these lobby types.
"""
lobbyTypeIds: [Byte]
"""
An array of game version ids to include in this query, excluding all results
that do not include one of these game versions.
"""
gameVersionIds: [Int]
"""
An array of region ids to include in this query, excluding all results that do not include one of these regions.
"""
regionIds: [Int]
"""
An array of rank ids to include in this query, excluding all results that do
not include one of these ranks. The value ranges from 0-80 with 0 being
unknown MMR and 1-80 is low to high MMR brackets. Example: 74 is Divine with 4 Stars.
"""
rankIds: [Int]
"""
STRATZ applys an formula to determine if a game is considered 'real'. We
attempt to detect AFKers, leavers, feeders, etc. 'IsStats' will return matches
that do not include any of these poor quality matches.
"""
isStats: Boolean
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""
An array of lane ids (enum MatchLaneType) to include in this query, excluding
all results that do not include one of these lanes. Roaming = 0, SafeLane = 1,
Midlane = 2, Offlane = 3, Jungle = 4
"""
laneIds: [Int]
"""
An array of role ids (enum MatchPlayerRoleType) to include in this query,
excluding all results that do not include one of these roles. Core = 0, Light
Support = 1, Hard Support = 2
"""
roleIds: [Int]
"""
An array of award ids to include in this query, excluding all results that do
not include one of these awards. The player award types include MVP (1), Top
Core (2), and Top Support (3).
"""
awardIds: [Int]
"""Include all matches that are party games, excluding all others."""
isParty: Boolean
"""
STRATZ gives 3 players in each game an award for playing well. MVP, Top Core,
Top Support (enum MatchPlayerAwardType). If you include a query of
'steamAccountId' then it will require that player to have gotten at least 1 of
these awards for each match result.
"""
hasAward: Boolean
"""
An array of steam account ids found on your team to include in this query,
excluding all results that do not include one of these steam accounts found on your team.
"""
withFriendSteamAccountIds: [Long]
"""
An array of hero ids found on your team to include in this query, excluding
all results that do not include one of these heroes found on your team.
"""
withFriendHeroIds: [Int]
"""
The amount of matches to skip before collecting your query. Hint: Paging
"""
skip: Int!
"""The amount of matches to have returned in your query. Max 1000"""
take: Int!
}
type TeamPrizeType {
leagueId: Int
league: LeagueType
teamId: Int
team: TeamType
standing: Int
prizeAmount: Float
}
type TeamType {
id: Int!
name: String
tag: String
dateCreated: Long
isPro: Boolean
isLocked: Boolean
countryCode: String
url: String
logo: String
baseLogo: String
bannerLogo: String
winCount: Int
lossCount: Int
lastMatchDateTime: Long
countryName: String
coachSteamAccountId: Long
coachSteamAccount: SteamAccountType
"""Find match details by leauge id."""
matches(
"""
The request object used to filter matches returned based on input criteria.
"""
request: TeamMatchesRequestType!
): [MatchType]
"""Find match details by series id."""
series(
"""
The request object used to filter Series returned based on input criteria.
"""
request: FilterSeriesRequestType!
): [SeriesType]
"""A List of all the players for a team."""
members(
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): [SteamAccountTeamMemberType]
"""
Find match details by team id. The return is modified to group the data by the GroupBy parameter.
"""
matchesGroupBy(
"""
The request object used to filter matches returned based on input criteria.
"""
request: PlayerMatchesGroupByRequestType!
): [MatchGroupByType]
"""
Find match details by team id. The return is modified to group the data by the GroupBy parameter.
"""
heroPickBan: [MatchPickBanGroupByType]
}
type TI2020CustomGameDepthListAscensionAbilitiesObjectType {
type: TI2020CustomGameDepthListAscensionAbilitiesType
abilityId: Short
modifierId: Short
}
enum TI2020CustomGameDepthListAscensionAbilitiesType {
ASCENSION_ARMOR
ASCENSION_ARMOR_SAPPING
ASCENSION_ATTACK_SPEED
ASCENSION_BOMB
ASCENSION_CHILLING_TOUCH
ASCENSION_CRIT
ASCENSION_DAMAGE
ASCENSION_DRUNKEN
ASCENSION_EXTRA_FAST
ASCENSION_FLICKER
ASCENSION_HEAL_SUPPRESSION
ASCENSION_MAGIC_IMMUNITY
ASCENSION_MAGIC_RESIST
ASCENSION_VAMPIRIC
ASCENSION_MAGNETIC_FIELD
ASCENSION_SILENCE
ASCENSION_FIREFLY
ASCENSION_EMBIGGEN
ASCENSION_VENGEANCE
AGHSFORT_ASCENSION_INVIS
ASCENSION_METEORIC
ASCENSION_PLASMA_FIELD
ASCENSION_BULWARK
}
enum TI2020CustomGameDepthListEncounterType {
ENCOUNTER_EMPTY_CAVERN
ENCOUNTER_EMPTY_BEACH
ENCOUNTER_BREWMASTER
ENCOUNTER_HELLBEARS_PORTAL_V_3
ENCOUNTER_PINECONES
ENCOUNTER_QUILL_BEASTS
ENCOUNTER_JUNGLE_HIJINX
ENCOUNTER_TUSK_SKELETONS
ENCOUNTER_BOMBERS
ENCOUNTER_DROW_RANGER_MINIBOSS
ENCOUNTER_WAVE_BLASTERS
ENCOUNTER_BABY_OGRES
ENCOUNTER_MORPHLINGS_B
ENCOUNTER_ZEALOT_SCARABS
ENCOUNTER_OGRE_SEALS
ENCOUNTER_WARLOCKS
ENCOUNTER_GAUNTLET
ENCOUNTER_MORTY_TRANSITION
ENCOUNTER_PENGUINS_TRANSITION
ENCOUNTER_MIRANA
ENCOUNTER_MUSHROOM_MINES
ENCOUNTER_LEGION_COMMANDER
ENCOUNTER_TROLL_WARLORD
ENCOUNTER_PUDGE_MINIBOSS
ENCOUNTER_PUCKS
ENCOUNTER_DARK_SEER
ENCOUNTER_SPECTRES
ENCOUNTER_SHADOW_DEMONS
ENCOUNTER_NAGA_SIREN
ENCOUNTER_DIRE_SIEGE
ENCOUNTER_BIG_OGRES
ENCOUNTER_DRAGON_KNIGHT
ENCOUNTER_KUNKKA_TIDE
ENCOUNTER_ALCHEMIST
ENCOUNTER_ENRAGED_WILDWINGS
ENCOUNTER_ELEMENTAL_TINY
ENCOUNTER_BANDITS
ENCOUNTER_BOMB_SQUAD
ENCOUNTER_UNDEAD_WOODS
ENCOUNTER_PHOENIX
ENCOUNTER_BROODMOTHERS
ENCOUNTER_FIRE_ROSHAN
ENCOUNTER_BOSS_VISAGE
ENCOUNTER_BOSS_TIMBERSAW
ENCOUNTER_TEMPLE_GUARDIANS
ENCOUNTER_STOREGGA
ENCOUNTER_BOSS_VOID_SPIRIT
ENCOUNTER_AGHANIM
ENCOUNTER_JUNGLE_FIRE_MAZE
ENCOUNTER_CLIFF_PASS
ENCOUNTER_HELLFIRE_CANYON
ENCOUNTER_TEMPLE_GARDEN
ENCOUNTER_CASTLE_TRAPS
ENCOUNTER_CRYPT_TRAPS
ENCOUNTER_BONUS_CHICKEN
ENCOUNTER_PANGOLIER
ENCOUNTER_ROCK_GOLEMS
ENCOUNTER_WENDIGOES
ENCOUNTER_COLLAPSED_MINES
ENCOUNTER_BEARS_LAIR
ENCOUNTER_PINE_GROVE
ENCOUNTER_SACRED_GROUNDS
ENCOUNTER_DEEP_TRAPS
ENCOUNTER_DARK_FOREST
ENCOUNTER_TROPICAL_KEEP
ENCOUNTER_SALTY_SHORE
ENCOUNTER_REGAL_TRAPS
ENCOUNTER_DESERT_OASIS
ENCOUNTER_PRISON_TRAPS
ENCOUNTER_BRIDGE_TRAPS
ENCOUNTER_MOLE_CAVE
ENCOUNTER_BLOB_DUNGEON
ENCOUNTER_MULTIPLICITY
ENCOUNTER_CATACOMBS
ENCOUNTER_SWAMP_OF_SADNESS
ENCOUNTER_CAVERN_TRAPS
ENCOUNTER_AZIYOG_CAVERNS
ENCOUNTER_BAMBOO_GARDEN
ENCOUNTER_BOG_TRAPS
ENCOUNTER_BOSS_WINTER_WYVERN
ENCOUNTER_BOSS_EARTHSHAKER
ENCOUNTER_BOSS_DARK_WILLOW
ENCOUNTER_BOSS_RIZZRICK
ENCOUNTER_PENGUIN_SLEDDING
ENCOUNTER_BONUS_MANGO_ORCHARD
ENCOUNTER_BONUS_HOOKING
ENCOUNTER_MUSHROOM_MINES_2021
ENCOUNTER_GAOLERS
ENCOUNTER_EGGS_HOLDOUT
ENCOUNTER_SPOOK_TOWN
ENCOUNTER_TEMPLE_TRAPS
ENCOUNTER_CANOPY_TRAPS
ENCOUNTER_INNER_RING
ENCOUNTER_LESHRAC
ENCOUNTER_OUTWORLD
ENCOUNTER_TWILIGHT_MAZE
ENCOUNTER_RUINOUS_TRAPS
ENCOUNTER_BEACH_TRAPS
ENCOUNTER_GOLEM_GORGE
ENCOUNTER_SNAPFIRE
ENCOUNTER_POLARITY_SWAP
ENCOUNTER_STONEHALL_CITADEL
ENCOUNTER_MYSTICAL_TRAPS
ENCOUNTER_HEDGE_TRAPS
ENCOUNTER_TEMPLE_SIEGE
ENCOUNTER_FORBIDDEN_PALACE
ENCOUNTER_CRYPT_GATE
ENCOUNTER_PUGNA_NETHER_REACHES
ENCOUNTER_MINING_TRAPS
ENCOUNTER_DUNGEON_TRAPS
ENCOUNTER_BOSS_ARC_WARDEN
ENCOUNTER_BOSS_CLOCKWERK_TINKER
ENCOUNTER_BOSS_AMOEBA
ENCOUNTER_BOSS_STOREGGA
ENCOUNTER_BONUS_LIVESTOCK
ENCOUNTER_BONUS_SMASH_CHICKENS
ENCOUNTER_BONUS_GALLERY
ENCOUNTER_TOXIC_TERRACE
ENCOUNTER_HIDDEN_COLOSSEUM
ENCOUNTER_FROZEN_RAVINE
ENCOUNTER_PALACE_TRAPS
ENCOUNTER_ICY_POOLS
ENCOUNTER_DEMONIC_WOODS
ENCOUNTER_THUNDER_MOUNTAIN
ENCOUNTER_FRIGID_PINNACLE
ENCOUNTER_VILLAGE_TRAPS
ENCOUNTER_FORSAKEN_PIT
ENCOUNTER_BURNING_MESA
ENCOUNTER_SMASHY_AND_BASHY
ENCOUNTER_PUSH_PULL
ENCOUNTER_JUNGLE_TRAPS
ENCOUNTER_TRANSITION_GATEWAY
ENCOUNTER_PRIMAL_BEAST
ENCOUNTER_EVENT_MINOR_SHARD_SHOP
ENCOUNTER_EVENT_DOOM_LIFE_SWAP
ENCOUNTER_EVENT_WARLOCK_LIBRARY
ENCOUNTER_EVENT_ALCHEMIST_NEUTRAL_ITEMS
ENCOUNTER_EVENT_BREWMASTER_BAR
ENCOUNTER_EVENT_LIFE_SHOP
ENCOUNTER_EVENT_MORPHLING_ATTRIBUTE_SHIFT
ENCOUNTER_EVENT_TINKER_RANGE_RETROFIT
ENCOUNTER_EVENT_NAGA_BOTTLE_RUNE
ENCOUNTER_EVENT_SLARK
ENCOUNTER_EVENT_ZEUS
ENCOUNTER_EVENT_LESHRAC
ENCOUNTER_EVENT_NECROPHOS
ENCOUNTER_EVENT_SMALL_TINY_SHRINK
ENCOUNTER_EVENT_BIG_TINY_GROW
ENCOUNTER_EVENT_OGRE_MAGI_CASINO
ENCOUNTER_SPLITSVILLE
ENCOUNTER_AQUA_MANOR
ENCOUNTER_JUNGLE_TREK
}
enum TI2020CustomGameDepthListRewardType {
REWARD_TYPE_NONE
REWARD_TYPE_GOLD
REWARD_TYPE_EXTRA_LIVES
REWARD_TYPE_TREASURE
}
type TI2020CustomGameHeroAbilityType {
difficulty: TI2020CustomGameMatchDifficultyType
heroId: Short
customAbilityId: Short
matchCount: Int
winCount: Int
pickCount: Int
}
type TI2020CustomGameHeroCompositionType {
difficulty: TI2020CustomGameMatchDifficultyType
heroId1: Short
heroId2: Short
heroId3: Short
heroId4: Short
matchCount: Int
winCount: Int
duration: Int
wilsonScore: Decimal
}
type TI2020CustomGameHeroWinRateType {
difficulty: TI2020CustomGameMatchDifficultyType
heroId: Short
matchCount: Int
winCount: Int
}
type TI2020CustomGameMatchDepthListType {
selectedElite: Boolean
selectedEncounter: TI2020CustomGameDepthListEncounterType
selectedEncounterType: Byte
selectedHidden: Boolean
selectedReward: TI2020CustomGameDepthListRewardType
unselectedElite: Boolean
unselectedEncounter: TI2020CustomGameDepthListEncounterType
unselectedHidden: Boolean
unselectedReward: TI2020CustomGameDepthListRewardType
ascensionAbilities: [TI2020CustomGameDepthListAscensionAbilitiesObjectType]
}
enum TI2020CustomGameMatchDifficultyType {
APPRENTICE
MAGICIAN
SORCERER
GRANDMAGUS
APEXMAGE
}
type TI2020CustomGameMatchType {
id: Long
didWin: Boolean
durationSeconds: Short
startDateTime: Long
endDateTime: Long
clusterId: Short
lobbyType: Byte
numKills: Short
numDeaths: Short
numHumanPlayers: Byte
gameMode: Byte
replaySalt: Long
difficulty: TI2020CustomGameMatchDifficultyType
depth: Byte
seed: Int
battlePoints: Short
score: Int
arcaneFragments: Short
goldBags: Short
regionId: Byte
players(
"""
The steam account id to include in this query, excluding all results that do not have this steam account id.
"""
steamAccountId: Long
): [TI2020CustomGamePlayerType]
depthList: [TI2020CustomGameMatchDepthListType]
}
type TI2020CustomGamePlayerBlessingObjectType {
type: TI2020CustomGamePlayerBlessingType
value: Short
}
enum TI2020CustomGamePlayerBlessingType {
MODIFIER_BLESSING_AGILITY
MODIFIER_BLESSING_ARMOR
MODIFIER_BLESSING_ATTACK_SPEED
MODIFIER_BLESSING_BASE
MODIFIER_BLESSING_BOOK_AGILITY
MODIFIER_BLESSING_BOOK_INTELLIGENCE
MODIFIER_BLESSING_BOOK_STRENGTH
MODIFIER_BLESSING_BOTTLE_UPGRADE
MODIFIER_BLESSING_DAMAGE_BONUS
MODIFIER_BLESSING_DAMAGE_REFLECT
MODIFIER_BLESSING_DETONATION
MODIFIER_BLESSING_EVASION
MODIFIER_BLESSING_HEALTH_BOOST
MODIFIER_BLESSING_INTELLIGENCE
MODIFIER_BLESSING_LIFE_STEAL
MODIFIER_BLESSING_MAGIC_DAMAGE_BONUS
MODIFIER_BLESSING_MAGIC_RESIST
MODIFIER_BLESSING_MANA_BOOST
MODIFIER_BLESSING_MOVEMENT_SPEED
MODIFIER_BLESSING_POTION_ARCANIST
MODIFIER_BLESSING_POTION_DRAGON
MODIFIER_BLESSING_POTION_ECHO_SLAM
MODIFIER_BLESSING_POTION_HEALTH
MODIFIER_BLESSING_POTION_MANA
MODIFIER_BLESSING_POTION_PURIFICATION
MODIFIER_BLESSING_POTION_RAVAGE
MODIFIER_BLESSING_POTION_SHADOW_WAVE
MODIFIER_BLESSING_POTION_TORRENT
MODIFIER_BLESSING_REFRESHER_SHARD
MODIFIER_BLESSING_RESPAWN_INVULNERABILITY
MODIFIER_BLESSING_RESPAWN_TIME_REDUCTION
MODIFIER_BLESSING_RESTORE_MANA
MODIFIER_BLESSING_SPELL_LIFE_STEAL
MODIFIER_BLESSING_STRENGTH
BOTTLE_CHARGES
STAT_AGI
STAT_INT
STAT_STR
STAT_DAMAGE
STAT_SPELL_AMP
STAT_HEALTH
STAT_MANA
STAT_MAGIC_RESIST
STARTING_GOLD
PURIFICATION_POTION
DEATH_DETONATION
POTION_HEALTH
POTION_MANA
RESPAWN_TIME_REDUCTION
BOTTLE_REGEN_DURATION
BOTTLE_REGEN_MOVEMENT_SPEED
ROSHAN_SHOP_DISCOUNT
ORACLE_SHOP_DISCOUNT
RESPAWN_INVULNERABILITY
RESPAWN_HASTE
RESPAWN_ATTACK_SPEED
STAT_EVASION
UPGRADE_REROLL
ELITE_UPGRADE
START_TOME
BOSS_TOME
EXTRA_LIFE
MELEE_CLEAVE
ATTACK_RANGE
PROJECTILE_SPEED
CAST_RANGE
DAMAGE_ON_STUNNED
REGEN_AROUND_ALLIES
DEBUFF_DURATION_INCREASE
LOW_HP_OUTGOING_DAMAGE
}
type TI2020CustomGamePlayerDepthListType {
numDeaths: Short
goldBags: Short
kills: Short
level: Byte
networth: Int
rarity: Byte
selectedRewardAbilityId: Short
selectedRewardAbility(
"""
The language id to include in this query, excluding all results that do not have this language.
"""
langaugeId: Int
): AbilityCustomGameType
unSelectedRewardAbilityId1: Short
unSelectedRewardAbility1(
"""
The language id to include in this query, excluding all results that do not have this language.
"""
langaugeId: Int
): AbilityCustomGameType
unSelectedRewardAbilityId2: Short
unSelectedRewardAbility2(
"""
The language id to include in this query, excluding all results that do not have this language.
"""
langaugeId: Int
): AbilityCustomGameType
selectedRewardImageAbilityId: Short
}
type TI2020CustomGamePlayerType {
matchId: Long
playerSlot: Byte
steamAccountId: Long
steamAccount: SteamAccountType
isVictory: Boolean!
heroId: Short
hero: HeroType
deaths: Byte
leaverStatus: Byte
numLastHits: Short
goldPerMinute: Short
networth: Int
experiencePerMinute: Short
level: Byte
goldSpent: Int
partyId: Byte
item0Id: Short
item1Id: Short
item2Id: Short
item3Id: Short
item4Id: Short
item5Id: Short
"""
The item id of the dedicated neutral item slot (7.24 and after). From game
versions 7.23 to 7.24, this was the BackPack3Id (the 4th backpack slot item id).
"""
neutral0Id: Short
arcaneFragments: Short
bonusArcaneFragments: Short
goldBags: Short
neutralItemId: Short
depthList: [TI2020CustomGamePlayerDepthListType]
blessings: [TI2020CustomGamePlayerBlessingObjectType]
}
type TI2020CustomGameRoomModifierType {
difficulty: TI2020CustomGameMatchDifficultyType
modifierId: Short
matchCount: Int
winCount: Int
deathCount: Int
eliteMatchCount: Int
eliteWinCount: Int
eliteDeathCount: Int
}
type TI2020CustomGameRoomType {
difficulty: TI2020CustomGameMatchDifficultyType
encounterId: TI2020CustomGameDepthListEncounterType
matchCount: Int
winCount: Int
pickCount: Int
deathCount: Int
eliteMatchCount: Int
eliteWinCount: Int
elitePickCount: Int
eliteDeathCount: Int
}
type TopPlayersByHeroType {
heroId: Short
players: [PlayerLeaderBoardByHeroType]
}
type TotalMatchCountType {
matchCount: Long
}
type TotalPlayerCountType {
playerCount: Long
}
type TowerDamageDetailType {
time: Int!
attacker: Short
npcId: Short
damage: Int!
byAbility: Short
byItem: Short
}
type TwitchTrackerPlayerHeroType {
heroId: Int!
matchCount: Int!
winCount: Int!
}
type TwitchTrackerPlayerMatchType {
matchId: Long
heroId: Int!
lane: MatchLaneType
role: MatchPlayerRoleType
position: MatchPlayerPositionType
killCount: Short
deathCount: Short
assistCount: Short
endDateTime: Long
isVictory: Boolean!
award: Byte
}
type TwitchTrackerPlayerType {
steamAccountId: Long
activity: PlayerBehaviorActivity
name: String
avatar: String
rank: Int
leaderboardRank: Int
proPlayerName: String
matchCountLast100: Int!
winCountLast100: Int!
uniqueHeroLast100: Int!
coreCountLast100: Int!
topHeroLast100: [TwitchTrackerPlayerHeroType]
matches: [TwitchTrackerPlayerMatchType]
}
input UpdateFollowerRequestType {
feedLevel: Byte
emailLevel: Byte
dailyEmail: Boolean
weeklyEmail: Boolean
monthlyEmail: Boolean
overrideAllUsers: Boolean!
}
input UpdateMatchReplayMatchUploadPlayerObjectType {
steamAccountId: Long!
position: MatchPlayerPositionType
}
input UpdateMatchReplayUploadObjectType {
matchReplayUploadTeamId: Int!
matchId: Long
leagueId: Int
radiantTeamId: Int
direTeamId: Int
isActive: Boolean
notes: String
players: [UpdateMatchReplayMatchUploadPlayerObjectType]
}
type UserHomepageType {
"""A list of blog components to be displayed separately on the homepage."""
blogs(
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""
An array of blog ids to exclude in this query, including all results that do not include one of these blogs.
"""
excludedBlogIds: [Int]
): [BlogType]
upcomingLeagues(
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""
An array of league ids to exclude in this query, including all results that do not include one of these leagues.
"""
excludedLeagueIds: [Int]
"""
An array of league ids to include in this query, excluding all results that do not include one of these leagues.
"""
includedLeagueIds: [Int]
"""
An array of league tier ids to include in this query, excluding all results
that do not include one of these league tiers.
"""
includedLeagueTierIds: [Int]
): [LeagueType]
inProgressLeagues(
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""
An array of league ids to exclude in this query, including all results that do not include one of these leagues.
"""
excludedLeagueIds: [Int]
"""
An array of league ids to include in this query, excluding all results that do not include one of these leagues.
"""
includedLeagueIds: [Int]
"""
An array of league tier ids to include in this query, excluding all results
that do not include one of these league tiers.
"""
includedLeagueTierIds: [Int]
): [LeagueType]
leagueMetas(
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""
An array of league ids to exclude in this query, including all results that do not include one of these leagues.
"""
excludedLeagueIds: [Int]
"""
An array of league ids to include in this query, excluding all results that do not include one of these leagues.
"""
includedLeagueIds: [Int]
"""
An array of league tier ids to include in this query, excluding all results
that do not include one of these league tiers.
"""
includedLeagueTierIds: [Int]
): [LeagueMetaType]
topProPlayers(
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
): [ProPlayerFollowType]
topPlayersByHeroType(
"""The amount to have returned in your query."""
heroComponentsTake: Int
"""The amount to have returned in your query."""
playersTake: Int
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
"""
An array of rank bracket ids to include in this query, excluding all results
that do not include one of these rank brackets.
"""
rankBracketIds: [Byte]
): [TopPlayersByHeroType]
topSynergiesByHero(
"""The amount to have returned in your query."""
synergyComponentsTake: Int
"""
An array of hero ids to include in this query, excluding all results that do not include one of these heroes.
"""
heroIds: [Short]
): [HomepageHeroSynergyType]
matchAwards(
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""
An array of award ids to include in this query, excluding all results that
do not include one of these awards. The player award types include MVP (1),
Top Core (2), and Top Support (3).
"""
matchPlayerAwardTypeIds: [Byte]
): [MatchType]
recentRampages(
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
): [RecentRampageType]
recentWinStreaks(
"""
This value is hard-coded to 1 if passed in, due to the way win streaks are currently stored.
"""
take: Int
): [RecentWinStreakType]
recentHighImps(
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
): [RecentHighImpType]
recentMatches(
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
): [MatchPlayerType]
activeLeagueGames(
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
): [MatchLiveType]
topLiveGames(
"""The amount to have returned in your query."""
take: Int
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
): [MatchLiveType]
totalComponents: Int
}
type UserQuery {
"""Find user details of the currently logged in user."""
profile: UserType
"""Returns a list of Stratz blogs."""
homepage(
"""The amount to have returned in your query."""
take: Int!
): UserHomepageType
"""Gets the list of followers the person is following."""
followers: [FollowerType]
"""Gets the list of followers the person is following."""
following: [FollowerType]
"""Gets a list of completed tutorials from the logged in user."""
completedTutorials: [Short]
"""Returns a list of feed events for the logged in user."""
feed(
"""The amount to skip before collecting your query. Hint: Paging"""
skip: Int
"""The amount to have returned in your query."""
take: Int
): FeedResponseType
}
type UserType {
profile: CaptainJackIdentityPrivateProfileType
steamAccount: SteamAccountType
recentMatch: MatchType
followingCount: Int
followerCount: Int
followingLeagueCount: Int
followingTeamCount: Int
stratzApiApplications: [CaptainJackIdentityApiApplicationType]
}
scalar UShort
type VendorQuery {
dotaNext: DotaNextQuery
"""Used by the Dota 2 Twitch Tracker for Dota Stats"""
twitchTracker(
"""
The steam account id to include in this query, excluding all results that do not have this steam account id.
"""
steamAccountId: Long!
): TwitchTrackerPlayerType
}
enum XpReason {
OTHER
HEROES
CREEPS
ROSHAN
TOME_OF_KNOWLEDGE
OUTPOSTS
}
type YogurtMutation {
"""
Create a new match replay upload team. teamName, emailAddress, and teamId are required input fields.
"""
createTeam(
"""
The desired team name of the match replay upload team. Cannot be blank or whitespace.
"""
matchReplayUploadTeamName: String!
"""
The desired email address of the match replay upload team. Cannot be blank or whitespace.
"""
emailAddress: String!
"""
The desired dota team id of the match replay upload team. Must be a real team created in the dota client.
"""
teamId: Int!
): MatchReplayUploadTeamType
"""
Update a new match replay upload team. matchReplayUploadTeamId is a required input field.
"""
updateTeam(
"""
The desired team name of the match replay upload team. Cannot be blank or whitespace.
"""
matchReplayUploadTeamId: Int!
"""
The desired team name of the match replay upload team. Cannot be blank or whitespace.
"""
matchReplayUploadTeamName: String
"""
The desired dota team id of the match replay upload team. Must be a real team created in the dota client.
"""
teamId: Int
): Boolean
"""
Add a member to a match replay upload team. steamAccountId and matchReplayUploadTeamId are required input fields.
"""
addTeamMember(
"""
The steam account id to include in this query, excluding all results that do not have this steam account id.
"""
steamAccountId: Long!
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
): Boolean
"""
Update a member of a match replay upload team. memberCaptainJackIdentityId,
matchReplayUploadTeamId, and isAdmin are required input fields.
"""
updateTeamMember(
"""
The CaptainJackIdentity id to include in this query, excluding all results that do not have this CaptainJackIdentity id.
"""
captainJackIdentityId: ID!
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
"""
Whether the match replay upload team member you wish to update is an admin of that team.
"""
isAdmin: Boolean!
): Boolean
"""
Set the default team of a match replay upload team member.
memberCaptainJackIdentityId and matchReplayUploadTeamId are required input fields.
"""
setTeamMemberDefaultTeam(
"""
The CaptainJackIdentity id to include in this query, excluding all results that do not have this CaptainJackIdentity id.
"""
captainJackIdentityId: ID!
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
): Boolean
"""
Remove a member of a match replay upload team. memberCaptainJackIdentityId and
matchReplayUploadTeamId are required input fields.
"""
removeTeamMember(
"""
The CaptainJackIdentity id to include in this query, excluding all results that do not have this CaptainJackIdentity id.
"""
captainJackIdentityId: ID!
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
): Boolean
"""
Update the data of a match replay upload. updateMatchReplayUploadObject is a required input field.
"""
update(
"""
This object contains all of the fields a user is allowed to update on a
match replay upload. Null fields are not updated. Fields set to 0 are
updated to null in the database.
"""
updateMatchReplayUploadObject: UpdateMatchReplayUploadObjectType!
): Boolean
"""
Validate the data of a match replay upload, adding the match replay upload to
the queryable data set associated with the match replay upload team.
matchReplayUploadTeamId and matchId are required input fields.
"""
validate(
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
"""
The id of the Dota match to include in this query, excluding all results that do not include this id.
"""
matchId: Long!
): Boolean
"""
Invalidate the data of a match replay upload, removing the match replay upload
from the queryable data set associated with the match replay upload team.
matchReplayUploadTeamId and matchId are required input fields.
"""
invalidate(
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
"""
The id of the Dota match to include in this query, excluding all results that do not include this id.
"""
matchId: Long!
): Boolean
"""
Delete the data of a match replay upload, removing the match replay upload
from the queryable data set associated with the match replay upload team.
matchReplayUploadTeamId and matchId are required input fields.
"""
delete(
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
"""
The id of the Dota match to include in this query, excluding all results that do not include this id.
"""
matchId: Long!
): Boolean
"""
Delete the data of a match replay upload, removing the match replay upload
from the queryable data set associated with the match replay upload team.
matchReplayUploadTeamId and matchId are required input fields.
"""
linkSeriesId(
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
"""An array of Dota match ids to include in this query."""
matchIds: [Long]!
): Boolean
"""
Remove the series id for all of the input matches. matchReplayUploadTeamId and matchIds are required input fields.
"""
removeSeriesId(
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
"""An array of Dota match ids to include in this query."""
matchIds: [Long]!
): Boolean
"""
Import a public match as a match replay upload to the match replay upload
team's data set. matchReplayUploadTeamId and matchId are required input fields.
"""
importMatch(
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
"""
The id of the Dota match to include in this query, excluding all results that do not include this id.
"""
matchId: Long!
): Boolean
"""
If the Picks and Bans for a match are missing or invalid, this allows you to update them.
"""
importPickBans(
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
"""
The id of the Dota match to include in this query, excluding all results that do not include this id.
"""
matchId: Long!
pickBans: [ImportPickBanType]!
): Boolean
}
type YogurtQuery {
"""
Find a match replay upload team by match replay upload team id. matchReplayUploadTeamId is a required input field.
"""
team(
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
): MatchReplayUploadTeamType
"""
Find all match replay upload teams associated with the currently logged in user.
"""
teams: [MatchReplayUploadTeamType]
"""
Find the defualt match replay upload team associated with the currently logged in user.
"""
defaultTeam: MatchReplayUploadTeamType
"""
Find match replay upload team members by match replay upload team id. matchReplayUploadTeamId is a required input field.
"""
teamMembers(
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
): [MatchReplayUploadTeamMemberType]
"""
Find match replay uploads by match replay upload team id. matchReplayUploadTeamId and request are required input fields.
"""
overview(
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
"""
The request object filtering which match replay uploads to include in this
query, excluding all results that do not pass through this filter.
"""
request: FilterMatchReplayUploadRequestType
): MatchReplayUploadOverviewType
"""
Find the list of Hero's in the game and determine basic output by grouping them together.
"""
heroSummary(
"""
The id of the match replay upload team to include in this query, excluding
all results that do not include this match replay upload team id.
"""
matchReplayUploadTeamId: Int!
"""
The request object filtering which match replay uploads to include in this
query, excluding all results that do not pass through this filter.
"""
request: FilterMatchReplayUploadRequestType
): [MatchReplayUploadHeroSummaryType]
}