askill
wow-api-calendar-events

wow-api-calendar-eventsSafety 100Repository

Complete reference for WoW Retail Calendar and Event Scheduler APIs. Covers C_Calendar (event creation, editing, invites, holidays, raid resets, filtered events, date navigation, guild events, community events, texture lookups) and C_EventScheduler (scheduled event system). Use when working with the in-game calendar, creating events, managing invites, displaying holidays, or scheduling guild/community activities.

1 stars
1.2k downloads
Updated 2/14/2026

Package Files

Loading files...
SKILL.md

Calendar & Events API (Retail — Patch 12.0.0)

Comprehensive reference for the in-game calendar and event scheduler.

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_Calendar — Full calendar system (50+ functions)
  • C_EventScheduler — Scheduled event management

C_Calendar — Calendar System

Opening & Navigation

FunctionReturnsDescription
C_Calendar.OpenCalendar()Open/initialize calendar
C_Calendar.CloseEvent()Close event editor
C_Calendar.SetAbsMonth(month, year)Navigate to month
C_Calendar.SetMonth(offsetMonths)Navigate relative
C_Calendar.GetMonthInfo(offsetMonth)monthInfoMonth data
C_Calendar.GetMinDate()dateEarliest navigable date
C_Calendar.GetMaxDate()dateLatest navigable date

Month Info Fields

  • month — Month number (1-12)
  • year — Year
  • numDays — Days in month
  • firstWeekday — First day weekday (1=Sun)

Day Events

FunctionReturnsDescription
C_Calendar.GetNumDayEvents(offsetDay, monthOffset)numEventsEvents on day
C_Calendar.GetDayEvent(offsetDay, eventIndex, monthOffset)eventInfoEvent at index
C_Calendar.GetNumGuildEvents()numEventsGuild events
C_Calendar.GetGuildEventInfo(index)eventInfoGuild event

Event Info Fields

  • title — Event title
  • isCustomTitle — Player-created?
  • startTime — Start date/time
  • endTime — End date/time
  • calendarType — Type (PLAYER, GUILD_EVENT, SYSTEM, HOLIDAY, RAID_LOCKOUT, etc.)
  • sequenceType — Sequence (START, ONGOING, END)
  • eventType — Event type enum
  • texture — Event texture
  • modStatus — Moderator status
  • inviteStatus — Invite status enum
  • invitedBy — Who invited
  • difficulty — Difficulty ID
  • inviteType — Invite type
  • sequenceIndex — Sequence index
  • numSequenceDays — Total sequence days
  • difficultyName — Difficulty name
  • isLocked — Locked?

Creating & Editing Events

FunctionReturnsDescription
C_Calendar.CreatePlayerEvent()Start creating event
C_Calendar.CreateGuildAnnouncement()Create guild announcement
C_Calendar.CreateGuildSignUpEvent()Create sign-up event
C_Calendar.CreateCommunitySignUpEvent()Community sign-up event
C_Calendar.AddEvent()Submit new event
C_Calendar.UpdateEvent()Update edited event
C_Calendar.RemoveEvent()Delete event
C_Calendar.OpenEvent(offsetDay, eventIndex, monthOffset)Open event for viewing
C_Calendar.CanAddEvent()canAddCan create events?

Event Properties (Get/Set)

FunctionReturnsDescription
C_Calendar.EventGetTitle()titleGet event title
C_Calendar.EventSetTitle(title)Set event title
C_Calendar.EventGetDescription()descriptionGet description
C_Calendar.EventSetDescription(desc)Set description
C_Calendar.EventGetDate()dateGet event date
C_Calendar.EventSetDate(month, day, year)Set event date
C_Calendar.EventGetTime()hour, minuteGet event time
C_Calendar.EventSetTime(hour, minute)Set event time
C_Calendar.EventGetType()eventTypeGet event type
C_Calendar.EventSetType(eventType)Set event type
C_Calendar.EventGetRepeatOption()repeatOptionRepeat setting
C_Calendar.EventSetRepeatOption(option)Set repeat
C_Calendar.EventGetLocked()isLockedIs locked?
C_Calendar.EventSetLocked(locked)Lock/unlock
C_Calendar.EventGetClubId()clubIdAssociated club
C_Calendar.EventSetClubId(clubId)Set club

Invites

FunctionReturnsDescription
C_Calendar.EventGetNumInvites()numInvitesInvite count
C_Calendar.EventGetInvite(index)inviteInfoInvite data
C_Calendar.EventInvite(name)Invite player
C_Calendar.EventRemoveInvite(index)Remove invite
C_Calendar.EventSetInviteStatus(index, status)Set invite status
C_Calendar.EventSignUp()Sign up
C_Calendar.EventDecline()Decline
C_Calendar.EventTentative()Tentative
C_Calendar.EventAvailable()Mark available
C_Calendar.MassInviteGuild(minLevel, maxLevel, maxRank)Mass guild invite
C_Calendar.MassInviteCommunity(clubId, minLevel, maxLevel)Mass community invite
C_Calendar.GetEventInviteResponseTime(index)timeResponse time
C_Calendar.EventSortInvites(sortType, reverse)Sort invites
C_Calendar.EventCanEdit()canEditCan edit event?

