Weekly Rewards API (Retail — Patch 12.0.0)
Comprehensive reference for the Great Vault / weekly rewards system.
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_WeeklyRewards — Great Vault UI, activities, rewards, item selection
C_WeeklyRewards — Great Vault System
Activity Tracking
| Function |
Returns |
Description |
C_WeeklyRewards.GetActivities(type) |
activities |
Activities for type |
C_WeeklyRewards.HasAvailableRewards() |
hasRewards |
Rewards available? |
C_WeeklyRewards.CanClaimRewards() |
canClaim |
Can claim now? |
C_WeeklyRewards.HasGeneratedRewards() |
hasGenerated |
Rewards generated? |
C_WeeklyRewards.GetNumCompletedDungeonRuns(level) |
numCompleted |
M+ runs at level+ |
Activity Types
| Enum |
Value |
Description |
Enum.WeeklyRewardChestThresholdType.Activities |
0 |
World activities |
Enum.WeeklyRewardChestThresholdType.RankedPvP |
1 |
Rated PvP |
Enum.WeeklyRewardChestThresholdType.MythicPlus |
2 |
Mythic+ dungeons |
Enum.WeeklyRewardChestThresholdType.Raid |
3 |
Raid bosses |
Enum.WeeklyRewardChestThresholdType.World |
4 |
World content |
Activity Data Fields
Each activity entry contains:
type — Activity type enum
index — Slot index (1, 2, 3)
threshold — Completions needed
progress — Current completions
id — Activity ID
level — Key level / difficulty / rating tier
rewards — Available rewards table
rewardOptions — Reward item options
Reward Selection
| Function |
Returns |
Description |
C_WeeklyRewards.ClaimReward(id) |
— |
Claim specific reward |
C_WeeklyRewards.GetItemHyperlink(rewardInfo) |
hyperlink |
Item link for reward |
C_WeeklyRewards.GetExampleRewardItemHyperlinks(id) |
hyperlinks |
Example rewards |
C_WeeklyRewards.AreRewardsForCurrentRewardPeriod() |
isCurrent |
Current week's rewards? |
Item Preview & Equip
| Function |
Returns |
Description |
C_WeeklyRewards.CanClaimRewards() |
canClaim |
Can claim? |
C_WeeklyRewards.HasAvailableRewards() |
hasAvailable |
Has unclaimed? |
Concurrency Info
| Function |
Returns |
Description |
C_WeeklyRewards.GetConquestWeeklyProgress() |
progress |
Conquest earned |
Common Patterns
Display Great Vault Status
local function ShowVaultStatus()
local activityTypes = {
{type = Enum.WeeklyRewardChestThresholdType.MythicPlus, name = "Mythic+"},
{type = Enum.WeeklyRewardChestThresholdType.Raid, name = "Raid"},
{type = Enum.WeeklyRewardChestThresholdType.RankedPvP, name = "PvP"},
{type = Enum.WeeklyRewardChestThresholdType.World, name = "World"},
}
for _, actType in ipairs(activityTypes) do
local activities = C_WeeklyRewards.GetActivities(actType.type)
if activities then
print(actType.name .. ":")
for _, activity in ipairs(activities) do
local status = activity.progress >= activity.threshold and "COMPLETE" or
(activity.progress .. "/" .. activity.threshold)
local levelInfo = activity.level > 0 and (" (Level " .. activity.level .. ")") or ""
print(" Slot " .. activity.index .. ": " .. status .. levelInfo)
end
end
end
end
Check for Available Rewards
local f = CreateFrame("Frame")
f:RegisterEvent("WEEKLY_REWARDS_UPDATE")
f:SetScript("OnEvent", function()
if C_WeeklyRewards.HasAvailableRewards() then
print("You have Great Vault rewards to claim!")
end
end)
Preview Vault Rewards
local function PreviewVaultRewards()
local allActivities = {
C_WeeklyRewards.GetActivities(Enum.WeeklyRewardChestThresholdType.MythicPlus),
C_WeeklyRewards.GetActivities(Enum.WeeklyRewardChestThresholdType.Raid),
C_WeeklyRewards.GetActivities(Enum.WeeklyRewardChestThresholdType.RankedPvP),
}
for _, activities in ipairs(allActivities) do
if activities then
for _, activity in ipairs(activities) do
if activity.progress >= activity.threshold then
local links = C_WeeklyRewards.GetExampleRewardItemHyperlinks(activity.id)
if links then
for _, link in ipairs(links) do
print(" Possible:", link)
end
end
end
end
end
end
end
Key Events
| Event |
Payload |
Description |
WEEKLY_REWARDS_UPDATE |
— |
Vault data changed |
WEEKLY_REWARDS_SHOW |
— |
Vault UI opened |
WEEKLY_REWARDS_HIDE |
— |
Vault UI closed |
WEEKLY_REWARDS_ITEM_CHANGED |
— |
Reward item changed |
Gotchas & Restrictions
- Weekly reset timing — Rewards are generated at weekly reset; APIs return no data before Tuesday/Wednesday reset.
- Claim requires hardware —
ClaimReward() requires user interaction.
- Activity types vary by season — Not all activity types are active every season.
- Three slots per type — Each type has 3 reward slots with increasing thresholds.
- Level field meaning changes — For M+ it's key level, for raids it's difficulty, for PvP it's rating bracket.
- Example rewards are estimates —
GetExampleRewardItemHyperlinks() shows possible rewards, not guaranteed ones.
- Rewards expire — Unclaimed vault rewards from a previous week may be forfeited.
- HasAvailableRewards() vs HasGeneratedRewards() — Generated means the vault has rolled items; Available means the player can claim them now.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: wow-api-weekly-rewards3description: Complete reference for WoW Retail Weekly Rewards (Great Vault) API. Covers C_WeeklyRewards — vault activities (M+, raids, PvP, world), reward selection, item preview, canEquip checks, vault UI state, and related events. Use when working with the Great Vault, weekly reward choices, vault activity tracking, or end-of-week item selection. Use when this capability is needed.4---56# Weekly Rewards API (Retail — Patch 12.0.0)78Comprehensive reference for the Great Vault / weekly rewards system.910> **Source:** https://warcraft.wiki.gg/wiki/World_of_Warcraft_API11> **Current as of:** Patch 12.0.0 (Build 65655) — January 28, 202612> **Scope:** Retail only.1314---1516## Scope1718- **C_WeeklyRewards** — Great Vault UI, activities, rewards, item selection1920---2122## C_WeeklyRewards — Great Vault System2324### Activity Tracking2526| Function | Returns | Description |27|----------|---------|-------------|28| `C_WeeklyRewards.GetActivities(type)` | `activities` | Activities for type |29| `C_WeeklyRewards.HasAvailableRewards()` | `hasRewards` | Rewards available? |30| `C_WeeklyRewards.CanClaimRewards()` | `canClaim` | Can claim now? |31| `C_WeeklyRewards.HasGeneratedRewards()` | `hasGenerated` | Rewards generated? |32| `C_WeeklyRewards.GetNumCompletedDungeonRuns(level)` | `numCompleted` | M+ runs at level+ |3334### Activity Types3536| Enum | Value | Description |37|------|-------|-------------|38| `Enum.WeeklyRewardChestThresholdType.Activities` | 0 | World activities |39| `Enum.WeeklyRewardChestThresholdType.RankedPvP` | 1 | Rated PvP |40| `Enum.WeeklyRewardChestThresholdType.MythicPlus` | 2 | Mythic+ dungeons |41| `Enum.WeeklyRewardChestThresholdType.Raid` | 3 | Raid bosses |42| `Enum.WeeklyRewardChestThresholdType.World` | 4 | World content |4344### Activity Data Fields4546Each activity entry contains:47- `type` — Activity type enum48- `index` — Slot index (1, 2, 3)49- `threshold` — Completions needed50- `progress` — Current completions51- `id` — Activity ID52- `level` — Key level / difficulty / rating tier53- `rewards` — Available rewards table54- `rewardOptions` — Reward item options5556### Reward Selection5758| Function | Returns | Description |59|----------|---------|-------------|60| `C_WeeklyRewards.ClaimReward(id)` | — | Claim specific reward |61| `C_WeeklyRewards.GetItemHyperlink(rewardInfo)` | `hyperlink` | Item link for reward |62| `C_WeeklyRewards.GetExampleRewardItemHyperlinks(id)` | `hyperlinks` | Example rewards |63| `C_WeeklyRewards.AreRewardsForCurrentRewardPeriod()` | `isCurrent` | Current week's rewards? |6465### Item Preview & Equip6667| Function | Returns | Description |68|----------|---------|-------------|69| `C_WeeklyRewards.CanClaimRewards()` | `canClaim` | Can claim? |70| `C_WeeklyRewards.HasAvailableRewards()` | `hasAvailable` | Has unclaimed? |7172### Concurrency Info7374| Function | Returns | Description |75|----------|---------|-------------|76| `C_WeeklyRewards.GetConquestWeeklyProgress()` | `progress` | Conquest earned |7778---7980## Common Patterns8182### Display Great Vault Status8384```lua85local function ShowVaultStatus()86 local activityTypes = {87 {type = Enum.WeeklyRewardChestThresholdType.MythicPlus, name = "Mythic+"},88 {type = Enum.WeeklyRewardChestThresholdType.Raid, name = "Raid"},89 {type = Enum.WeeklyRewardChestThresholdType.RankedPvP, name = "PvP"},90 {type = Enum.WeeklyRewardChestThresholdType.World, name = "World"},91 }92 93 for _, actType in ipairs(activityTypes) do94 local activities = C_WeeklyRewards.GetActivities(actType.type)95 if activities then96 print(actType.name .. ":")97 for _, activity in ipairs(activities) do98 local status = activity.progress >= activity.threshold and "COMPLETE" or 99 (activity.progress .. "/" .. activity.threshold)100 local levelInfo = activity.level > 0 and (" (Level " .. activity.level .. ")") or ""101 print(" Slot " .. activity.index .. ": " .. status .. levelInfo)102 end103 end104 end105end106```107108### Check for Available Rewards109110```lua111local f = CreateFrame("Frame")112f:RegisterEvent("WEEKLY_REWARDS_UPDATE")113f:SetScript("OnEvent", function()114 if C_WeeklyRewards.HasAvailableRewards() then115 print("You have Great Vault rewards to claim!")116 end117end)118```119120### Preview Vault Rewards121122```lua123local function PreviewVaultRewards()124 local allActivities = {125 C_WeeklyRewards.GetActivities(Enum.WeeklyRewardChestThresholdType.MythicPlus),126 C_WeeklyRewards.GetActivities(Enum.WeeklyRewardChestThresholdType.Raid),127 C_WeeklyRewards.GetActivities(Enum.WeeklyRewardChestThresholdType.RankedPvP),128 }129 130 for _, activities in ipairs(allActivities) do131 if activities then132 for _, activity in ipairs(activities) do133 if activity.progress >= activity.threshold then134 local links = C_WeeklyRewards.GetExampleRewardItemHyperlinks(activity.id)135 if links then136 for _, link in ipairs(links) do137 print(" Possible:", link)138 end139 end140 end141 end142 end143 end144end145```146147---148149## Key Events150151| Event | Payload | Description |152|-------|---------|-------------|153| `WEEKLY_REWARDS_UPDATE` | — | Vault data changed |154| `WEEKLY_REWARDS_SHOW` | — | Vault UI opened |155| `WEEKLY_REWARDS_HIDE` | — | Vault UI closed |156| `WEEKLY_REWARDS_ITEM_CHANGED` | — | Reward item changed |157158---159160## Gotchas & Restrictions1611621. **Weekly reset timing** — Rewards are generated at weekly reset; APIs return no data before Tuesday/Wednesday reset.1632. **Claim requires hardware** — `ClaimReward()` requires user interaction.1643. **Activity types vary by season** — Not all activity types are active every season.1654. **Three slots per type** — Each type has 3 reward slots with increasing thresholds.1665. **Level field meaning changes** — For M+ it's key level, for raids it's difficulty, for PvP it's rating bracket.1676. **Example rewards are estimates** — `GetExampleRewardItemHyperlinks()` shows possible rewards, not guaranteed ones.1687. **Rewards expire** — Unclaimed vault rewards from a previous week may be forfeited.1698. **HasAvailableRewards() vs HasGeneratedRewards()** — Generated means the vault has rolled items; Available means the player can claim them now.170171---172> Converted and distributed by [TomeVault](https://tomevault.io/claim/jburlison) — claim your Tome and manage your conversions.173<!-- tomevault:4.0:skill_md:2026-04-13 -->