wow-api-collections

Collections API (Retail — Patch 12.0.0)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "wow-api-collections" with this command: npx skills add jburlison/wowaddonapiagents/jburlison-wowaddonapiagents-wow-api-collections

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

Function Returns Description

C_MountJournal.GetNumMounts()

numMounts

Total mounts in journal

C_MountJournal.GetNumDisplayedMounts()

numDisplayed

Filtered 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, disablePlayerMountPreview

Extra mount display info

C_MountJournal.GetMountInfoByID(mountID)

name, spellID, icon, isActive, isUsable, sourceType, isFavorite, isFactionSpecific, faction, shouldHideOnChar, isCollected, mountID

Mount info by ID

C_MountJournal.GetMountInfoExtraByID(mountID)

creatureDisplayInfoID, description, source, isSelfMount, mountTypeID, ...

Extra info by ID

C_MountJournal.GetMountFromItem(itemID)

mountID

Mount from item

C_MountJournal.GetMountFromSpell(spellID)

mountID

Mount from spell

C_MountJournal.GetMountIDs()

mountIDs

All mount IDs

C_MountJournal.GetCollectedFilterSetting(filterIndex)

isChecked

Collection filter

C_MountJournal.SetCollectedFilterSetting(filterIndex, isChecked)

— Set collection filter

C_MountJournal.GetMountAllCreatureDisplayInfoByID(mountID)

displayInfo

All creature displays

C_MountJournal.GetMountUsabilityByID(mountID, checkIndoors)

isUsable, useError

Check mount usability

Mount Actions

Function Returns Description

C_MountJournal.SummonByID(mountID)

— Summon mount

C_MountJournal.Dismiss()

— Dismiss mount

C_MountJournal.SetIsFavorite(mountIndex, isFavorite)

— Toggle favorite

C_MountJournal.GetIsFavorite(mountIndex)

isFavorite, canSetFavorite

Is favorite?

C_MountJournal.Pickup(displayIndex)

— Pick up mount to cursor

C_MountJournal.IsItemMountEquipment(itemID)

isMountEquipment

Is mount equipment?

C_MountJournal.GetAppliedMountEquipmentID()

itemID

Applied mount equipment

C_MountJournal.ApplyMountEquipment(itemID)

— Apply mount equipment

C_MountJournal.IsSourceChecked(filterIndex)

isChecked

Source filter checked?

C_MountJournal.SetSourceFilter(filterIndex, isChecked)

— Set source filter

C_MountJournal.IsValidSourceFilter(filterIndex)

isValid

Valid source filter?

C_MountJournal.GetNumMountsNeedingFanfare()

numMounts

Mounts needing fanfare

Global Mount Functions

Function Returns Description

IsMounted()

isMounted

Is player mounted?

Dismount()

— Dismount

GetMountCreatureDisplayInfoByID(mountID, index)

displayID, isVisible

Display info

C_PetJournal — Pet Collection

Pet List & Info

Function Returns Description

C_PetJournal.GetNumPets()

numPets, numOwned

Total / owned pet count

C_PetJournal.GetPetInfoByIndex(index)

petID, speciesID, owned, customName, level, favorite, isRevoked, speciesName, icon, petType, companionID, tooltip, description, isWild, canBattle, isTradeable, isUnique, obtainable

Pet 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, creatureDisplayID

Pet species info

C_PetJournal.GetPetInfoByItemID(itemID)

speciesID

Species from item

C_PetJournal.GetNumPetSources()

numSources

Number of sources

C_PetJournal.GetNumPetTypes()

numTypes

Number of types

C_PetJournal.GetOwnedBattlePetString(speciesID)

ownedString

"X/3 owned" text

C_PetJournal.GetBattlePetBreedName(speciesID)

breedName

Breed name

C_PetJournal.GetPetStats(petID)

health, maxHealth, power, speed, rarity

Battle stats

C_PetJournal.GetPetAbilityInfo(abilityID)

name, icon, type

Ability info

C_PetJournal.GetPetAbilityList(speciesID [, idTable [, levelTable]])

abilities, levels

Species abilities

Pet Actions

Function Returns Description

C_PetJournal.SummonPetByGUID(petID)

— Summon companion pet

C_PetJournal.DismissSummonedPet()

— Dismiss summoned pet

C_PetJournal.GetSummonedPetGUID()

petID

Currently 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, error

Can summon?

