AgentSkillsCN

wow-api-collections

WoW Retail坐骑、宠物、宠物战斗、玩具、马厩与传家宝收藏API的完整参考。涵盖C_MountJournal(坐骑列表、筛选、收藏、召唤、显示信息)、C_PetJournal(宠物收藏、收藏、召唤、圈养、技能)、C_PetBattles(宠物战斗系统、回合制、行动、宠物、技能、陷阱)、C_PetInfo、C_ToyBox/C_ToyBoxInfo(玩具收藏、使用、收藏)、C_StableInfo(猎人宠物马厩)、C_Heirloom/C_HeirloomInfo(传家宝收藏、升级)。当您需要操作坐骑日志、宠物日志、宠物战斗、玩具箱、传家宝收藏,或猎人马厩时,此参考手册将为您提供全面支持。

SKILL.md
--- frontmatter
name: wow-api-collections
description: "Complete reference for WoW Retail Mount, Pet, Pet Battle, Toy, Stable, and Heirloom Collection APIs. Covers C_MountJournal (mount list, filtering, favorites, summoning, display info), C_PetJournal (pet collection, favorites, summoning, caging, abilities), C_PetBattles (pet battle system, turns, actions, pets, abilities, traps), C_PetInfo, C_ToyBox/C_ToyBoxInfo (toy collection, use, favorites), C_StableInfo (hunter pet stables), C_Heirloom/C_HeirloomInfo (heirloom collection, upgrades). Use when working with mount journal, pet journal, pet battles, toy box, heirloom collection, or hunter stables."

Collections API (Retail — Patch 12.0.0)

Comprehensive reference for mounts, pets, pet battles, toys, stables, and heirlooms.

Source: https://warcraft.wiki.gg/wiki/World_of_Warcraft_API Current as of: Patch 12.0.0 (Build 65655) — January 28, 2026 Scope: Retail only.


Scope

  • C_MountJournal — Mounts collection and summoning
  • C_PetJournal — Pet collection management
  • C_PetBattles — Pet battle system
  • C_PetInfo — Pet info utilities
  • C_ToyBox / C_ToyBoxInfo — Toy collection
  • C_StableInfo — Hunter pet stables
  • C_Heirloom / C_HeirloomInfo — Heirloom collection

C_MountJournal — Mounts

Mount List & Info

FunctionReturnsDescription
C_MountJournal.GetNumMounts()numMountsTotal mounts in journal
C_MountJournal.GetNumDisplayedMounts()numDisplayedFiltered mount count
C_MountJournal.GetDisplayedMountInfo(displayIndex)name, spellID, icon, isActive, isUsable, sourceType, isFavorite, isFactionSpecific, faction, shouldHideOnChar, isCollected, mountID, ...Mount display info
C_MountJournal.GetDisplayedMountInfoExtra(displayIndex)creatureDisplayInfoID, description, source, isSelfMount, mountTypeID, uiModelSceneID, animID, spellVisualKitID, disablePlayerMountPreviewExtra mount display info
C_MountJournal.GetMountInfoByID(mountID)name, spellID, icon, isActive, isUsable, sourceType, isFavorite, isFactionSpecific, faction, shouldHideOnChar, isCollected, mountIDMount info by ID
C_MountJournal.GetMountInfoExtraByID(mountID)creatureDisplayInfoID, description, source, isSelfMount, mountTypeID, ...Extra info by ID
C_MountJournal.GetMountFromItem(itemID)mountIDMount from item
C_MountJournal.GetMountFromSpell(spellID)mountIDMount from spell
C_MountJournal.GetMountIDs()mountIDsAll mount IDs
C_MountJournal.GetCollectedFilterSetting(filterIndex)isCheckedCollection filter
C_MountJournal.SetCollectedFilterSetting(filterIndex, isChecked)Set collection filter
C_MountJournal.GetMountAllCreatureDisplayInfoByID(mountID)displayInfoAll creature displays
C_MountJournal.GetMountUsabilityByID(mountID, checkIndoors)isUsable, useErrorCheck mount usability

Mount Actions