Invite Status Enums

ValueStatus
1Invited
2Accepted
3Declined
4Confirmed
5Out
6Standby
7Signed Up
8Not Signed Up
9Tentative

Holidays

FunctionReturnsDescription
C_Calendar.GetHolidayInfo(offsetDay, eventIndex, monthOffset)holidayInfoHoliday data
C_Calendar.GetNumHolidayTextures(offsetDay, eventIndex, monthOffset)numTexturesHoliday textures

Filtered Events

FunctionReturnsDescription
C_Calendar.SetTextureToDefault()Reset texture filter
C_Calendar.GetDefaultGuildFilter()filterDefault guild filter
C_Calendar.EventGetTextures()texturesEvent textures
C_Calendar.EventGetSelectedInvite()indexSelected invite
C_Calendar.EventSetSelectedInvite(index)Select invite

Raid Resets

FunctionReturnsDescription
C_Calendar.GetNumRaidResets()numResetsRaid reset count
C_Calendar.GetRaidReset(index)resetInfoReset info

Event Type Textures

FunctionReturnsDescription
C_Calendar.GetEventTypeTexture(eventType)textureTexture for type
C_Calendar.EventGetTypesDisplayOrdered()typesOrdered event types

C_EventScheduler — Scheduled Events

FunctionReturnsDescription
C_EventScheduler.GetScheduledEvents()eventsAll scheduled events
C_EventScheduler.GetEventInfo(eventID)eventInfoEvent details
C_EventScheduler.IsEventActive(eventID)isActiveEvent active?

Common Patterns

List Today's Events

C_Calendar.OpenCalendar()

local monthInfo = C_Calendar.GetMonthInfo(0)
local today = tonumber(date("%d"))

local numEvents = C_Calendar.GetNumDayEvents(today, 0)
for i = 1, numEvents do
    local event = C_Calendar.GetDayEvent(today, i, 0)
    if event then
        print(event.title, "-", event.calendarType)
    end
end

Create a Guild Event

C_Calendar.CreateGuildSignUpEvent()
C_Calendar.EventSetTitle("Raid Night - Mythic")
C_Calendar.EventSetDescription("Bring flasks and food.")
C_Calendar.EventSetDate(3, 15, 2026) -- March 15, 2026
C_Calendar.EventSetTime(20, 0) -- 8:00 PM
C_Calendar.EventSetType(1) -- Raid type
C_Calendar.AddEvent()

Check Upcoming Holidays

C_Calendar.OpenCalendar()
local monthInfo = C_Calendar.GetMonthInfo(0)

for day = 1, monthInfo.numDays do
    local numEvents = C_Calendar.GetNumDayEvents(day, 0)
    for i = 1, numEvents do
        local event = C_Calendar.GetDayEvent(day, i, 0)
        if event and event.calendarType == "HOLIDAY" then
            print("Holiday:", event.title, "- Day", day)
        end
    end
end

Key Events

EventPayloadDescription
CALENDAR_UPDATE_EVENT_LISTEvent list changed
CALENDAR_UPDATE_INVITE_LISThasCompleteListInvite list changed
CALENDAR_NEW_EVENTisCopyCreating new event
CALENDAR_OPEN_EVENTcalendarTypeEvent opened
CALENDAR_CLOSE_EVENTEvent closed
CALENDAR_UPDATE_EVENTEvent data changed
CALENDAR_UPDATE_PENDING_INVITESPending invites changed
CALENDAR_EVENT_ALARMtitle, hour, minuteEvent alarm
CALENDAR_ACTION_PENDINGpendingAction in progress
CALENDAR_UPDATE_GUILD_EVENTSGuild events updated
CALENDAR_UPDATE_ERRORerrorReasonCalendar error

Gotchas & Restrictions

  1. OpenCalendar() required — Must call C_Calendar.OpenCalendar() before using other calendar functions.
  2. Offset-based navigation — Day and month parameters are offsets from current, not absolute (for most functions).
  3. Invite permissions — Only event owners/moderators can manage invites.
  4. Calendar typescalendarType distinguishes PLAYER events from HOLIDAY, SYSTEM, RAID_LOCKOUT, etc.
  5. Mass invite limits — Guild/community mass invites have level and rank filters.
  6. Event creation requires hardwareAddEvent() typically requires user interaction.
  7. Holiday info is read-only — Holidays are system-generated and cannot be modified.
  8. Calendar data is async — Wait for CALENDAR_UPDATE_EVENT_LIST after opening the calendar.

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

95/100Analyzed 2/19/2026

Comprehensive, well-structured API reference for WoW Calendar and Event Scheduler. Excellent coverage with tables, code examples, enums, and practical patterns. High-density technical content that is accurate and actionable. Slight deduction for somewhat irrelevant tags (ci-cd doesn't fit calendar APIs) and being slightly repo-specific in origin.

100
95
90
95
95

Metadata

Licenseunknown
Version-
Updated2/14/2026
PublisherJBurlison

Tags

apici-cd