wow-api-transmog

Transmog 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-transmog" with this command: npx skills add jburlison/wowaddonapiagents/jburlison-wowaddonapiagents-wow-api-transmog

Transmog API (Retail — Patch 12.0.0)

Comprehensive reference for transmogrification, appearances, sets, outfits, dyes, and barber shop APIs.

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_Transmogrify — Applying transmog at NPC

  • C_TransmogCollection — Appearance sources, categories, collection status

  • C_TransmogSets — Transmog set management

  • C_TransmogOutfits — Outfit save/load

  • C_DyeColor / C_DyeColorInfo — Armor dye system (new in 12.0.0)

  • C_BarberShop — Character customization

C_Transmogrify — Applying Transmog

Function Returns Description

C_Transmogrify.ApplyAllPending()

— Apply all pending transmogs

C_Transmogrify.CanHaveSecondaryAppearanceForSlotID(slotID)

canHave

Has secondary slot?

C_Transmogrify.CanTransmogItem(itemInfo)

canTransmog, selfFailure, canTransmogKnownAppearance, canTransmogUncollected

Can transmog?

C_Transmogrify.CanTransmogItemWithItem(targetItemInfo, sourceItemInfo)

canTransmog

Can transmog source to target?

C_Transmogrify.ClearAllPending()

— Clear all pending transmogs

C_Transmogrify.ClearPending(slotID)

— Clear pending for slot

C_Transmogrify.Close()

— Close transmog window

C_Transmogrify.GetBaseCategory(slotID)

category

Base category for slot

C_Transmogrify.GetCost()

cost

Current transmog cost

C_Transmogrify.GetCreatureDisplayIDForSource(sourceID)

displayID

Creature display for source

C_Transmogrify.GetItemIDForSource(sourceID)

itemID

Item ID for source

C_Transmogrify.GetPending(slotID)

pendingInfo

Pending transmog for slot

C_Transmogrify.GetSlotEffectiveCategory(slotID)

category

Effective category for slot

C_Transmogrify.GetSlotInfo(slotID)

isTransmogrified, hasPending, isPendingCollected, canTransmogrify, cannotTransmogrifyReason, hasUndo, isHideVisual, texture

Slot transmog info

C_Transmogrify.GetSlotUseError(slotID)

errorCode, errorString

Slot error

C_Transmogrify.GetSlotVisualInfo(slotID)

baseSourceID, baseVisualID, appliedSourceID, appliedVisualID, pendingSourceID, pendingVisualID, hasPendingUndo, hideVisual, hasActiveSecondaryAppearance

Slot visual details

C_Transmogrify.SetPending(slotID, transmogType, modification, sourceID)

— Set pending transmog

C_TransmogCollection — Appearance Sources

Source & Appearance Info

Function Returns Description

C_TransmogCollection.GetSourceInfo(sourceID)

sourceInfo

Source details

C_TransmogCollection.GetAppearanceSourceInfo(sourceID)

category, appearanceID, canHaveIllusion, icon, isCollected, itemLink, transmogLink, sourceType, ...

Appearance source info

C_TransmogCollection.GetSourceItemID(sourceID)

itemID

Item for source

C_TransmogCollection.PlayerHasTransmog(itemID [, itemAppearanceModID])

hasTransmog

Has transmog collected?

C_TransmogCollection.PlayerHasTransmogItemModifiedAppearance(itemModifiedAppearanceID)

hasAppearance

Has modified appearance?

C_TransmogCollection.PlayerHasTransmogByItemInfo(itemInfo)

hasTransmog

Has transmog by item info?

C_TransmogCollection.GetItemInfo(itemInfo)

appearanceID, sourceID

Source for item

C_TransmogCollection.GetAllAppearanceSources(appearanceID)

sourceIDs

All sources for appearance

C_TransmogCollection.GetAppearanceSources(appearanceID [, categoryID [, transmogType]])

sources

Sources with info

Categories

Function Returns Description

C_TransmogCollection.GetCategoryAppearances(categoryID)

appearances

All appearances in category