FunctionReturnsDescription
C_MountJournal.SummonByID(mountID)Summon mount
C_MountJournal.Dismiss()Dismiss mount
C_MountJournal.SetIsFavorite(mountIndex, isFavorite)Toggle favorite
C_MountJournal.GetIsFavorite(mountIndex)isFavorite, canSetFavoriteIs favorite?
C_MountJournal.Pickup(displayIndex)Pick up mount to cursor
C_MountJournal.IsItemMountEquipment(itemID)isMountEquipmentIs mount equipment?
C_MountJournal.GetAppliedMountEquipmentID()itemIDApplied mount equipment
C_MountJournal.ApplyMountEquipment(itemID)Apply mount equipment
C_MountJournal.IsSourceChecked(filterIndex)isCheckedSource filter checked?
C_MountJournal.SetSourceFilter(filterIndex, isChecked)Set source filter
C_MountJournal.IsValidSourceFilter(filterIndex)isValidValid source filter?
C_MountJournal.GetNumMountsNeedingFanfare()numMountsMounts needing fanfare

Global Mount Functions

FunctionReturnsDescription
IsMounted()isMountedIs player mounted?
Dismount()Dismount
GetMountCreatureDisplayInfoByID(mountID, index)displayID, isVisibleDisplay info

C_PetJournal — Pet Collection

Pet List & Info

FunctionReturnsDescription
C_PetJournal.GetNumPets()numPets, numOwnedTotal / owned pet count
C_PetJournal.GetPetInfoByIndex(index)petID, speciesID, owned, customName, level, favorite, isRevoked, speciesName, icon, petType, companionID, tooltip, description, isWild, canBattle, isTradeable, isUnique, obtainablePet info by index
C_PetJournal.GetPetInfoByPetID(petID)speciesID, customName, level, xp, maxXp, displayID, isFavorite, name, icon, petType, creatureID, sourceText, description, isWild, canBattle, isTradeable, isUnique, obtainable, ...Pet info by pet ID
C_PetJournal.GetPetInfoBySpeciesID(speciesID)name, icon, petType, companionID, tooltipSource, tooltipDescription, isWild, canBattle, isTradeable, isUnique, obtainable, creatureDisplayIDPet species info
C_PetJournal.GetPetInfoByItemID(itemID)speciesIDSpecies from item
C_PetJournal.GetNumPetSources()numSourcesNumber of sources
C_PetJournal.GetNumPetTypes()numTypesNumber of types
C_PetJournal.GetOwnedBattlePetString(speciesID)ownedString"X/3 owned" text
C_PetJournal.GetBattlePetBreedName(speciesID)breedNameBreed name
C_PetJournal.GetPetStats(petID)health, maxHealth, power, speed, rarityBattle stats
C_PetJournal.GetPetAbilityInfo(abilityID)name, icon, typeAbility info
C_PetJournal.GetPetAbilityList(speciesID [, idTable [, levelTable]])abilities, levelsSpecies abilities

Pet Actions

FunctionReturnsDescription
C_PetJournal.SummonPetByGUID(petID)Summon companion pet
C_PetJournal.DismissSummonedPet()Dismiss summoned pet
C_PetJournal.GetSummonedPetGUID()petIDCurrently summoned pet
C_PetJournal.SetFavorite(petID, favorite)Toggle favorite
C_PetJournal.SetCustomName(petID, name)Rename pet
C_PetJournal.ReleasePetByID(petID)Release (delete) pet
C_PetJournal.CagePetByID(petID)Cage pet for trading
C_PetJournal.PetIsSummonable(petID)isSummonable, errorCan summon?
C_PetJournal.FindPetIDByName(name)petIDFind pet by name
C_PetJournal.PickupPet(petID)Pick up to cursor

Pet Filters

FunctionReturnsDescription
C_PetJournal.SetSearchFilter(text)Filter by name
C_PetJournal.ClearSearchFilter()Clear search filter
C_PetJournal.IsFilterChecked(filterIndex)isCheckedSource filter
C_PetJournal.SetFilterChecked(filterIndex, isChecked)Set source filter
C_PetJournal.IsPetTypeChecked(petType)isCheckedType filter
C_PetJournal.SetPetTypeFilter(petType, isChecked)Set type filter
C_PetJournal.SetPetSortParameter(sortParam)Set sort parameter

C_PetBattles — Pet Battle System

