World of Warcraft API

The World of Warcraft API, or WoW API, is a set of Lua functions and facilities provided by the Blizzard WoW Client, to interact with the World of Warcraft user interface. The list of functions below is incomplete and kept up to date through user contributions. You may also be interested in an automatically-generated exhaustive list of all API functions present in the latest live client.
For beginners, AddOn programming tutorial contains a number of very informative sources to help get you started.

If you’re contributing documentation, please read How to edit API pages. Update this page (and the linked pages) as needed, discuss any large-scale changes on the discussion page, and do not create empty stub pages.

If you need help see API notation and conventions. You can also examine the existing UI code to find examples of how the various functions are used by the default UI. Function names could be prefixed with the following tags:

PROTECTED – This function can only be called from secure code. See the Protected Functions category.
NOCOMBAT – This function can only be called from secure code while out of combat.
HW – This function may only be called in response to a hardware event (from OnClick handlers).
UI – This function is implemented in Lua (in FrameXML) but was considered important enough to appear here.
REMOVED – This function has been removed from the World of Warcraft API (and should also be removed from this list).
For historical purposes, see the Removed Functions category.