C_PetJournal.FindPetIDByName(name)

petID

Find pet by name

C_PetJournal.PickupPet(petID)

— Pick up to cursor

Pet Filters

Function Returns Description

C_PetJournal.SetSearchFilter(text)

— Filter by name

C_PetJournal.ClearSearchFilter()

— Clear search filter

C_PetJournal.IsFilterChecked(filterIndex)

isChecked

Source filter

C_PetJournal.SetFilterChecked(filterIndex, isChecked)

— Set source filter

C_PetJournal.IsPetTypeChecked(petType)

isChecked

Type filter

C_PetJournal.SetPetTypeFilter(petType, isChecked)

— Set type filter

C_PetJournal.SetPetSortParameter(sortParam)

— Set sort parameter

C_PetBattles — Pet Battle System

Battle State

Function Returns Description

C_PetBattles.IsInBattle()

inBattle

In pet battle?

C_PetBattles.IsWildBattle()

isWild

Wild pet battle?

C_PetBattles.IsPVPBattle()

isPVP

PvP pet battle?

C_PetBattles.IsPlayerNPC(owner)

isNPC

Is owner NPC?

C_PetBattles.GetActivePet(owner)

petIndex

Active pet index

C_PetBattles.GetNumPets(owner)

numPets

Owner's pet count

C_PetBattles.IsWaitingOnOpponent()

isWaiting

Waiting for opponent?

C_PetBattles.ShouldShowPetSelect()

shouldShow

Show pet select?

Battle Pet Info

Function Returns Description

C_PetBattles.GetName(owner, petIndex)

name

Pet name

C_PetBattles.GetDisplayID(owner, petIndex)

displayID

Display model

C_PetBattles.GetLevel(owner, petIndex)

level

Pet level

C_PetBattles.GetHealth(owner, petIndex)

health

Current health

C_PetBattles.GetMaxHealth(owner, petIndex)

maxHealth

Max health

C_PetBattles.GetPower(owner, petIndex)

power

Power stat

C_PetBattles.GetSpeed(owner, petIndex)

speed

Speed stat

C_PetBattles.GetBreedQuality(owner, petIndex)

quality

Quality (1-4)

C_PetBattles.GetPetType(owner, petIndex)

type

Pet type

C_PetBattles.GetIcon(owner, petIndex)

icon

Pet icon

C_PetBattles.GetSpeciesID(owner, petIndex)

speciesID

Species ID

C_PetBattles.IsAlive(owner, petIndex)

isAlive

Is pet alive?

C_PetBattles.IsCapturable(owner, petIndex)

canCapture

Can this pet be captured?

Battle Actions

Function Returns Description

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, type

Ability info

C_PetBattles.GetAbilityState(owner, petIndex, abilityIndex)

isUsable, currentCooldown, currentLockdown

Ability state

C_PetBattles.GetTurnTimeInfo()

timeRemaining, totalTime

Turn timer

Battle Owner Constants

Constant Value Description

Enum.BattlePetOwner.Ally

1 Player's side

Enum.BattlePetOwner.Enemy

2 Opponent's side

C_ToyBox / C_ToyBoxInfo — Toys

Function Returns Description

C_ToyBox.GetNumTotalDisplayedToys()

numToys

Displayed toy count

C_ToyBox.GetNumLearnedDisplayedToys()

numLearned

Learned displayed count

C_ToyBox.GetToyFromIndex(index)

itemID

Toy at display index

C_ToyBox.GetToyInfo(itemID)

itemID, toyName, icon, isFavorite, hasFanfare, qualityEnum

Toy details

C_ToyBox.GetToyLink(itemID)

link

Toy item link

C_ToyBox.IsToyUsable(itemID)

isUsable

Can use toy now?

C_ToyBox.HasFavorites()

hasFavorites

Has favorite toys?

C_ToyBox.SetIsFavorite(itemID, isFavorite)

— Toggle favorite

C_ToyBox.GetIsFavorite(itemID)

isFavorite

Is toy favorite?

C_ToyBox.ForceToyRefilter()

— Refilter toy list

C_ToyBox.SetFilterString(filter)

— Set search filter

C_ToyBox.GetFilterString()

filter

Current filter

C_ToyBox.IsExpansionTypeFilterChecked(expansion)

isChecked

Expansion filter

C_ToyBox.SetExpansionTypeFilter(expansion, isChecked)

— Set expansion filter