Battle State

FunctionReturnsDescription
C_PetBattles.IsInBattle()inBattleIn pet battle?
C_PetBattles.IsWildBattle()isWildWild pet battle?
C_PetBattles.IsPVPBattle()isPVPPvP pet battle?
C_PetBattles.IsPlayerNPC(owner)isNPCIs owner NPC?
C_PetBattles.GetActivePet(owner)petIndexActive pet index
C_PetBattles.GetNumPets(owner)numPetsOwner's pet count
C_PetBattles.IsWaitingOnOpponent()isWaitingWaiting for opponent?
C_PetBattles.ShouldShowPetSelect()shouldShowShow pet select?

Battle Pet Info

FunctionReturnsDescription
C_PetBattles.GetName(owner, petIndex)namePet name
C_PetBattles.GetDisplayID(owner, petIndex)displayIDDisplay model
C_PetBattles.GetLevel(owner, petIndex)levelPet level
C_PetBattles.GetHealth(owner, petIndex)healthCurrent health
C_PetBattles.GetMaxHealth(owner, petIndex)maxHealthMax health
C_PetBattles.GetPower(owner, petIndex)powerPower stat
C_PetBattles.GetSpeed(owner, petIndex)speedSpeed stat
C_PetBattles.GetBreedQuality(owner, petIndex)qualityQuality (1-4)
C_PetBattles.GetPetType(owner, petIndex)typePet type
C_PetBattles.GetIcon(owner, petIndex)iconPet icon
C_PetBattles.GetSpeciesID(owner, petIndex)speciesIDSpecies ID
C_PetBattles.IsAlive(owner, petIndex)isAliveIs pet alive?
C_PetBattles.IsCapturable(owner, petIndex)canCaptureCan this pet be captured?

Battle Actions

FunctionReturnsDescription
C_PetBattles.UseAbility(abilityIndex)Use ability
C_PetBattles.ChangePet(petIndex)Switch pet
C_PetBattles.UseTrap()Use pet trap
C_PetBattles.SkipTurn()Skip turn
C_PetBattles.ForfeitGame()Forfeit battle
C_PetBattles.GetAbilityInfo(owner, petIndex, abilityIndex)name, icon, typeAbility info
C_PetBattles.GetAbilityState(owner, petIndex, abilityIndex)isUsable, currentCooldown, currentLockdownAbility state
C_PetBattles.GetTurnTimeInfo()timeRemaining, totalTimeTurn timer

Battle Owner Constants

ConstantValueDescription
Enum.BattlePetOwner.Ally1Player's side
Enum.BattlePetOwner.Enemy2Opponent's side

C_ToyBox / C_ToyBoxInfo — Toys

FunctionReturnsDescription
C_ToyBox.GetNumTotalDisplayedToys()numToysDisplayed toy count
C_ToyBox.GetNumLearnedDisplayedToys()numLearnedLearned displayed count
C_ToyBox.GetToyFromIndex(index)itemIDToy at display index
C_ToyBox.GetToyInfo(itemID)itemID, toyName, icon, isFavorite, hasFanfare, qualityEnumToy details
C_ToyBox.GetToyLink(itemID)linkToy item link
C_ToyBox.IsToyUsable(itemID)isUsableCan use toy now?
C_ToyBox.HasFavorites()hasFavoritesHas favorite toys?
C_ToyBox.SetIsFavorite(itemID, isFavorite)Toggle favorite
C_ToyBox.GetIsFavorite(itemID)isFavoriteIs toy favorite?
C_ToyBox.ForceToyRefilter()Refilter toy list
C_ToyBox.SetFilterString(filter)Set search filter
C_ToyBox.GetFilterString()filterCurrent filter
C_ToyBox.IsExpansionTypeFilterChecked(expansion)isCheckedExpansion filter
C_ToyBox.SetExpansionTypeFilter(expansion, isChecked)Set expansion filter
C_ToyBox.IsSourceTypeFilterChecked(sourceType)isCheckedSource filter
C_ToyBox.SetSourceTypeFilter(sourceType, isChecked)Set source filter
C_ToyBox.SetAllSourceTypeFilters(isChecked)Set all source filters
C_ToyBox.PickupToyBoxItem(itemID)Pick up toy
C_ToyBoxInfo.ClearFanfare(itemID)Clear fanfare
C_ToyBoxInfo.NeedsFanfare(itemID)needsFanfareNeeds fanfare?
PlayerHasToy(itemID)hasToyHas toy collected?
UseToy(itemID)Use a toy

