Reputation API (Retail — Patch 12.0.0)
Comprehensive reference for reputation, faction, major factions, paragon, and neighborhood initiative 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_Reputation — Faction info, standings, watched faction, headers
-
C_MajorFactions — Renown factions (Dragonflight+)
-
Friendship Reputations — Friendship-style rep (Tillers, etc.)
-
Paragon — Paragon reputation (post-max)
-
C_NeighborhoodInitiative — Housing neighborhood rep (12.0.0)
C_Reputation — Core Reputation System
Faction Info
Function Returns Description
C_Reputation.GetNumFactions()
numFactions
Number of factions in list
C_Reputation.GetFactionDataByIndex(index)
factionData
Faction data at index
C_Reputation.GetFactionDataByID(factionID)
factionData
Faction data by ID
C_Reputation.IsFactionActive(factionID)
isActive
Is faction active?
C_Reputation.IsMajorFaction(factionID)
isMajor
Is major faction?
C_Reputation.IsAccountWideReputation(factionID)
isAccountWide
Account-wide rep?
C_Reputation.GetFactionParagonInfo(factionID)
currentValue, threshold, questID, hasRewardPending, tooLowLevelForParagon
Paragon info
C_Reputation.IsFactionParagon(factionID)
isParagon
Has paragon?
C_Reputation.RequestFactionParagonPreloadRewardData(factionID)
— Preload paragon data
Faction Data Fields
The factionData table contains:
-
factionID — Unique faction ID
-
name — Faction name
-
description — Description text
-
reaction — Standing index (1=Hated to 8=Exalted)
-
currentReactionThreshold — Min rep for current standing
-
nextReactionThreshold — Rep needed for next standing
-
currentStanding — Current rep value
-
atWarWith — At war? (PvP hostile)
-
canToggleAtWar — Can toggle at war?
-
isChild — Is sub-faction?
-
isHeader — Is a header row?
-
isHeaderWithRep — Header that has rep?
-
isCollapsed — Is header collapsed?
-
isWatched — Is watched faction?
-
hasBonusRepGain — Has rep bonus?
-
canSetInactive — Can set inactive?
Watched Faction
Function Returns Description
C_Reputation.GetWatchedFactionData()
factionData
Watched faction info
C_Reputation.SetWatchedFactionByIndex(index)
— Set watched by index
Faction List Management
Function Returns Description
C_Reputation.ExpandFactionHeader(index)
— Expand header
C_Reputation.CollapseFactionHeader(index)
— Collapse header
C_Reputation.SetFactionActive(index)
— Set faction active
C_Reputation.SetFactionInactive(index)
— Set faction inactive
C_Reputation.ToggleAtWar(index)
— Toggle at war
Standing Names
Index Standing
1 Hated
2 Hostile
3 Unfriendly
4 Neutral
5 Friendly
6 Honored
7 Revered
8 Exalted
C_MajorFactions — Renown System
Major factions use renown levels instead of traditional reputation standings.
Function Returns Description
C_MajorFactions.GetMajorFactionData(factionID)
majorFactionData
Major faction info
C_MajorFactions.GetMajorFactionIDs(expansionID)
factionIDs
Major factions for expansion
C_MajorFactions.GetCurrentRenownLevel(factionID)
renownLevel
Current renown level
C_MajorFactions.GetRenownLevels(factionID)
levels
All renown levels
C_MajorFactions.GetRenownRewardsForLevel(factionID, renownLevel)
rewards
Rewards at level
C_MajorFactions.HasMaximumRenown(factionID)
hasMax
At max renown?
C_MajorFactions.IsWeeklyRenownCapped(factionID)
isCapped
Weekly cap reached?
C_MajorFactions.GetMajorFactionRenownInfo(factionID)
renownInfo
Renown progress info
Major Faction Data Fields
-
factionID — Faction ID
-
name — Faction name
-
celebrationSoundKit — Sound on level up
-
renownLevel — Current renown level
-
renownReputationEarned — Rep earned toward next level
-
renownLevelThreshold — Rep needed for next level
-
textureKit — UI texture kit
-
expansionID — Which expansion
-
isUnlocked — Is faction unlocked?
-
unlockDescription — How to unlock
Friendship Reputations
Some factions use friendship instead of traditional reputation.
Function Returns Description
C_Reputation.GetFriendshipReputation(factionID)
friendshipData
Friendship rep info
C_Reputation.IsFactionFriendship(factionID)
isFriendship
Uses friendship?
Friendship Data Fields
-
friendshipFactionID — Faction ID
-
standing — Current standing text (e.g., "Good Friend")
-
maxRep — Max rep for current tier
-
reputation — Current rep value
-
nextThreshold — Next tier threshold
-
text — Standing description
-
texture — Standing icon
-
reaction — Reaction index
-
reversedColor — Reverse progress bar color?
C_NeighborhoodInitiative — Housing Neighborhood (12.0.0)
New in 12.0.0 for the player housing system.
Function Returns Description
C_NeighborhoodInitiative.GetCurrentInitiative()
initiativeInfo
Current initiative
C_NeighborhoodInitiative.GetInitiativeProgress()
progress
Progress info
C_NeighborhoodInitiative.GetInitiativeRewards()
rewards
Initiative rewards
Common Patterns
List All Factions with Standing
local numFactions = C_Reputation.GetNumFactions() for i = 1, numFactions do local data = C_Reputation.GetFactionDataByIndex(i) if data and not data.isHeader then local standingNames = {"Hated","Hostile","Unfriendly","Neutral","Friendly","Honored","Revered","Exalted"} local standing = standingNames[data.reaction] or "Unknown" print(data.name, standing, data.currentStanding) end end
Check Renown Level
local function GetRenownProgress(factionID) if C_Reputation.IsMajorFaction(factionID) then local data = C_MajorFactions.GetMajorFactionData(factionID) if data then print(data.name, "Renown:", data.renownLevel) print("Progress:", data.renownReputationEarned, "/", data.renownLevelThreshold) return data.renownLevel end end return nil end
Check Paragon Reward
local function CheckParagonReward(factionID) if C_Reputation.IsFactionParagon(factionID) then local currentValue, threshold, questID, hasReward = C_Reputation.GetFactionParagonInfo(factionID) if hasReward then print("Paragon reward available for faction", factionID) end return hasReward end return false end
Key Events
Event Payload Description
UPDATE_FACTION
— Reputation changed
QUEST_LOG_UPDATE
— Quest/rep update (shared)
MAJOR_FACTION_RENOWN_LEVEL_CHANGED
factionID, newRenownLevel, oldRenownLevel Renown level up
MAJOR_FACTION_UNLOCKED
factionID Major faction unlocked
UPDATE_EXPANSION_LEVEL
— Expansion level changed
Gotchas & Restrictions
-
Headers in faction list — C_Reputation.GetFactionDataByIndex() returns headers. Check isHeader to skip.
-
Major factions vs traditional — Check C_Reputation.IsMajorFaction() to determine which API to use.
-
Paragon is post-exalted — GetFactionParagonInfo() only works for factions at Exalted (or max renown for major factions).
-
Friendship rep display — Friendship factions show custom standing names. Use GetFriendshipReputation() for proper display text.
-
Account-wide rep — Some 12.0.0 reps are account-wide. Check IsAccountWideReputation() .
-
Collapsed headers — Collapsed headers hide child factions from the indexed list. Expand before iterating.
-
Faction IDs are stable — Unlike indices, factionIDs are stable and can be persisted in SavedVariables.
-
Neighborhood initiative — New 12.0.0 system; APIs may evolve.