C_ToyBox.IsSourceTypeFilterChecked(sourceType)

isChecked

Source 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)

needsFanfare

Needs fanfare?

PlayerHasToy(itemID)

hasToy

Has toy collected?

UseToy(itemID)

— Use a toy

C_StableInfo — Hunter Pet Stables

Function Returns Description

C_StableInfo.GetStablePetInfo(index)

info

Stable pet info

C_StableInfo.GetNumStablePets()

numPets

Pets in stable

C_StableInfo.GetActivePetList()

activeList

Active pet list

C_StableInfo.GetStabledPetList()

stabledList

Stabled pet list

C_StableInfo.IsStabledPet(index)

isStabled

Is pet stabled?

C_StableInfo.SetPetSlot(localIndex, slot)

— Set pet to slot

C_StableInfo.PickupStablePet(index)

— Pick up pet

C_Heirloom / C_HeirloomInfo — Heirlooms

Function Returns Description

C_Heirloom.GetNumHeirlooms()

numHeirlooms

Total heirlooms

C_Heirloom.GetNumKnownHeirlooms()

numKnown

Collected count

C_Heirloom.GetHeirloomInfo(itemID)

alreadyHas, canUpgrade, ...

Heirloom info

C_Heirloom.GetHeirloomMaxUpgradeLevel(itemID)

maxLevel

Max upgrade level

C_Heirloom.GetHeirloomLink(itemID)

link

Heirloom item link

C_Heirloom.PlayerHasHeirloom(itemID)

hasHeirloom

Has heirloom?

C_Heirloom.CanHeirloomUpgradeFromPending(itemID)

canUpgrade

Can upgrade?

C_Heirloom.CreateHeirloom(itemID)

— Create heirloom

C_Heirloom.UpgradeHeirloom(itemID)

— Upgrade heirloom

C_Heirloom.IsMod23ArmorHeirloom(itemID)

isMod23

Is Mod23 armor?

Key Events

Event Payload Description

MOUNT_JOURNAL_USABILITY_CHANGED

— Mount usability changed

MOUNT_JOURNAL_SEARCH_UPDATED

— Mount search updated

NEW_MOUNT_ADDED

mountID New mount collected

COMPANION_UPDATE

companionType Companion updated

NEW_PET_ADDED

petID New pet collected

PET_JOURNAL_LIST_UPDATE

— Pet list updated

PET_JOURNAL_PET_DELETED

petID Pet deleted

PET_BATTLE_OPENING_START

— Pet battle starting

PET_BATTLE_OPENING_DONE

— Pet battle started

PET_BATTLE_CLOSE

— Pet battle ended

PET_BATTLE_TURN_STARTED

— Turn started

PET_BATTLE_PET_ROUND_RESULTS

— Round results

PET_BATTLE_OVER

— Battle over

PET_BATTLE_FINAL_ROUND

— Final round

TOYS_UPDATED

itemID, isNew, hasFanfare Toy collection updated

NEW_TOY_ADDED

itemID New toy collected

HEIRLOOMS_UPDATED

itemID, updateReason Heirloom updated

HEIRLOOM_UPGRADE_TARGETING_CHANGED

pendingHeirloomUpgrade Upgrade targeting

Gotchas & Restrictions

  • Mount IDs vs spell IDs — Mounts have both a mountID and a spellID. SummonByID() takes mountID.

  • Pet GUIDs are session-specific — Pet GUIDs (petID returned by journal functions) persist across sessions, but BattlePet GUIDs in combat are different.

  • Pet battle restrictions — Pet battle functions only work during active pet battles. Check C_PetBattles.IsInBattle() first.

  • Toy cooldowns — UseToy() respects cooldowns. Check C_ToyBox.IsToyUsable() before use.

  • Display index vs ID — GetDisplayedMountInfo() takes a filtered list index, not a mountID. Index changes with filters.

  • Summon requires hardware event — SummonByID() and SummonPetByGUID() require a hardware event.

  • Pet battle ownership — Use Enum.BattlePetOwner.Ally (1) and Enum.BattlePetOwner.Enemy (2) for owner parameters.

  • Heirloom creation — CreateHeirloom() requires the appropriate currency/cost. Check CanHeirloomUpgradeFromPending() .

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

wow-addon-structure

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

wow-lua-api

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

wow-api-map-navigation

No summary provided by upstream source.

Repository SourceNeeds Review