C_StableInfo — Hunter Pet Stables

FunctionReturnsDescription
C_StableInfo.GetStablePetInfo(index)infoStable pet info
C_StableInfo.GetNumStablePets()numPetsPets in stable
C_StableInfo.GetActivePetList()activeListActive pet list
C_StableInfo.GetStabledPetList()stabledListStabled pet list
C_StableInfo.IsStabledPet(index)isStabledIs pet stabled?
C_StableInfo.SetPetSlot(localIndex, slot)Set pet to slot
C_StableInfo.PickupStablePet(index)Pick up pet

C_Heirloom / C_HeirloomInfo — Heirlooms

FunctionReturnsDescription
C_Heirloom.GetNumHeirlooms()numHeirloomsTotal heirlooms
C_Heirloom.GetNumKnownHeirlooms()numKnownCollected count
C_Heirloom.GetHeirloomInfo(itemID)alreadyHas, canUpgrade, ...Heirloom info
C_Heirloom.GetHeirloomMaxUpgradeLevel(itemID)maxLevelMax upgrade level
C_Heirloom.GetHeirloomLink(itemID)linkHeirloom item link
C_Heirloom.PlayerHasHeirloom(itemID)hasHeirloomHas heirloom?
C_Heirloom.CanHeirloomUpgradeFromPending(itemID)canUpgradeCan upgrade?
C_Heirloom.CreateHeirloom(itemID)Create heirloom
C_Heirloom.UpgradeHeirloom(itemID)Upgrade heirloom
C_Heirloom.IsMod23ArmorHeirloom(itemID)isMod23Is Mod23 armor?

Key Events

EventPayloadDescription
MOUNT_JOURNAL_USABILITY_CHANGEDMount usability changed
MOUNT_JOURNAL_SEARCH_UPDATEDMount search updated
NEW_MOUNT_ADDEDmountIDNew mount collected
COMPANION_UPDATEcompanionTypeCompanion updated
NEW_PET_ADDEDpetIDNew pet collected
PET_JOURNAL_LIST_UPDATEPet list updated
PET_JOURNAL_PET_DELETEDpetIDPet deleted
PET_BATTLE_OPENING_STARTPet battle starting
PET_BATTLE_OPENING_DONEPet battle started
PET_BATTLE_CLOSEPet battle ended
PET_BATTLE_TURN_STARTEDTurn started
PET_BATTLE_PET_ROUND_RESULTSRound results
PET_BATTLE_OVERBattle over
PET_BATTLE_FINAL_ROUNDFinal round
TOYS_UPDATEDitemID, isNew, hasFanfareToy collection updated
NEW_TOY_ADDEDitemIDNew toy collected
HEIRLOOMS_UPDATEDitemID, updateReasonHeirloom updated
HEIRLOOM_UPGRADE_TARGETING_CHANGEDpendingHeirloomUpgradeUpgrade targeting

Gotchas & Restrictions

  1. Mount IDs vs spell IDs — Mounts have both a mountID and a spellID. SummonByID() takes mountID.
  2. Pet GUIDs are session-specific — Pet GUIDs (petID returned by journal functions) persist across sessions, but BattlePet GUIDs in combat are different.
  3. Pet battle restrictions — Pet battle functions only work during active pet battles. Check C_PetBattles.IsInBattle() first.
  4. Toy cooldownsUseToy() respects cooldowns. Check C_ToyBox.IsToyUsable() before use.
  5. Display index vs IDGetDisplayedMountInfo() takes a filtered list index, not a mountID. Index changes with filters.
  6. Summon requires hardware eventSummonByID() and SummonPetByGUID() require a hardware event.
  7. Pet battle ownership — Use Enum.BattlePetOwner.Ally (1) and Enum.BattlePetOwner.Enemy (2) for owner parameters.
  8. Heirloom creationCreateHeirloom() requires the appropriate currency/cost. Check CanHeirloomUpgradeFromPending().