2021-05-14 09:58:38 +02:00
schema {
query : Query
mutation : Mutation
}
type Query {
"Finds Wargaming accounts by nick"
2021-05-28 16:56:12 +02:00
players ( "Search string." accountNick : String ! "Wargaming Realm." realmType : RealmType "Language for the output data." language : RequestLanguage ): [ AccountsSearchResponseItem !]
2021-05-14 09:58:38 +02:00
"Finds clans by search string"
2021-05-15 17:36:35 +02:00
clans ( "Search string." searchString : String ! "Wargaming Realm." realmType : RealmType "Language for the output data." language : RequestLanguage ): [ ClanSearchResponseItem !]
2021-05-14 09:58:38 +02:00
"Gathers all account information"
accountInfo ( "AccountId" accountId : Long ! "Account region" realmType : RealmType "Request language" requestLanguage : RequestLanguage ): AccountInfoResponse !
"Account statistics history for period since \"startDate\""
accountInfoHistory ( "AccountId" accountId : Long ! "Date from history started" startDate : DateTime ! "Account region" realmType : RealmType "Request language" requestLanguage : RequestLanguage ): AccountInfoHistoryResponse !
"Tank statistics history for period since \"startDate\""
tankInfoHistory ( "AccountId" accountId : Long ! "TankId" tankId : Long ! "Date from history started" startDate : DateTime ! "Account region" realmType : RealmType "Request language" requestLanguage : RequestLanguage ): TankInfoHistoryResponse !
"Returns information about player's achievements"
2021-06-02 14:34:00 +02:00
accountMedals ( "AccountId" accountId : Long ! "Account region" realmType : RealmType "Request language" requestLanguage : RequestLanguage ): AccountAchievementsResponse !
2021-05-14 09:58:38 +02:00
"Returns information about player's tank achievements"
2021-06-02 14:34:00 +02:00
tankMedals ( "AccountId" accountId : Long ! "Account tank Id" tankId : Long ! "Account region" realmType : RealmType "Request language" requestLanguage : RequestLanguage ): AccountAchievementsResponse !
2021-05-14 09:58:38 +02:00
}
type Mutation {
"Updates the necessary dictionaries in database.\n\n\n**Returns:**\nInformation about what was updated."
updateDictionaries ( "Determines what dictionaries should be updated." updateDictionariesRequest : UpdateDictionariesRequestInput !): [ UpdateDictionariesResponseItem !]!
"Gathers all account information"
gatherAccountInformation ( "Account region" realmType : RealmType ! "AccountId" accountId : Long ! "Request language" requestLanguage : RequestLanguage !): AccountInfoResponse !
"This method accepts GitHub oauth code, and returns JWT token with GutHub user as claim"
gitHubAuthenticate ( "OAuth code can be generated by this URL https:\/\/github.com\/login\/oauth\/authorize?client_id={yourClientId}" oauthCode : String !): String !
}
"Mastery"
enum MarkOfMastery {
"No mastery"
NONE
"Third mark of mastery"
RANK3
"Second mark of mastery"
RANK2
"First mark of mastery"
RANK1
"Master mark"
MASTER
}
"Wargaming API Realm"
enum RealmType {
"Russian region"
RU
"European region"
EU
"North America"
NA
"Asian region"
ASIA
}
"Wargaming API request language"
enum RequestLanguage {
"Русский"
RU
"English"
EN
"Deutsch"
DE
}
"Information about player"
type AccountInfoResponse {
"Clan info"
clanInfo : ClanInfoResponse
"Player account identifier"
accountId : Long !
"Account creation date"
createdAt : DateTime !
"Last battle time"
lastBattleTime : DateTime !
"Player's nick"
nickname : String
"Battles count"
battles : Long !
"Capture points"
capturePoints : Long !
"Total damage amount"
damageDealt : Long !
"Total amount of received damage"
damageReceived : Long !
"Dropped capture points"
droppedCapturePoints : Long !
"Total amount of frags"
frags : Long !
"Total amount of fras grater ten 8 lvl"
frags8P : Long !
"Total amount of hits"
hits : Long !
"Total amount of losses"
losses : Long !
"Max frags per battle"
maxFrags : Long !
"Tank id, which kills max frags per battle"
maxFragsTankId : Long !
"Max experience per battle"
maxXp : Long !
"Tank Id which created max experience per battle"
maxXpTankId : Long !
"Total shots count"
shots : Long !
"Total count of spotted vehicles"
spotted : Long !
"Total count of survived battles"
survivedBattles : Long !
"Total count of survived and winned battles"
winAndSurvived : Long !
"Total wins count"
wins : Long !
"Total amount of experience"
xp : Long !
"Average tier"
avgTier : Float !
"Wn7 coefficient"
wn7 : Float !
"Player's win rate"
winRate : Decimal !
"Player's average damage"
avgDamage : Decimal !
"Player's average XP"
avgXp : Decimal !
"Damage coefficient"
damageCoefficient : Decimal !
"Rate of survival"
survivalRate : Decimal !
"All player's tanks"
tanks : [ TankInfoResponse !]
2021-06-02 14:34:00 +02:00
"Account Region and request language"
regionAndLanguage : RealmAndLanguage !
2021-05-14 09:58:38 +02:00
}
"Account search result item"
type AccountsSearchResponseItem {
"Player accountId"
accountId : Long !
"Player nick"
nickname : String
"Clan tag. Null if player doesn't have clan membership"
clanTag : String
"Win rate from 0 to 100"
winRate : Int !
"Player's battles count"
battlesCount : Long !
"Last battle time"
lastBattle : DateTime !
}
enum ApplyPolicy {
BEFORE_RESOLVER
AFTER_RESOLVER
}
"Clan information"
type ClanInfoResponse {
"Clan ID"
clanId : Long !
"Date of joining clan"
joinedAt : DateTime !
"Player clan role ID"
role : String
"Player clan role"
roleLocalized : String !
"Clan name"
name : String
"Date of clan creation"
createdAt : DateTime !
"Clan creator account id"
creatorId : Long
"Clan creator nick"
creatorName : String
"Clan description"
description : String
"Html Clan description"
descriptionHtml : String
"Clan commander accountId"
leaderId : Long
"Clan commander nick"
leaderName : String
"Clan members count"
membersCount : Long
"Clan motto"
motto : String
"Renamed clan name"
oldName : String
"Renamed clan tag"
oldTag : String
"Clan tag"
tag : String
"Clan info updated at"
updatedAt : DateTime
}
"The `Long` scalar type represents non-fractional signed whole 64-bit numeric values. Long can represent values between -(2^63) and 2^63 - 1."
scalar Long
"The `DateTime` scalar represents an ISO-8601 compliant date time type."
scalar DateTime
"The built-in `Decimal` scalar type."
scalar Decimal
"Information about player's tank"
type TankInfoResponse {
"Player account identifier"
accountId : Long !
"Tank identifier"
tankId : Long !
"Total time in battle until tank killed"
battleLifeTimeInSeconds : Int !
"Last battle"
lastBattleTime : DateTime !
"Information is tank in garage or not. Information is not provided without Auth token"
inGarage : Boolean
"Mark of Mastery"
markOfMastery : MarkOfMastery !
"Battles count"
battles : Long !
"Base capture points"
capturePoints : Long !
"Damage dealt"
damageDealt : Long !
"Damage received"
damageReceived : Long !
"Base dropped capture points"
droppedCapturePoints : Long !
"Frags count"
frags : Long !
"Frags count after 8 tier"
frags8P : Long !
"Hits count"
hits : Long !
"Losses count"
losses : Long !
"Max frags per battle"
maxFrags : Long !
"Max XP per battle"
maxXp : Long !
"Shots count"
shots : Long !
"Spotted vehicles count"
spotted : Long !
"Amount of survived battles"
survivedBattles : Long !
"Amount of survived and wined battles"
winAndSurvived : Long !
"Wins count"
wins : Long !
"Total experience"
xp : Long !
"Wn7 coefficient"
wn7 : Float !
"Average life time in battle until tank is killed."
avgBattleLifeTimeInMinutes : Decimal !
"Tank's win rate"
winRate : Decimal !
"Average tank's damage"
avgDamage : Decimal !
"Average XP"
avgXp : Decimal !
"Damage coefficient"
damageCoefficient : Decimal !
"Rate of survival"
survivalRate : Decimal !
"Tank name"
name : String
"Tank nation dictionary identifier"
tankNationId : String
"Localized tank nation name"
tankNation : String
"Tank tier"
tier : Int !
"Tank type dictionary identifier"
tankTypeId : String
"Localized tank type name"
tankType : String
"Is it premium tank or not"
isPremium : Boolean !
2021-05-28 16:56:12 +02:00
"Vehicle preview image"
previewImage : String
"Vehicle normal image"
normalImage : String
2021-05-14 09:58:38 +02:00
}
2021-06-02 14:34:00 +02:00
"Represents pair of realm type a nd requested language"
type RealmAndLanguage {
realm : RealmType !
language : RequestLanguage !
}
2021-05-14 09:58:38 +02:00
"Request for update dictionaries mutation"
input UpdateDictionariesRequestInput {
"Determines what dictionaries should be updated. Usage: StaticDictionaries | Achievements | Vehicles"
dictionaryTypes : DictionaryType !
}
"Represents the response of the Update dictionaries mutation"
type UpdateDictionariesResponseItem {
"Type of updated dictionary"
dictionaryType : DictionaryType !
"A bit summary about what have been updated"
description : String
}
"Represents information about player's achievements"
type AccountAchievementsResponse {
"Player Id"
accountId : Long !
"Player Achievements by sections"
2021-06-02 14:34:00 +02:00
sections : [ AchievementSection !]
2021-05-14 09:58:38 +02:00
}
"Information about tank statistics history"
type TankInfoHistoryResponse {
"Player account identifier"
accountId : Long !
"Tank identifier"
tankId : Long !
"Total time in battle until tank killed"
battleLifeTimeInSeconds : Int !
"Last battle"
lastBattleTime : DateTime !
"Mark of Mastery"
markOfMastery : MarkOfMastery !
"Tank name"
name : String
"Is vehicle premium"
isPremium : Boolean !
"Vehicle type id"
type : String
"Vehicle nationId"
nation : String
"Vehicle tier"
tier : Int !
"Vehicle preview image"
previewImage : String
"Vehicle normal image"
normalImage : String
"Overall statistics since tank was bought"
overallTankStatistics : ShortStatistics
"Statistics for period"
tankPeriodStatistics : ShortStatistics
"Difference between start and end of the period"
periodDifference : StatisticsDifference
"The detailed history"
statisticsHistory : [ StatisticsDifference !]
}
"Information about player statistics history"
type AccountInfoHistoryResponse {
"Player account identifier"
accountId : Long !
"Account creation date"
createdAt : DateTime !
"Player's nick"
nickname : String
"Overall statistics since account creation"
overallAccountStatistics : ShortStatistics
"Statistics for period"
periodAccountStatistics : ShortStatistics
"Difference between start and end of the period"
periodDifference : StatisticsDifference
"The detailed history"
statisticsHistory : [ StatisticsDifference !]
}
"Found clans list item"
type ClanSearchResponseItem {
"Clan Id"
clanId : Long !
"Clan Tag"
tag : String
"Clan Name"
name : String
"Clan created at. (UNIX Epoch time)"
createdAt : Int !
"Clan members count"
membersCount : Int !
}
"The difference between current statistics state and previous"
type StatisticsDifference {
"Last battle time"
lastBattleTime : DateTime !
"Difference in Battles count"
battles : StatisticsDifferenceItemOfInt64
"Difference in Average tier"
avgTier : StatisticsDifferenceItemOfDouble
"Difference in Wn7 coefficient"
wn7 : StatisticsDifferenceItemOfDouble
"Difference in Player's win rate"
winRate : StatisticsDifferenceItemOfDecimal
"Difference in Player's average damage"
avgDamage : StatisticsDifferenceItemOfDecimal
"Difference in Player's average XP"
avgXp : StatisticsDifferenceItemOfDecimal
}
"Short statistics info"
type ShortStatistics {
"Last battle time"
lastBattleTime : DateTime !
"Battles count"
battles : Long !
"Average tier"
avgTier : Float !
"Wn7 coefficient"
wn7 : Float !
"Player's win rate"
winRate : Decimal !
"Player's average damage"
avgDamage : Decimal !
"Player's average XP"
avgXp : Decimal !
}
"Represents achievement section info and it's achievements list"
type AchievementSection {
"Section Identifier"
sectionId : String !
"Section order"
order : Int !
"Section Name"
name : String !
"Achievements in the section"
2021-06-02 14:34:00 +02:00
medals : [ Achievement !]
2021-05-14 09:58:38 +02:00
}
"List of dictionaries"
enum DictionaryType {
"Static dictionaries - Languages, VehicleNations, VehicleTypes, AchievementSections, ClanRoles"
STATIC_DICTIONARIES
"Achievements"
ACHIEVEMENTS
"Vehicles encyclopedia"
VEHICLES
"Only vehicles and Achievements"
ACHIEVEMENTS_AND_VEHICLES
"All dictionaries"
ALL
}
"Player's achievement information"
type Achievement {
"Achievement Id"
id : String !
"Achievement value"
achievementValue : Int !
"Achievement max series value"
maxSeriesValue : Int
"Achievement condition"
condition : String
"Achievement description"
description : String
"Achievement normal sized image"
image : String
"Achievement big image"
imageBig : String
"Achievement name"
name : String
"Order"
order : Long
"Section Id"
sectionId : String !
"Achievement type"
2021-06-02 14:34:00 +02:00
medalType : String
2021-05-14 09:58:38 +02:00
}
type StatisticsDifferenceItemOfDecimal {
currentValue : Decimal !
difference : Decimal
}
type StatisticsDifferenceItemOfDouble {
currentValue : Float !
difference : Float
}
type StatisticsDifferenceItemOfInt64 {
currentValue : Long !
difference : Long
}
directive @authorize ( "The name of the authorization policy that determines access to the annotated resource." policy : String "Roles that are allowed to access the annotated resource." roles : [ String !] "Defines when when the resolver shall be executed.By default the resolver is executed after the policy has determined that the current user is allowed to access the field." apply : ApplyPolicy ! = BEFORE_RESOLVER ) repeatable on SCHEMA | OBJECT | FIELD_DEFINITION