C_TransmogCollection.GetCategoryCollectedCount(categoryID)

collected

Collected count

C_TransmogCollection.GetCategoryTotal(categoryID)

total

Total in category

C_TransmogCollection.GetNumTransmogSources()

numSources

Total sources

C_TransmogCollection.IsAppearanceCollected(appearanceID)

isCollected

Is appearance collected?

Illusions

Function Returns Description

C_TransmogCollection.GetIllusions()

illusions

All weapon illusions

C_TransmogCollection.GetIllusionSourceInfo(sourceID)

name, hyperlink, sourceText

Illusion source info

C_TransmogCollection.PlayerKnowsSource(sourceID)

isKnown

Knows source?

Search & Filtering

Function Returns Description

C_TransmogCollection.SetSearch(searchType, searchText)

— Set search filter

C_TransmogCollection.GetSearchResults(searchType)

results

Get search results

C_TransmogCollection.ClearSearch(searchType)

— Clear search

C_TransmogCollection.IsSearchInProgress(searchType)

inProgress

Is search running?

C_TransmogCollection.EndSearch()

— End search

C_TransmogCollection.GetIsAppearanceFavorite(appearanceID)

isFavorite

Is favorite?

C_TransmogCollection.SetIsAppearanceFavorite(appearanceID, isFavorite)

— Set favorite

C_TransmogSets — Transmog Sets

Function Returns Description

C_TransmogSets.GetAllSets()

sets

All transmog sets

C_TransmogSets.GetBaseSetsCounts()

numCollected, numTotal

base sets progress

C_TransmogSets.GetSetInfo(setID)

setInfo

Set details

C_TransmogSets.GetSetSources(setID)

sources

Sources in set

C_TransmogSets.GetSetPrimaryAppearances(setID)

appearances

Primary appearances

C_TransmogSets.GetBaseSets()

baseSets

All base sets

C_TransmogSets.GetBaseSetID(setID)

baseSetID

Base set for variant

C_TransmogSets.GetVariantSets(baseSetID)

variantSets

Variants of base set

C_TransmogSets.GetUsableSets()

usableSets

Sets usable by class

C_TransmogSets.HasUsableSets()

hasUsable

Has usable sets?

C_TransmogSets.IsSetCollected(setID)

isCollected

Set fully collected?

C_TransmogSets.IsSetUsable(setID)

isUsable

Set usable by player?

C_TransmogSets.IsNewAppearance(appearanceID)

isNew

New since last viewed?

C_TransmogSets.ClearNewAppearance(appearanceID)

— Mark as seen

C_TransmogSets.GetNumSetsCollected()

numCollected

Sets collected count

C_TransmogSets.GetNumSetsTotal()

numTotal

Total number of sets

C_TransmogSets.GetSetSourceCounts(setID)

numCollected, numTotal

Sources in set progress

C_TransmogSets.SetHasNewSources(setID)

hasNewSources

New sources in set?

C_TransmogSets.SetIsFavorite(setID, isFavorite)

— Toggle favorite

C_TransmogSets.GetIsFavorite(setID)

isFavorite

Is favorite set?

C_TransmogOutfits — Outfits

Function Returns Description

C_TransmogOutfits.GetOutfits()

outfits

All saved outfits

C_TransmogOutfits.GetOutfitInfo(outfitID)

name, icon

Outfit info

C_TransmogOutfits.NewOutfit(name, icon, sources)

outfitID

Create new outfit

C_TransmogOutfits.DeleteOutfit(outfitID)

— Delete outfit

C_TransmogOutfits.RenameOutfit(outfitID, name)

— Rename outfit

C_TransmogOutfits.SetOutfitIcon(outfitID, icon)

— Set outfit icon

C_TransmogOutfits.SaveOutfit(outfitID, sources)

— Update outfit

C_TransmogOutfits.GetOutfitSources(outfitID)

sources

Get all sources in outfit

C_TransmogOutfits.GetSlotSourceID(outfitID, slotID)

sourceID

Source for slot

C_DyeColor / C_DyeColorInfo — Armor Dyes (12.0.0)

