# WoW: Forever

> Every WoW: Forever endpoint of blizzard_api, on client.wowForever.

WoW: Forever. Blizzard hasn't documented this API yet: see the [Forever notes](https://blizzard.pinta.land/forever/index.md).

133 endpoints on `client.wowForever`, 7 of them needing a [user token](https://blizzard.pinta.land/guide/user-tokens/index.md). Response types are documented on JSR: [`WowForeverApi`](https://jsr.io/@pinta365/blizzard-api/doc/~/WowForeverApi).

## Game data

### Achievement

- `achievement(achievementId: number): Achievement`\
  Fetches and returns details of a specific achievement identified by its ID.
- `achievementCategories(): ForeverAchievementCategories`\
  Returns an index of achievement categories.
- `achievementCategory(achievementCategoryId: number): AchievementCategory`\
  Fetches and returns details of a specific achievement category identified by its ID.
- `achievementMedia(achievementId: number): AchievementMedia`\
  Fetches and returns media details for a specific achievement identified by its ID.
- `achievements(): Achievements`\
  Fetches and returns an index of achievements.

### Auction house

- `auctionHouse(rulesetId: number, auctionHouseId: number): ForeverAuctionHouseAuctions`\
  Returns all active auctions of one auction house of a ruleset. Commodities are listed separately, see auctionHouseCommodities().
- `auctionHouseCommodities(rulesetId: number, auctionHouseId: number): ForeverAuctionHouseCommodities`\
  Returns all active commodity auctions of one auction house of a ruleset.
- `auctionHouses(rulesetId: number): ForeverAuctionHouses`\
  Returns an index of the auction houses (Alliance, Horde and neutral), as listed under a ruleset. Every ruleset of a region currently lists the same auction houses.

### Creature

- `creature(creatureId: number): Creature`\
  Returns details about a creature
- `creatureDisplayMedia(creatureDisplayId: number): CreatureDisplayMedia`\
  Returns media details about a specific Creature display
- `creatureFamilies(): CreatureFamilies`\
  Returns an index of creature families.
- `creatureFamily(creatureFamilyId: number): CreatureFamily`\
  Returns details about a creature family
- `creatureFamilyMedia(creatureFamilyId: number): CreatureFamilyMedia`\
  Returns media details about a specific Creature family
- `creatureType(creatureTypeId: number): CreatureType`\
  Returns details about a creature types
- `creatureTypes(): CreatureTypes`\
  Returns an index of creature types.
- `searchCreature(searchParameters: SearchParameters): Search`\
  Performs a search of creatures.

### Guild crest

- `guildCrestBorder(borderId: number): GuildCrestBorder`\
  Returns a Guild Crest Border Media
- `guildCrestEmblem(emblemId: number): GuildCrestEmblem`\
  Returns a Crest Emblem Media
- `guildCrests(): GuildCrests`\
  Returns the Guild Crest Components Index

### Heirloom

- `heirloom(heirloomId: number): Heirloom`\
  Returns a Heirloom
- `heirlooms(): ForeverHeirlooms`\
  Returns an index of heirlooms.

### Item

- `item(itemId: number): Item`\
  Returns an item by ID.
- `itemClass(itemClassId: number): ItemClass`\
  Returns an item class by ID.
- `itemClasses(): ItemClasses`\
  Returns an index of item classes.
- `itemMedia(itemId: number): ItemMedia`\
  Returns media details about a specific item Id
- `itemSet(itemSetId: number): ItemSet`\
  Returns an item set by ID.
- `itemSets(): ItemSets`\
  Returns an index of item sets.
- `itemSubclass(itemClassId: number, itemSubclassId: number): ItemSubclass`\
  Returns an item subclass by ID.
- `searchItem(searchParameters: SearchParameters): Search`\
  Performs a search of items.

### Item appearance

- `itemAppearance(appearanceId: number): ItemAppearance`\
  Returns an item appearance by ID.
- `itemAppearanceSet(appearanceSetId: number): ItemAppearanceSet`\
  Returns an item appearance set by ID.
- `itemAppearanceSets(): ItemAppearanceSets`\
  Returns a index of item appearance sets.
- `itemAppearanceSlot(slotType: string): ItemAppearanceSlot`\
  Returns an item appearance slot by slot type.
- `itemAppearanceSlots(): ItemAppearanceSlots`\
  Returns a index of item appearance slots.
- `searchItemAppearance(searchParameters: SearchParameters): ForeverItemAppearanceSearch`\
  Performs a search of item appearances.

### Journal

- `journalEncounter(journalEncounterId: number): JournalEncounter`\
  Returns a journal encounter by ID.
- `journalEncounters(): ForeverJournalEncounters`\
  Returns an index of journal encounters.
- `journalExpansion(journalExpansionId: number): JournalExpansion`\
  Returns a journal expansion by ID.
- `journalExpansions(): ForeverJournalExpansions`\
  Returns an index of journal expansions.
- `journalInstance(journalInstanceId: number): JournalInstance`\
  Returns a journal instances by ID.
- `journalInstanceMedia(journalInstanceId: number): JournalInstanceMedia`\
  Returns media for a journal instance by ID.
- `journalInstances(): ForeverJournalInstances`\
  Returns an index of journal instances.
- `searchJournalEncounter(searchParameters: SearchParameters): Search`\
  Performs a search of journal encounters.

### Media search

- `searchMedia(searchParameters: SearchParameters): Search`\
  Performs a search of media.

### Mount

- `mount(mountId: number): ForeverMount`\
  Returns a mount by ID.
- `mounts(): Mounts`\
  Returns a index of mounts.
- `searchMount(searchParameters: SearchParameters): Search`\
  Performs a search of mounts.

### Pet

- `pet(petId: number): ForeverPet`\
  Returns a battle pet by ID.
- `petAbilities(): ForeverPetAbilities`\
  Returns an index of pet abilities.
- `petAbility(petAbilityId: number): PetAbility`\
  Returns a pet ability by ID.
- `petAbilityMedia(petAbilityId: number): PetAbilityMedia`\
  Returns media for a battle pet by ID.
- `petMedia(petId: number): PetMedia`\
  Returns media for a battle pet by ID.
- `pets(): Pets`\
  Returns an index of battle pets.

### Playable class

- `playableClass(classId: number): PlayableClass`\
  Returns a playable class by ID.
- `playableClasses(): PlayableClasses`\
  Returns an index of playable classes.
- `playableClassMedia(playableClassId: number): PlayableClassMedia`\
  Returns media for a playable class by ID.

### Playable race

- `playableRace(playableRaceId: number): PlayableRace`\
  Returns a playable race by ID.
- `playableRaces(): PlayableRaces`\
  Returns an index of playable races.

### Playable specialization

- `playableSpecialization(specId: number): ForeverPlayableSpecialization`\
  Returns a playable specialization by ID.
- `playableSpecializationMedia(specId: number): PlayableSpecializationMedia`\
  Returns media for a playable specialization by ID.
- `playableSpecializations(): ForeverPlayableSpecializations`\
  Returns an index of playable specializations.

### Power type

- `powerType(powerTypeId: number): PowerType`\
  Returns a power type by ID.
- `powerTypes(): PowerTypes`\
  Returns an index of power types.

### Profession

- `profession(professionId: number): Profession`\
  Returns a profession by ID.
- `professionMedia(professionId: number): ProfessionMedia`\
  Returns media for a profession by ID.
- `professionRecipie(recipeId: number): ForeverProfessionRecipie`\
  Returns a recipe by ID.
- `professionRecipieMedia(recipeId: number): professionRecipieMedia`\
  Returns media for a recipe by ID.
- `professions(): Professions`\
  Returns an index of professions.
- `professionSkillTier(professionId: number, skillTierId: number): ProfessionSkillTier`\
  Returns a skill tier for a profession by ID.

### Quest

- `quest(questId: number): ForeverQuest`\
  Returns a quest by ID.
- `questArea(questAreaId: number): QuestArea`\
  Returns a quest area by ID.
- `questAreas(): QuestAreas`\
  Returns an index of quest areas.
- `questCategories(): QuestCategories`\
  Returns an index of quest categories (such as quests for a specific class, profession, or storyline).
- `questCategory(questCategoryId: number): QuestCategory`\
  Returns a quest category by ID.
- `quests(): Quests`\
  Returns the parent index for quests.
- `questType(questTypeId: number): QuestType`\
  Returns a quest type by ID.
- `questTypes(): QuestTypes`\
  Returns an index of quest types (such as PvP quests, raid quests, or account quests).

### Region

- `region(regionId: number): Region`\
  Returns a region by ID.
- `regions(): Regions`\
  Returns an index of regions.

### Reputations

- `reputationFaction(reputationFactionId: string): ForeverReputationFaction`\
  Returns a reputation faction by ID.
- `reputationFactions(): ReputationFactions`\
  Returns an index of reputation factions.
- `reputationTier(reputationTiersId: string): ReputationTier`\
  Returns a single set of reputation tiers by ID.
- `reputationTiers(): ReputationTiers`\
  Returns an index of reputation tiers.

### Ruleset

- `ruleset(rulesetId: number): ForeverRuleset`\
  Returns a ruleset by ID.
- `rulesets(): ForeverRulesets`\
  Returns an index of the rulesets in the region.

### Spell

- `searchSpell(searchParameters: SearchParameters): Search`\
  Performs a search of spells.
- `spell(spellId: number): Spell`\
  Returns a spell by ID.
- `spellMedia(spellId: number): SpellMedia`\
  Returns media for a spell by ID.

### Talent

- `talent(talentId: number): Talent`\
  Returns a talent by ID.
- `talents(): Talents`\
  Returns an index of talents.
- `talentTree(talentTreeId: number, specId: number): ForeverTalentTree`\
  Returns a talent tree by specialization ID.
- `talentTreeNodes(talentTreeId: number): TalentTreeNodes`\
  Returns all talent tree nodes as well as links to associated playable specializations given a talent tree id. This is useful to generate loadout export codes.
- `talentTrees(): ForeverTalentTrees`\
  Returns an index of talent trees.

### Title

- `title(titleId: number): ForeverTitle`\
  Returns a title by ID.
- `titles(): Titles`\
  Returns an index of titles.

### Toy

- `toy(toyId: number): Toy`\
  Returns a toy by id.
- `toys(): Toys`\
  Returns an index of toys.

## Profile

### Account profile

- `accountCollectionsIndex(): AccountCollectionsIndex`\
  Returns an index of collection types for an account. **User token.**
- `accountHeirloomsCollection(): AccountHeirloomsCollection`\
  Returns the heirlooms collected by an account. **User token.**
- `accountMountsCollection(): AccountMountsCollection`\
  Returns the mounts collected by an account. **User token.**
- `accountPetsCollection(): AccountPetsCollection`\
  Returns the battle pets collected by an account. **User token.**
- `accountProfileSummary(): ForeverAccountProfileSummary`\
  Returns a profile summary for an account, including its WoW accounts and Forever characters. **User token.**
- `accountToysCollection(): AccountToysCollection`\
  Returns the toys collected by an account. **User token.**
- `accountTransmogsCollection(): ForeverAccountTransmogsCollection`\
  Returns the transmog appearances and sets collected by an account. **User token.**

### Character achievements

- `characterAchievementStatistics(name: string, surname: string): ForeverCharacterAchievementStatistics`\
  Returns a character's statistics as they pertain to achievements.
- `characterAchievementSummary(name: string, surname: string): ForeverCharacterAchievementSummary`\
  Returns a summary of the achievements a character has completed.

### Character appearance

- `characterAppearanceSummary(name: string, surname: string): ForeverCharacterAppearanceSummary`\
  Returns a summary of a character's appearance settings.

### Character collections

- `characterCollectionHeirlooms(name: string, surname: string): ForeverCharacterCollectionHeirlooms`\
  Returns the heirlooms a character has collected.
- `characterCollectionMounts(name: string, surname: string): ForeverCharacterCollectionMounts`\
  Returns the mounts a character has collected.
- `characterCollectionPets(name: string, surname: string): ForeverCharacterCollectionPets`\
  Returns the battle pets a character has collected.
- `characterCollectionToys(name: string, surname: string): ForeverCharacterCollectionToys`\
  Returns the toys a character has collected.
- `characterCollectionTransmogs(name: string, surname: string): ForeverCharacterCollectionTransmogs`\
  Returns the transmog appearances a character has collected.
- `characterCollectionTypes(name: string, surname: string): ForeverCharacterCollectionTypes`\
  Returns an index of collection types for a character.

### Character encounters

- `characterEncounterDungeons(name: string, surname: string): ForeverCharacterEncounterDungeons`\
  Returns a summary of a character's completed dungeons.
- `characterEncounterRaids(name: string, surname: string): ForeverCharacterEncounterRaids`\
  Returns a summary of a character's completed raids.
- `characterEncounters(name: string, surname: string): ForeverCharacterEncounters`\
  Returns a summary of a character's encounters.

### Character equipment

- `characterEquipments(name: string, surname: string): ForeverCharacterEquipment`\
  Returns a summary of the items equipped by a character.

### Character media

- `characterMedia(name: string, surname: string): ForeverCharacterMedia`\
  Returns a summary of the media assets available for a character (such as an avatar render).

### Character mythic keystone profile

- `characterMythicKeystoneProfile(name: string, surname: string): ForeverCharacterMythicKeystoneProfile`\
  Returns the Mythic Keystone profile index for a character.

### Character professions

- `characterProfessions(name: string, surname: string): ForeverCharacterProfessions`\
  Returns a summary of a character's professions.

### Character profile

- `characterProfile(name: string, surname: string): ForeverCharacterProfile`\
  Returns a profile summary for a character.
- `characterProfileStatus(name: string, surname: string): ForeverCharacterProfileStatus`\
  Returns the status and a unique ID for a character. Use the ID to check whether a character with the same name is still the same character.

### Character PvP

- `characterPvpSummary(name: string, surname: string): ForeverCharacterPvpSummary`\
  Returns a PvP summary for a character.

### Character quests

- `characterCompletedQuests(name: string, surname: string): ForeverCharacterCompletedQuests`\
  Returns the quests a character has completed.
- `characterQuests(name: string, surname: string): ForeverCharacterQuests`\
  Returns a character's active quests and links to its completed quests.

### Character reputations

- `characterReputations(name: string, surname: string): ForeverCharacterReputations`\
  Returns a summary of a character's reputations.

### Character specializations

- `characterSpecializations(name: string, surname: string): ForeverCharacterSpecializations`\
  Returns a summary of a character's specializations.

### Character statistics

- `characterStatistics(name: string, surname: string): ForeverCharacterStatistics`\
  Returns a statistics summary for a character.

### Character titles

- `characterTitles(name: string, surname: string): ForeverCharacterTitles`\
  Returns a summary of the titles a character has obtained.

### Guild

- `guild(nameSlug: string): ForeverGuild`\
  Returns a single guild by its name slug.
- `guildAchievements(nameSlug: string): ForeverGuildAchievements`\
  Returns a guild's achievements.
- `guildActivity(nameSlug: string): ForeverGuildActivity`\
  Returns a guild's recent activity.
- `guildRoster(nameSlug: string): ForeverGuildRoster`\
  Returns a guild's roster.
