### Get All Expansions Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/worlddata.doc.html Retrieves a list of all supported expansions. ```APIDOC ## Get All Expansions ### Description Retrieve the set of all expansions supported by the site. ### Method query ### Query Example ```graphql { worldData { expansions { # Expansion fields here } } } ``` ``` -------------------------------- ### Get Affixes Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a list of all affixes available in the game. ```APIDOC ## GET /api/v2/warcraft/game/affixes ### Description Retrieves a list of all game affixes. ### Response #### Success Response (200) - **affixes** (Array[GameAffix]) - A list of game affixes. ``` -------------------------------- ### Get Server Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/worlddata.doc.html Retrieves a specific server by its ID, or by slug and region. ```APIDOC ## Get Server ### Description Obtain a specific server either by id or by slug and region. ### Method query ### Arguments - **id** (Int) - Optional - The ID of a single server to retrieve. - **region** (String) - Optional - The compact English abbreviation for a specific region (e.g., "US"). Use in conjunction with the server slug to retrieve a single server. - **slug** (String) - Optional - A server slug. Use in conjunction with the server region to retrieve a single server. ### Query Example ```graphql { worldData { server(id: 10) { # Server fields here } server(region: "US", slug: "stormwind") { # Server fields here } } } ``` ``` -------------------------------- ### Get All Regions Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/worlddata.doc.html Retrieves a list of all supported regions. ```APIDOC ## Get All Regions ### Description Retrieve the set of all regions supported by the site. ### Method query ### Query Example ```graphql { worldData { regions { # Region fields here } } } ``` ``` -------------------------------- ### Get Factions Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a list of all factions that guilds and players can belong to. ```APIDOC ## GET /api/v2/warcraft/game/factions ### Description Retrieves a list of all game factions. ### Response #### Success Response (200) - **factions** (Array[GameFaction]) - A list of game factions. ``` -------------------------------- ### Get Classes Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a list of supported classes, optionally filtered by faction or zone. ```APIDOC ## GET /api/v2/warcraft/game/classes ### Description Retrieves a list of supported game classes, with optional faction and zone filtering. ### Query Parameters - **faction_id** (Int) - Optional - Filter by faction ID. - **zone_id** (Int) - Optional - Filter by zone ID. ### Response #### Success Response (200) - **classes** (Array[GameClass]) - A list of game classes. ``` -------------------------------- ### Get Zones Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/worlddata.doc.html Retrieves a list of all supported zones, optionally filtered by expansion ID. ```APIDOC ## Get Zones ### Description Obtain a set of all zones supported by the site. Optionally filter by expansion ID. ### Method query ### Arguments - **expansion_id** (Int) - Optional - The ID of a specific expansion. If omitted, the zones from all expansions will be retrieved. ### Query Example ```graphql { worldData { zones { # Zone fields here } zones(expansion_id: 6) { # Zone fields here } } } ``` ``` -------------------------------- ### Get Affix by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a specific affix by its unique ID. ```APIDOC ## GET /api/v2/warcraft/game/affix/{id} ### Description Retrieves a single game affix by its ID. ### Path Parameters - **id** (Int) - Required - The unique identifier of the affix. ### Response #### Success Response (200) - **affix** (GameAffix) - The requested game affix. ``` -------------------------------- ### Get Abilities Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a paginated list of all abilities in the game. You can specify the number of results per page and the page number. ```APIDOC ## GET /api/v2/warcraft/game/abilities ### Description Retrieves a paginated list of game abilities. ### Query Parameters - **limit** (Int) - Optional - The number of abilities to retrieve per page. Defaults to 100. Maximum 100, minimum 1. - **page** (Int) - Optional - The page number of paginated data to retrieve. Defaults to the first page. ### Response #### Success Response (200) - **abilities** (Array[GameAbility]) - A list of game abilities. - **pageInfo** (PageInfo) - Pagination information. ``` -------------------------------- ### Get Items Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a paginated list of all items in the game. You can specify the number of results per page and the page number. ```APIDOC ## GET /api/v2/warcraft/game/items ### Description Retrieves a paginated list of game items. ### Query Parameters - **limit** (Int) - Optional - The number of items to retrieve per page. Defaults to 100. Maximum 100, minimum 1. - **page** (Int) - Optional - The page number of paginated data to retrieve. Defaults to the first page. ### Response #### Success Response (200) - **items** (Array[GameItem]) - A list of game items. - **pageInfo** (PageInfo) - Pagination information. ``` -------------------------------- ### Get Character Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/characterdata.doc.html Obtain a specific character either by ID or by name, server slug, and server region. ```APIDOC ## Get Character ### Description Retrieves a specific character's data. You can query by a unique character ID or by a combination of name, server slug, and server region. ### Method GET ### Endpoint `/api/v2/character` ### Parameters #### Query Parameters - **id** (Int) - Optional - The ID of a single character to retrieve. - **name** (String) - Optional - The name of a specific character. Must be used in conjunction with `serverSlug` and `serverRegion`. - **serverSlug** (String) - Optional - The slug of a specific server. Must be used in conjunction with `name` and `serverRegion`. - **serverRegion** (String) - Optional - The region for a specific character. Must be used in conjunction with `name` and `serverSlug`. ### Response #### Success Response (200) - **character** (Character) - The retrieved character object. #### Response Example ```json { "character": { "id": 12345, "name": "ExampleChar", "server": "Stormwind", "region": "us" } } ``` ``` -------------------------------- ### Get Item Sets Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a paginated list of all item sets in the game. You can specify the number of results per page and the page number. ```APIDOC ## GET /api/v2/warcraft/game/item_sets ### Description Retrieves a paginated list of game item sets. ### Query Parameters - **limit** (Int) - Optional - The number of item sets to retrieve per page. Defaults to 100. Maximum 100, minimum 1. - **page** (Int) - Optional - The page number of paginated data to retrieve. Defaults to the first page. ### Response #### Success Response (200) - **item_sets** (Array[GameItemSet]) - A list of game item sets. - **pageInfo** (PageInfo) - Pagination information. ``` -------------------------------- ### ProgressRaceData.detailedComposition Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/progressracedata.doc.html Retrieves detailed composition data for a given guild and encounter. This is useful for understanding the specific setup of a guild during a progress race. ```APIDOC ## ProgressRaceData.detailedComposition ### Description Detailed composition data for a given guild and encounter. ### Arguments #### Query Parameters - **competitionID** (Int) - Optional - If not specified, the race to world first competition will be used. - **guildID** (Int) - Optional - The ID of a single guild to retrieve. - **guildName** (String) - Optional - The name of a specific guild. Must be used in conjunction with serverSlug and serverRegion to uniquely identify a guild. - **serverSlug** (String) - Optional - The name of a specific guild. Must be used in conjunction with name and serverRegion to uniquely identify a guild. - **serverRegion** (String) - Optional - The region for a specific guild. Must be used in conjunction with name and serverRegion to uniquely identify a guild. - **encounterID** (Int) - Optional - If not specified, the current boss that is being pulled will be used. - **difficulty** (Int) - Optional - If not specified, the highest difficulty will be used. - **size** (Int) - Optional - If not specified, the default size for the highest difficulty will be used. ### Response #### Success Response (200) - **JSON** - Detailed composition data ``` -------------------------------- ### Get Guild by ID or Name Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/guilddata.doc.html Retrieve a specific guild using its ID, or by its name along with server details. ```APIDOC ## Get Guild ### Description Obtain a specific guild either by id or by name/serverSlug/serverRegion. ### Method query ### Arguments #### Optional Arguments - **id** (Int) - The ID of a single guild to retrieve. - **name** (String) - The name of a specific guild. Must be used in conjunction with serverSlug and serverRegion to uniquely identify a guild. - **serverSlug** (String) - The slug of a specific server. Must be used in conjunction with name and serverRegion to uniquely identify a guild. - **serverRegion** (String) - The region for a specific guild. Must be used in conjunction with name and serverSlug to uniquely identify a guild. ### Response #### Success Response - **guild** (Guild) - Returns the Guild object if found. ``` -------------------------------- ### Get Guilds with Filtering Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/guilddata.doc.html Retrieve a paginated list of guilds, with options to filter by server ID, slug, or region. ```APIDOC ## Get Guilds ### Description The set of all guilds supported by the site. Can be optionally filtered to a specific server id. ### Method query ### Arguments #### Optional Arguments - **limit** (Int) - The number of guilds to retrieve per page. Defaults to 100. Maximum 100, minimum 1. - **page** (Int) - The page of paginated data to retrieve. Defaults to the first page. - **serverID** (Int) - The ID of a specific server. If present, only guilds from that server (and any connected servers) will be fetched. - **serverSlug** (String) - The slug for a specific server. Must be used in conjunction with serverRegion to uniquely identify a server. Only guilds from that server (and any connected servers) will be fetched. - **serverRegion** (String) - The region for a specific server. Must be used in conjunction with serverSlug to uniquely identify a server. Only guilds from that server (and any connected servers) will be fetched. ### Response #### Success Response - **guilds** (GuildPagination) - Returns a GuildPagination object containing a list of guilds. ``` -------------------------------- ### Get Zones Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieves a paginated list of game zones. Supports filtering by limit and page number. ```APIDOC ## Get Zones ### Description Retrieves a paginated list of game zones. Supports filtering by limit and page number. ### Method GET ### Endpoint /graphql ### Query Parameters - **limit** (Int) - Optional - The number of game zones to retrieve per page. Defaults to 100. Max 100, Min 1. - **page** (Int) - Optional - The page of paginated data to retrieve. Defaults to the first page. ### Response #### Success Response (200) - **data** (object) - Contains the result of the query. - **zones** (object) - Pagination object for zones. - **data** (array) - Array of zone objects. - **paginatorInfo** (object) - Information about the pagination. - **count** (Int) - The number of items returned in this page. - **currentPage** (Int) - The current page number. - **hasMorePages** (Boolean) - Indicates if there are more pages available. - **lastPage** (Int) - The total number of pages. - **nextPageUrl** (String) - URL for the next page, or null if none. - **perPage** (Int) - The number of items per page. - **total** (Int) - The total number of items across all pages. ### Request Example ```graphql query { zones(limit: 50, page: 3) { data { id name areaId } paginatorInfo { count currentPage hasMorePages lastPage nextPageUrl perPage total } } } ``` ``` -------------------------------- ### Get Maps Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a paginated list of all maps in the game. You can specify the number of results per page and the page number. ```APIDOC ## GET /api/v2/warcraft/game/maps ### Description Retrieves a paginated list of game maps. ### Query Parameters - **limit** (Int) - Optional - The number of maps to retrieve per page. Defaults to 100. Maximum 100, minimum 1. - **page** (Int) - Optional - The page number of paginated data to retrieve. Defaults to the first page. ### Response #### Success Response (200) - **maps** (Array[GameMap]) - A list of game maps. - **pageInfo** (PageInfo) - Pagination information. ``` -------------------------------- ### ReportFight Object Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/reportfight.doc.html The ReportFight object provides comprehensive details about a single fight within a Warcraft Logs report. It includes information such as average item level, boss percentage at the end of the fight, encounter ID, start and end times, player and NPC data, and fight outcome. ```APIDOC ## ReportFight Object ### Description Represents a single fight within a Warcraft Logs report, containing detailed information about the encounter. ### Fields - **averageItemLevel** (Float): The average item level of the players in the fight. - **bossPercentage** (Float): The percentage health of the active boss or bosses at the end of a fight. - **boundingBox** (ReportMapBoundingBox): The bounding box that encloses the positions of all players/enemies in the fight. - **classicSeasonID** (Int): The season ID of a Classic fight. Will only be nonzero for Season of Mastery in Vanilla for now. - **completeRaid** (Boolean!): Whether or not a fight represents an entire raid from start to finish. - **difficulty** (Int): The difficulty setting for the raid, dungeon, or arena. Null for trash. - **dungeonPulls** ([ReportDungeonPull]): For a dungeon, a list of pulls that occurred in the dungeon. - **encounterID** (Int!): The encounter ID of the fight. If the ID is 0, the fight is considered a trash fight. - **endTime** (Float!): The end time of the fight. This is a timestamp with millisecond precision relative to the start of the report. - **enemyNPCs** ([ReportFightNPC]): Information about enemy NPCs involved in the fight. - **enemyPets** ([ReportFightNPC]): Information about enemy pets involved in the fight. - **enemyPlayers** ([Int]): The IDs of all players involved in a fight. - **fightPercentage** (Float): The actual completion percentage of the fight. - **friendlyItemLevels** ([Int]): The item levels of all players involved in a fight. - **friendlyNPCs** ([ReportFightNPC]): Information about friendly NPCs involved in the fight. - **friendlyPets** ([ReportFightNPC]): Information about friendly pets involved in the fight. - **friendlyPlayers** ([Int]): The IDs of all players involved in a fight. - **friendlySpecs** ([String]): The specs of all players involved in a fight. - **gameZone** (GameZone): The game zone the fight takes place in. - **hardModeLevel** (Int): The hard mode level of the fight. - **id** (Int!): The report ID of the fight. - **inProgress** (Boolean): Whether or not the fight is still in progress. - **keystoneAffixes** ([Int]): The affixes for a Mythic+ dungeon. - **keystoneBonus** (Int): The bonus field represents Bronze, Silver or Gold in Challenge Modes, or +1-+3 pushing of Mythic+ keys. - **keystoneLevel** (Int): The keystone level for a Mythic+ dungeon. - **keystoneTime** (Int): The completion time for a Challenge Mode or Mythic+ Dungeon. - **kill** (Boolean): Whether or not the fight was a boss kill, i.e., successful. - **lastPhase** (Int): The phase that the encounter was in when the fight ended. - **lastPhaseAsAbsoluteIndex** (Int): The phase that the encounter was in when the fight ended. Always increases from 0. ``` -------------------------------- ### Get Enchants Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a paginated list of all enchants in the game. You can specify the number of results per page and the page number. ```APIDOC ## GET /api/v2/warcraft/game/enchants ### Description Retrieves a paginated list of game enchants. ### Query Parameters - **limit** (Int) - Optional - The number of enchants to retrieve per page. Defaults to 100. Maximum 100, minimum 1. - **page** (Int) - Optional - The page number of paginated data to retrieve. Defaults to the first page. ### Response #### Success Response (200) - **enchants** (Array[GameEnchant]) - A list of game enchants. - **pageInfo** (PageInfo) - Pagination information. ``` -------------------------------- ### Get Achievements Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a paginated list of all achievements in the game. You can specify the number of results per page and the page number. ```APIDOC ## GET /api/v2/warcraft/game/achievements ### Description Retrieves a paginated list of game achievements. ### Query Parameters - **limit** (Int) - Optional - The number of achievements to retrieve per page. Defaults to 100. Maximum 100, minimum 1. - **page** (Int) - Optional - The page number of paginated data to retrieve. Defaults to the first page. ### Response #### Success Response (200) - **achievements** (Array[GameAchievement]) - A list of game achievements. - **pageInfo** (PageInfo) - Pagination information. ``` -------------------------------- ### create Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/reportcomponentmutation.doc.html Creates a new report component. If successful, the key of the new component will be returned. ```APIDOC ## create ### Description Create a new (possibly empty) report component. If successful, the KEY of the new component will be returned. ### Arguments - **name** (String!) - Required - A human-readable name for the component. - **contents** (String) - Optional - The (optional) initial contents of the component. Evaluating an empty component will produce an error. ``` -------------------------------- ### ArchonViewModels Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/archonviewmodels.doc.html The main entry point for querying Archon View Models data. ```APIDOC ## ArchonViewModels ### Description Provides access to various game-related data and content. ### Fields - **user**: JSON - Retrieves user information. - **userFromDesktopClientToken**: (desktopClientToken: String!) - JSON - Retrieves user information using a desktop client token. - **googleAnalytics**: JSON - Retrieves Google Analytics data. - **game**: (buildsZoneTypeSlug: String) - JSON - Retrieves game data, optionally filtered by zone type slug. - **translations**: (keys: [String]) - JSON - Retrieves translations for a given set of keys. - **header**: (gameSlug: String, locale: String) - JSON - Retrieves header information for a specific game and locale. - **headerTitle**: JSON - Retrieves the header title. - **footer**: JSON - Retrieves footer information. - **indexPage**: JSON - Retrieves data for the index page. - **signInPage**: JSON - Retrieves data for the sign-in page. - **signOutPage**: JSON - Retrieves data for the sign-out page. - **authErrorPage**: JSON - Retrieves data for the authentication error page. - **accountPage**: JSON - Retrieves data for the account page. - **gamePage**: JSON - Retrieves data for the game page. - **contactPage**: JSON - Retrieves data for the contact page. - **downloadPage**: JSON - Retrieves data for the download page. - **privacyPolicyPage**: JSON - Retrieves data for the privacy policy page. - **aboutPage**: JSON - Retrieves data for the about page. - **announcementPage**: JSON - Retrieves data for the announcement page. - **gameSlugs**: JSON - Retrieves a list of game slugs. - **buildsZonePageSlugs**: JSON - Retrieves slugs for zone pages. - **buildsZonePage**: (gameSlug: String, rankingsSlug: String, zoneTypeSlug: String, difficultySlug: String, encounterSlug: String, affixesSlug: String) - JSON - Retrieves data for a specific zone page. - **buildsSpecPageSlugs**: JSON - Retrieves slugs for spec pages. - **buildsSpecPage**: (gameSlug: String, classSlug: String, specSlug: String, zoneTypeSlug: String, categorySlug: String, difficultySlug: String, encounterSlug: String, affixesSlug: String) - JSON - Retrieves data for a specific spec page. - **buildsClassesAndSpecsPage**: (gameSlug: String) - JSON - Retrieves data for classes and specs pages for a given game. - **ability**: (id: Int) - JSON - Retrieves a specific ability by its ID. - **articleCategory**: (articleCategorySlug: String) - JSON - Retrieves an article category by its slug. - **articleCategories**: JSON - Retrieves a list of article categories. - **articleSlugs**: (articleCategorySlug: String, siteName: String) - JSON - Retrieves article slugs for a given category and site. - **article**: (articleSlug: String, articleCategorySlug: String, siteName: String) - JSON - Retrieves a specific article. - **cmsNavigation**: (currentSlug: String) - JSON - Retrieves CMS navigation based on the current slug. - **pageOfArticlePreviews**: (articleCategorySlug: String, pageNumber: Int, siteName: String) - JSON - Retrieves a page of article previews. - **snippets**: (snippetSlugs: [String]) - JSON - Retrieves snippets based on provided slugs. - **articleIndexPage**: JSON - Retrieves data for the article index page. - **playwireAds**: JSON - Retrieves Playwire ad data. - **adPlacements**: JSON - Retrieves ad placement information. - **reportPage**: (userId: Int!, gameSlug: String!, reportSlug: String!) - JSON - Retrieves data for a specific report page. - **fightPage**: (userId: Int!, gameSlug: String!, reportSlug: String!, fightSlug: String!, categorySlug: String!, phaseSlug: String, playerSlug: String, cutoffSlug: Int, throughputSlug: String, deathSlug: Int, pullSlug: String) - JSON - Retrieves detailed data for a specific fight within a report. ``` -------------------------------- ### Get Map by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a specific map by its unique ID. ```APIDOC ## GET /api/v2/warcraft/game/map/{id} ### Description Retrieves a single game map by its ID. ### Path Parameters - **id** (Int) - Required - The unique identifier of the map. ### Response #### Success Response (200) - **map** (GameMap) - The requested game map. ``` -------------------------------- ### Get Item by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a specific item by its unique ID. ```APIDOC ## GET /api/v2/warcraft/game/item/{id} ### Description Retrieves a single game item by its ID. ### Path Parameters - **id** (Int) - Required - The unique identifier of the item. ### Response #### Success Response (200) - **item** (GameItem) - The requested game item. ``` -------------------------------- ### GraphQL Schema - Report Queries Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/report.doc.html This section details the available queries for interacting with Warcraft Logs reports. These queries allow you to fetch various types of data, from high-level report information to detailed combat logs. ```APIDOC ## GraphQL Schema - Report Queries This document outlines the available queries for interacting with Warcraft Logs reports. These queries allow you to fetch various types of data, from high-level report information to detailed combat logs. ### Queries #### graph * **Description**: Retrieves graph data for a report, with extensive filtering options. * **Arguments**: * `abilityID` (Float): Optional. Filter by ability ID. * `dataType` (GraphDataType): Optional. Type of data for the graph. * `death` (Int): Optional. Filter by death count. * `difficulty` (Int): Optional. Filter by difficulty. * `encounterID` (Int): Optional. Filter by encounter ID. * `endTime` (Float): Optional. End time for the data range. * `fightIDs` ([Int]): Optional. List of fight IDs to include. * `filterExpression` (String): Optional. Custom filter expression. * `hostilityType` (HostilityType): Optional. Filter by hostility type. * `killType` (KillType): Optional. Filter by kill type (kill, wipe, etc.). * `sourceAurasAbsent` (String): Optional. Filter by absent source auras. * `sourceAurasPresent` (String): Optional. Filter by present source auras. * `sourceClass` (String): Optional. Filter by source class. * `sourceID` (Int): Optional. Filter by source ID. * `sourceInstanceID` (Int): Optional. Filter by source instance ID. * `startTime` (Float): Optional. Start time for the data range. * `targetAurasAbsent` (String): Optional. Filter by absent target auras. * `targetAurasPresent` (String): Optional. Filter by present target auras. * `targetClass` (String): Optional. Filter by target class. * `targetID` (Int): Optional. Filter by target ID. * `targetInstanceID` (Int): Optional. Filter by target instance ID. * `translate` (Boolean): Optional. Whether to auto-translate actor and ability names. Defaults to true. * `viewOptions` (Int): Optional. View options for the graph. * `viewBy` (ViewType): Optional. How to group the graph data. * `wipeCutoff` (Int): Optional. Number of deaths after which to ignore subsequent events. * **Returns**: JSON #### guild * **Description**: Returns the guild that the report belongs to. Returns null if the report was uploaded to personal logs. * **Returns**: Guild #### guildTag * **Description**: Returns the guild tag of the report. Returns null if the report was not tagged. * **Returns**: GuildTag #### owner * **Description**: Returns the user that uploaded the report. * **Returns**: User #### masterData * **Description**: Retrieves master data from the report, including version info, players, NPCs, pets, and abilities used. * **Arguments**: * `translate` (Boolean): Optional. Whether to auto-translate actors and abilities. Defaults to true. Set to false for priority on speed. * **Returns**: ReportMasterData #### playerDetails * **Description**: Retrieves a table of information for the players in a report, including their specs, talents, and gear. This data is not considered frozen and may change without notice. * **Arguments**: * `difficulty` (Int): Optional. Filter fights by difficulty. * `encounterID` (Int): Optional. Filter fights by specific boss. * `endTime` (Float): Optional. End time for the data range. * `fightIDs` ([Int]): Optional. List of fight IDs to include. * `killType` (KillType): Optional. Filter by kill type (kill, wipe, etc.). * `startTime` (Float): Optional. Start time for the data range. * `translate` (Boolean): Optional. Whether to auto-translate fight data. Defaults to true. Set to false for priority on speed. * `includeCombatantInfo` (Boolean): Optional. Whether to include detailed combatant info like gear. * **Returns**: JSON #### rankedCharacters * **Description**: Returns a list of all characters that ranked on kills in the report. * **Returns**: [Character] #### rankings * **Description**: Retrieves rankings information for a report, filterable by fights, bosses, metrics, etc. This data is not considered frozen and may change without notice. * **Arguments**: * `compare` (RankingCompareType): Optional. Whether to compare against tier rankings or two weeks of parses. * `difficulty` (Int): Optional. Filter fights by difficulty. * `encounterID` (Int): Optional. Filter fights by specific boss. * `fightIDs` ([Int]): Optional. List of fight IDs to include. * `playerMetric` (ReportRankingMetricType): Optional. Filter by a specific player metric (e.g., dps, hps). * `timeframe` (RankingTimeframeType): Optional. Whether to compare against today's rankings or historical rankings around the fight time. * **Returns**: JSON #### region * **Description**: Returns the region of the report. * **Returns**: Region #### revision * **Description**: Returns the revision number of the report. This number increases when reports are re-exported. * **Returns**: Int! #### segments * **Description**: Returns the number of uploaded segments in the report. * **Returns**: Int! #### startTime * **Description**: Returns the start time of the report as a UNIX timestamp of the first event. * **Returns**: Float ``` -------------------------------- ### Get Enchant by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a specific enchant by its unique ID. ```APIDOC ## GET /api/v2/warcraft/game/enchant/{id} ### Description Retrieves a single game enchant by its ID. ### Path Parameters - **id** (Int) - Required - The unique identifier of the enchant. ### Response #### Success Response (200) - **enchant** (GameEnchant) - The requested game enchant. ``` -------------------------------- ### GameAffix Object Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gameaffix.doc.html Represents a single affix for Mythic Keystone dungeons, including its ID, icon, and localized name. ```APIDOC ## Object: GameAffix A single affix for Mythic Keystone dungeons. ### Fields - **id** (Int!): The ID of the affix. - **icon** (String): The icon for the affix. - **name** (String): The localized name of the affix. Will be null if no localization information exists for the affix. ``` -------------------------------- ### Get Achievement by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a specific achievement by its unique ID. ```APIDOC ## GET /api/v2/warcraft/game/achievement/{id} ### Description Retrieves a single game achievement by its ID. ### Path Parameters - **id** (Int) - Required - The unique identifier of the achievement. ### Response #### Success Response (200) - **achievement** (GameAchievement) - The requested game achievement. ``` -------------------------------- ### characterCustomizationOptions Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/archonviewmodels.doc.html Retrieves customization options for a character. ```APIDOC ## characterCustomizationOptions GraphQL Operation ### Description Fetches customization options available for a specific character. Requires user ID and character slug. ### Arguments * **userId** (Int): Optional. The ID of the user. * **characterSlug** (String!): Required. The slug for the character. ### Returns * JSON: The character customization options. ``` -------------------------------- ### Get Ability by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a specific ability by its unique ID. ```APIDOC ## GET /api/v2/warcraft/game/ability/{id} ### Description Retrieves a single game ability by its ID. ### Path Parameters - **id** (Int) - Required - The unique identifier of the ability. ### Response #### Success Response (200) - **ability** (GameAbility) - The requested game ability. ``` -------------------------------- ### Get Zone by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/worlddata.doc.html Retrieves a specific zone using its unique ID. ```APIDOC ## Get Zone by ID ### Description Obtain a specific zone by its ID. ### Method query ### Arguments - **id** (Int) - Required - The ID of a specific zone. ### Query Example ```graphql { worldData { zone(id: 50) { # Zone fields here } } } ``` ``` -------------------------------- ### GraphQL Schema for Report Data Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/report.doc.html This snippet shows the GraphQL schema definition for loading fight and phase data from Warcraft Logs reports. It highlights the `phases` field which returns an array of `EncounterPhases`. ```APIDOC ## GraphQL Schema for Report Data ### Description This schema definition outlines how to query for fight and phase data within Warcraft Logs reports. The `phases` field allows retrieval of detailed phase information for encounters. ### Schema ```graphql # Schema for loading fight data, but does not double-charge API points if you load fights and phases. type Query { # ... other query fields phases: [EncounterPhases!] } # Definition for EncounterPhases (details not provided in source) scalar EncounterPhases ``` ### Usage Notes - Loading `phases` does not incur additional API point costs if `fights` data is also loaded. - The specific fields within `EncounterPhases` are not detailed in the provided source. ``` -------------------------------- ### Get Subregion by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/worlddata.doc.html Retrieves a specific subregion using its unique ID. ```APIDOC ## Get Subregion by ID ### Description Obtain a specific subregion by its ID. ### Method query ### Arguments - **id** (Int) - Required - The ID of a single subregion to retrieve. ### Query Example ```graphql { worldData { subregion(id: 2) { # Subregion fields here } } } ``` ``` -------------------------------- ### GraphQL Schema for Partition Object Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/partition.doc.html Defines the structure of the Partition object, including its ID, localized name, compact name, and default status. ```graphql type Partition { * # An integer representing a specific partition within a zone. id: Int! * # The localized name for partition. name: String! * # The compact localized name for the partition. Typically an abbreviation to * # conserve space. compactName: String! * # Whether or not the partition is the current default when viewing rankings or * # statistics for the zone. default: Boolean! } ``` -------------------------------- ### Get Region by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/worlddata.doc.html Retrieves a specific region using its unique ID. ```APIDOC ## Get Region by ID ### Description Obtain a specific region by its ID. ### Method query ### Arguments - **id** (Int) - Required - The ID of a single region to retrieve. ### Query Example ```graphql { worldData { region(id: 1) { # Region fields here } } } ``` ``` -------------------------------- ### Expansion Object Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/expansion.doc.html Represents a single expansion in World of Warcraft. It includes the expansion's ID, its localized name, and a list of zones (raids, dungeons, etc.) that are part of it. ```APIDOC ## Object: Expansion A single expansion for the game. ### Fields - **id** (Int!): The ID of the expansion. - **name** (String!): The localized name of the expansion. - **zones** (Zone): The zones (e.g., raids and dungeons) supported for this expansion. ``` -------------------------------- ### Get Expansion by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/worlddata.doc.html Retrieves a single expansion using its unique ID. ```APIDOC ## Get Expansion by ID ### Description Obtain a single expansion by its ID. ### Method query ### Arguments - **id** (Int) - Required - The ID of a single expansion to retrieve. ### Query Example ```graphql { worldData { expansion(id: 5) { # Expansion fields here } } } ``` ``` -------------------------------- ### Get Encounter by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/worlddata.doc.html Retrieves a specific encounter using its unique ID. ```APIDOC ## Get Encounter by ID ### Description Obtain a specific encounter by its ID. ### Method query ### Arguments - **id** (Int) - Required - Specify a single encounter ID to retrieve. ### Query Example ```graphql { worldData { encounter(id: 1234) { # Encounter fields here } } } ``` ``` -------------------------------- ### Get NPC by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieves a single Non-Player Character (NPC) by its unique ID. ```APIDOC ## Get NPC by ID ### Description Retrieves a single Non-Player Character (NPC) by its unique ID. ### Method GET ### Endpoint /graphql ### Query Parameters - **id** (Int) - Required - Specify a specific NPC to retrieve by its id. ### Response #### Success Response (200) - **data** (object) - Contains the result of the query. - **npc** (object) - The NPC object. - **id** (Int) - The unique identifier for the NPC. - **name** (String) - The name of the NPC. - **type** (String) - The type of NPC (e.g., Creature, Humanoid). - **family** (String) - The family or faction the NPC belongs to. - **modelId** (Int) - The model ID used for the NPC in the game. - **health** (Int) - The NPC's health points. - **powerType** (String) - The type of power the NPC uses (e.g., Mana, Rage). - **attackPower** (Int) - The NPC's attack power. - **manaSize** (Int) - The NPC's mana pool size. - **armour** (Int) - The NPC's armor value. - **attackTime** (Int) - The NPC's attack speed. - **damageMin** (Int) - The minimum damage the NPC can deal. - **damageMax** (Int) - The maximum damage the NPC can deal. - **cooldown** (Int) - The cooldown of the NPC's abilities. - **movementSpeed** (Int) - The NPC's movement speed. - **scale** (Float) - The NPC's scale factor. - **exp** (Int) - Experience points granted by defeating the NPC. - **level** (Int) - The NPC's level. - **minLevel** (Int) - The minimum level at which this NPC can appear. - **maxLevel** (Int) - The maximum level at which this NPC can appear. - **portrait** (String) - URL to the NPC's portrait. - **soundId** (Int) - The sound ID associated with the NPC. - **isMinion** (Boolean) - Indicates if the NPC is a minion. - **isElite** (Boolean) - Indicates if the NPC is an elite unit. - **isRare** (Boolean) - Indicates if the NPC is rare. - **isBoss** (Boolean) - Indicates if the NPC is a boss. ### Request Example ```graphql query { npc(id: 12345) { id name level health } } ``` ``` -------------------------------- ### List Report Components Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/reportcomponentdata.doc.html Retrieves a list of all report components associated with the user's API key. ```APIDOC ## list ### Description List all report components attached to the user owning the current API key. ### Arguments None ### Response #### Success Response (200) - **list** ([ReportComponent!]): A list of ReportComponent objects. ``` -------------------------------- ### Get Item Set by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/gamedata.doc.html Retrieve a specific item set by its unique ID. ```APIDOC ## GET /api/v2/warcraft/game/item_set/{id} ### Description Retrieves a single game item set by its ID. ### Path Parameters - **id** (Int) - Required - The unique identifier of the item set. ### Response #### Success Response (200) - **item_set** (GameItemSet) - The requested game item set. ``` -------------------------------- ### Get Characters by Guild Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/characterdata.doc.html Retrieve a paginated collection of characters belonging to a specific guild. ```APIDOC ## Get Characters by Guild ### Description Fetches a list of characters associated with a given guild ID. Supports pagination and limiting the number of results per page. ### Method GET ### Endpoint `/api/v2/characters/guild` ### Parameters #### Query Parameters - **guildID** (Int) - Required - The ID of the guild whose characters you want to retrieve. - **limit** (Int) - Optional - The number of characters to retrieve per page. Defaults to 100. Maximum is 100, minimum is 1. - **page** (Int) - Optional - The page number of paginated data to retrieve. Defaults to the first page. ### Response #### Success Response (200) - **characters** (CharacterPagination) - An object containing a list of characters and pagination information. #### Response Example ```json { "characters": [ { "id": 12345, "name": "ExampleChar1", "server": "Stormwind", "region": "us" }, { "id": 67890, "name": "ExampleChar2", "server": "Orgrimmar", "region": "eu" } ], "pageInfo": { "currentPage": 1, "hasNextPage": true, "hasPreviousPage": false, "totalCharacters": 200 } } ``` ``` -------------------------------- ### GraphQL Schema Definition Source: https://www.warcraftlogs.com/v2-api-docs/warcraft Defines the root of the GraphQL schema, specifying the entry point for queries. ```graphql schema { query: Query } ``` -------------------------------- ### characterIndexPage Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/archonviewmodels.doc.html Fetches an index page for characters, allowing search by game and user ID. ```APIDOC ## characterIndexPage GraphQL Operation ### Description Retrieves an index page for characters within a specific game, optionally filtered by user ID and a search term. ### Arguments * **userId** (Int): Optional. The ID of the user. * **gameSlug** (String!): Required. The slug for the game. * **searchTerm** (String): Optional. The search term to filter characters. ### Returns * JSON: The character index page data. ``` -------------------------------- ### Get User by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/userdata.doc.html Retrieves a specific user's data using their unique ID. ```APIDOC ## Get User by ID ### Description Obtain a specific user by id. ### Method query ### Endpoint /graphql ### Parameters #### Query Parameters - **id** (Int) - Required - Specify a single user ID to retrieve. ### Response #### Success Response (200) - **user** (User) - The requested user object. ``` -------------------------------- ### Get Report Component by ID Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/reportcomponentdata.doc.html Retrieves a specific report component using its unique identifier. ```APIDOC ## get ### Description Get a report component by its ID. ### Arguments #### Path Parameters - **key** (String!) - Required - The report component ID ### Response #### Success Response (200) - **ReportComponent**: The requested ReportComponent object. ``` -------------------------------- ### GraphQL Schema for Expansion Object Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/expansion.doc.html Defines the structure of the Expansion object in the GraphQL schema. It includes fields for ID, name, and associated zones. ```graphql type Expansion { * # The ID of the expansion. id: Int! * # The localized name of the expansion. name: String! * # The zones (e.g., raids and dungeons) supported for this expansion. zones: [Zone] } ``` -------------------------------- ### Get Current User Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/userdata.doc.html Retrieves the data for the currently authenticated user. This endpoint is typically used when authenticated. ```APIDOC ## Get Current User ### Description Obtain the current user (only works with user endpoint). ### Method query ### Endpoint /graphql ### Parameters No parameters required. ### Response #### Success Response (200) - **currentUser** (User) - The current authenticated user object. ``` -------------------------------- ### Zone Object Source: https://www.warcraftlogs.com/v2-api-docs/warcraft/zone.doc.html Represents a single zone from an expansion that contains raids, dungeons, arenas, etc. It provides details about the zone's ID, supported difficulties, encounters, expansion, and more. ```APIDOC ## Zone A single zone from an expansion that represents a raid, dungeon, arena, etc. ### Fields - **id** (Int!): The ID of the zone. - **brackets** (Bracket): The bracket information for this zone. This field will be null if the zone does not support brackets. - **difficulties** ([Difficulty]): A list of all the difficulties supported for this zone. - **encounters** ([Encounter]): The encounters found within this zone. - **expansion** (Expansion!): The expansion that this zone belongs to. - **frozen** (Boolean!): Whether or not the entire zone is permanently frozen. When a zone is frozen, data involving that zone will never change and can be cached forever. - **name** (String!): The name of the zone. - **partitions** ([Partition]): A list of all the partitions supported for this zone. ```