New system for applying dye colors to armor appearances.

Function Returns Description

C_DyeColorInfo.GetDyeColorInfo(dyeColorID)

info

Dye color details

C_DyeColorInfo.GetAvailableDyeColors()

dyeColors

Available dye colors

C_DyeColorInfo.GetDyeColorCategories()

categories

Dye color categories

C_DyeColorInfo.IsDyeColorUnlocked(dyeColorID)

isUnlocked

Is color unlocked?

C_DyeColorInfo.GetNumUnlockedDyeColors()

numUnlocked

Unlocked dye count

C_BarberShop — Character Customization

Function Returns Description

C_BarberShop.IsViewingAlteredForm()

isViewing

Viewing alt form?

C_BarberShop.SetViewingAlteredForm(isViewing)

— Toggle alt form view

C_BarberShop.GetAvailableCustomizations()

customizations

Available customizations

C_BarberShop.GetCurrentCustomizations()

customizations

Current selections

C_BarberShop.SetCustomizationChoice(customizationCategoryID, choiceIndex)

— Set a choice

C_BarberShop.PreviewCustomizationChoice(customizationCategoryID, choiceIndex)

— Preview a choice

C_BarberShop.GetCustomizationScope()

scope

Customization scope

C_BarberShop.HasAnyChanges()

hasChanges

Has unsaved changes?

C_BarberShop.ApplyCustomizationChoices()

— Apply changes

C_BarberShop.Cancel()

— Cancel and close

C_BarberShop.ResetCustomizationChoices()

— Reset to current

C_BarberShop.GetCurrentCost()

cost

Cost for changes

C_BarberShop.MarkCustomizationChoiceAsSeen(choiceID)

— Mark choice seen

C_BarberShop.MarkCustomizationOptionAsSeen(optionID)

— Mark option seen

C_BarberShop.SetSelectedSex(sex)

— Set selected sex

Key Events

Event Payload Description

TRANSMOGRIFY_OPEN

— Transmog NPC opened

TRANSMOGRIFY_CLOSE

— Transmog NPC closed

TRANSMOGRIFY_UPDATE

slotID Transmog slot updated

TRANSMOGRIFY_SUCCESS

slotID Transmog applied

TRANSMOG_COLLECTION_SOURCE_ADDED

sourceID New source collected

TRANSMOG_COLLECTION_SOURCE_REMOVED

sourceID Source removed

TRANSMOG_COLLECTION_UPDATED

— Collection changed

TRANSMOG_COLLECTION_CAMERA_UPDATE

— Camera update

TRANSMOG_SETS_UPDATE_FAVORITE

— Set favorite changed

TRANSMOG_SEARCH_UPDATED

searchType Search results updated

TRANSMOG_OUTFITS_CHANGED

— Outfits changed

BARBER_SHOP_OPEN

— Barber shop opened

BARBER_SHOP_CLOSE

— Barber shop closed

BARBER_SHOP_COST_UPDATE

— Cost updated

BARBER_SHOP_APPEARANCE_APPLIED

— Appearance applied

BARBER_SHOP_RESULT

success Barber shop result

Gotchas & Restrictions

  • Transmog NPC required — C_Transmogrify.ApplyAllPending() and related functions only work at a transmog NPC.

  • sourceID vs appearanceID — A sourceID is a specific item drop source. An appearanceID is the visual look (multiple sources can share one appearance).

  • Category by armor type — Transmog categories are divided by armor slot and armor type (cloth, leather, mail, plate).

  • Dye system is new — The dye color system is new in 12.0.0 and APIs may evolve.

  • Barber shop requires presence — C_BarberShop functions only work while at the barber shop NPC.

  • Outfit limit — There's a maximum number of saved outfits per character.

  • Set variants — A base set can have multiple variants (different difficulties, etc.). Use GetVariantSets() .

  • illusion = weapon enchant visual — Illusions are the weapon glow effects. Separate from armor transmog.

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-api-lua-environment

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

wow-api-settings-system

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

wow-api-professions

No summary provided by upstream source.

Repository SourceNeeds Review