wow-api-reputation
SKILL.md
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 IDname— Faction namedescription— Description textreaction— Standing index (1=Hated to 8=Exalted)currentReactionThreshold— Min rep for current standingnextReactionThreshold— Rep needed for next standingcurrentStanding— Current rep valueatWarWith— 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 IDname— Faction namecelebrationSoundKit— Sound on level uprenownLevel— Current renown levelrenownReputationEarned— Rep earned toward next levelrenownLevelThreshold— Rep needed for next leveltextureKit— UI texture kitexpansionID— Which expansionisUnlocked— 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 IDstanding— Current standing text (e.g., "Good Friend")maxRep— Max rep for current tierreputation— Current rep valuenextThreshold— Next tier thresholdtext— Standing descriptiontexture— Standing iconreaction— Reaction indexreversedColor— 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. CheckisHeaderto 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.
Weekly Installs
3
Repository
jburlison/wowad…piagentsGitHub Stars
8
First Seen
11 days ago
Security Audits
Installed on
cline3
github-copilot3
codex3
gemini-cli3
cursor3
opencode3