World of Warcraft API


 * Navigate to:, , Global functions

The WoW API is a set of functions to interact with and modify the World of Warcraft user interface available to addons and macro scripts.

Wowpedia maintains the list below, newer API is also officially documented in Blizzard_APIDocumentation and accessible with the /api command. The user interface code, also known as the FrameXML can be exported from the game client. Functions are prefixed with the following tags:
 * PROTECTED - This can only be called from secure code.
 * NOCOMBAT - This cannot be called from insecure code while in combat.
 * HW - This may only be called in response to a hardware event (user input).
 * UI - This is implemented in FrameXML but was considered important enough to be listed.

Account
Relates to the subscription Account. See also Battle.net functions.
 * GetBillingTimeRested - Returns the account rested time left. This function is only relevant on Chinese realms.
 * GetRestrictedAccountData - Returns the cap on trial character level, money and profession skill.
 * GetSecondsUntilParentalControlsKick
 * IsAccountSecured - Returns if the account has been secured with Blizzard Mobile Authenticator.
 * IsRestrictedAccount - Returns if the acount has trial account restrictions.
 * IsTrialAccount : isTrialAccount - Returns whether the player is using a trial (free-to-play) account.
 * IsVeteranTrialAccount : isVeteranTrialAccount - Returns whether the wow account has no game time.
 * NoPlayTime - Returns whether the account is considered "unhealthy". This function is only relevant on Chinese realms.
 * PartialPlayTime - Returns whether the account is considered "tired". This function is only relevant on Chinese realms.
 * SendSubscriptionInterstitialResponse( response )

Achievements
Achievements were added in Patch 3.0.2
 * C_AchievementInfo.GetRewardItemID( achievementID ) : rewardItemID
 * C_AchievementInfo.GetSupercedingAchievements( achievementID ) : supercedingAchievements - Returns the next achievement in a series.
 * C_AchievementInfo.IsValidAchievement( achievementId ) : isValidAchievement
 * C_AchievementInfo.SetPortraitTexture( textureObject ) - Sets a portrait texture for the unit being achievement compared.
 * AddTrackedAchievement( achievementId ) - Add an achievement to tracking.
 * AreAccountAchievementsHidden
 * CanShowAchievementUI - Returns if the AchievementUI can be displayed.
 * ClearAchievementComparisonUnit - Remove the unit being compared.
 * ClearAchievementSearchString
 * GetAchievementCategory( achievementID ) - Returns the category number the requested achievement belongs to.
 * GetAchievementComparisonInfo( achievementID ) - Returns information about the comparison unit's achievements.
 * GetAchievementCriteriaInfo( achievementID, criteriaNum ) - Returns information about the requested criteria.
 * GetAchievementCriteriaInfoByID( achievementID, criteriaIndex ) - Returns achievement criteria info by criteriaIndex.
 * GetAchievementGuildRep
 * GetAchievementInfo( achievementID or categoryID, index ) - Returns information about the requested achievement.
 * GetAchievementLink( achievementID ) - Returns a achievementLink for the specified achievement.
 * GetAchievementNumCriteria( achievementID ) - Returns the number of criteria the requested achievement has.
 * GetAchievementNumRewards( achievementID ) - Returns the number of rewards the requested achievement has.
 * GetAchievementReward( achievementID, rewardIndex ) - Returns information about a reward item by rewardIndex.
 * GetAchievementSearchProgress
 * GetAchievementSearchSize
 * GetCategoryAchievementPoints( categoryID, includeSubCategories )
 * GetCategoryInfo( category ) - Returns information about the requested achievement category.
 * GetCategoryList - Returns the list of achievement categories.
 * GetCategoryNumAchievements( category [, includeAll ) - Returns the number of achievements, and number completed and incompleted for the specific category.
 * GetComparisonAchievementPoints - Returns the total number of achievement points the comparison unit has earned.
 * GetComparisonCategoryNumAchievements( achievementID ) - Returns a number of achievements in a category for the comparison player.
 * GetFilteredAchievementID( index ) - Returns the ID of a filtered achievement.
 * GetGuildAchievementMemberInfo( achievementID, index )
 * GetGuildAchievementMembers( achievementID )
 * GetGuildAchievementNumMembers( achievementID )
 * GetLatestCompletedAchievements - Returns the ID's of the last 5 completed Achievements.
 * GetLatestCompletedComparisonAchievements - Returns a list of the latest updated achievements for the comparison player.
 * GetNextAchievement( achievementID ) - Returns the next achievement in a chain.
 * GetNumComparisonCompletedAchievements - Returns the number of completed achievements for the comparison player.
 * GetNumCompletedAchievements - Returns the total number of achievements, and number completed.
 * GetNumFilteredAchievements - Returns the number of achievements that matches search text.
 * GetNumTrackedAchievements - Returns the total number of the currently tracked achievements.
 * GetPreviousAchievement( achievementID ) - Returns previous related achievements.
 * GetTotalAchievementPoints - Returns the total number of achievement points earned.
 * GetTrackedAchievements - Returns the achievementID of the currently tracked achievements.
 * HasCompletedAnyAchievement( achievementID )
 * IsAchievementEligible( achievementID )
 * IsTrackedAchievement( achievementID )
 * RemoveTrackedAchievement( achievementID ) - Stops an achievement from being tracked.
 * SetAchievementComparisonUnit( unitId ) - Set the unit to be compared to.
 * SetAchievementSearchString( searchText ) - Starts a search for achievements containing the specified text.
 * SetFocusedAchievement( achievementID )
 * ShowAccountAchievements
 * SwitchAchievementSearchTab( index )

Statistics

 * GetComparisonStatistic( achievementID ) - Returns the value of the requested statistic for the comparison player.
 * GetLatestUpdatedComparisonStats - Returns a list of the latest updated statistics for the comparison player.
 * GetLatestUpdatedStats - Returns the ID's of the last 5 updated Statistics.
 * GetStatistic( achievementID ) - Returns the value of the requested statistic.
 * GetStatisticsCategoryList - Returns the list of statistic categories.

AddOns
Relates to AddOns.
 * DisableAddOn( addonIndex or AddOnName [, character] ) - Disable the specified AddOn for subsequent sessions.
 * DisableAllAddOns( [character] ) - Disable all AddOns for subsequent sessions.
 * EnableAddOn( addonIndex or AddOnName [, character] ) - Enable the specified AddOn for subsequent sessions.
 * EnableAllAddOns( [character] ) - Enable all AddOns for subsequent sessions.
 * GetAddOnDependencies( addonIndex or AddOnName ) - Get dependency list for an AddOn.
 * GetAddOnEnableState( [character], addonIndex or AddOnName )
 * GetAddOnInfo( addonIndex or AddOnName ) - Get information about an AddOn.
 * GetAddOnMetadata( addonIndex or AddOnName, variable ) - Retrieve metadata from addon's TOC file.
 * GetAddOnOptionalDependencies( addonIndex or AddOnName ) - Returns a list of optional dependencies.
 * GetNumAddOns - Get the number of user supplied AddOns.
 * IsAddOnLoaded( addonIndex or AddOnName ) - Returns true if the specified AddOn is loaded.
 * IsAddOnLoadOnDemand( addonIndex or AddOnName ) - Test whether an AddOn is load-on-demand.
 * IsAddonVersionCheckEnabled
 * LoadAddOn( addonIndex or AddOnName ) - Request loading of a Load-On-Demand AddOn.
 * ResetAddOns
 * ResetDisabledAddOns
 * SaveAddOns
 * SetAddonVersionCheck( boolean )
 * UI UIParentLoadAddOn( AddOnName ) - Loads or Reloads the specified AddOn, and pops up an error message if it fails to load for any reason.

Adventure Guide
The Adventure Guide was added in Patch 6.2.0
 * C_AdventureJournal.ActivateEntry( index )
 * C_AdventureJournal.CanBeShown
 * C_AdventureJournal.GetNumAvailableSuggestions
 * C_AdventureJournal.GetPrimaryOffset
 * C_AdventureJournal.GetReward
 * C_AdventureJournal.GetSuggestions( [suggestions] )
 * C_AdventureJournal.SetPrimaryOffset( offset )
 * C_AdventureJournal.UpdateSuggestions( [levelUp] )

Encounter Journal
The Encounter Journal was added in Patch 4.2.0
 * C_EncounterJournal.GetDungeonEntrancesForMap( uiMapID ) : dungeonEntrances - Returns the instance entrances for a map.
 * C_EncounterJournal.GetEncountersOnMap( uiMapID ) : encounters - Returns boss pin locations for an instance map.
 * C_EncounterJournal.GetSectionIconFlags( sectionID ) : iconFlags - Returns the icon flags for a section, such as Magic Effect and Heroic Difficulty
 * C_EncounterJournal.GetSectionInfo( sectionID ) : info - Returns information about an entry in the Abilities section of the Encounter Journal.
 * C_EncounterJournal.InstanceHasLoot( [instanceID] ) : hasLoot - Returns whether an instance has a loot table in the journal.
 * C_EncounterJournal.IsEncounterComplete( journalEncounterID ) : isEncounterComplete - Returns if a boss encounter has been completed.
 * C_EncounterJournal.SetPreviewMythicPlusLevel( level )
 * C_EncounterJournal.SetPreviewPvpTier( tier )
 * C_RaidLocks.IsEncounterComplete( mapID, encounterID [, difficultyID] ) : encounterIsComplete
 * EJ_ClearSearch - Clears the encounter journal search results.
 * EJ_EndSearch - Ends any active encounter journal search.
 * EJ_GetContentTuningID - Returns the currently selected content tuning ID for BFA instances.
 * EJ_GetCreatureInfo( index [, encounterID] ) - Returns encounter boss info.
 * EJ_GetCurrentTier - Returns the currently active encounter journal tier index.
 * EJ_GetDifficulty - Returns the currently viewed difficulty in the journal.
 * EJ_GetEncounterInfo( encounterID ) - Returns encounter info from the journal.
 * EJ_GetEncounterInfoByIndex( index [, instanceID] ) - idem
 * EJ_GetInstanceByIndex( index, isRaid ) - Returns instance info for the Encounter Journal.
 * EJ_GetInstanceForMap( mapID ) - Returns any corresponding instance ID for a UiMapID.
 * EJ_GetInstanceInfo - Returns instance info for the Encounter Journal.
 * EJ_GetMapEncounter( mapID, index [, fromJournal] ) - Returns boss pin locations on instance maps.
 * EJ_GetNumEncountersForLootByIndex( index ) - Returns the amount of encounters that drop the same loot item.
 * EJ_GetNumSearchResults - Returns the number of search results for the Encounter Journal.
 * EJ_GetNumTiers - Returns the number of valid encounter journal tier indices.
 * EJ_GetSearchProgress - Returns the search bar's progress ratio.
 * EJ_GetSearchResult( index ) - Returns search results for the Encounter Journal.
 * EJ_GetSearchSize - Returns the amount of Encounter Journal objects to search through.
 * EJ_GetSectionPath( sectionID ) - Returns the parent Section ID if available.
 * EJ_GetTierInfo( index ) - Get some information about the encounter journal tier for index.
 * EJ_HandleLinkPath( jtype, id ) - Returns the supplementary instance and encounter ID for an encounter or section ID.
 * EJ_InstanceIsRaid - Returns whether the selected instance is a raid.
 * EJ_IsSearchFinished - Returns whether the current search has finished.
 * EJ_IsValidInstanceDifficulty( difficultyID ) - Returns whether the difficultyID is valid for use in the journal.
 * EJ_SelectEncounter( encounterID ) - Selects an encounter for the Encounter Journal API state.
 * EJ_SelectInstance( instanceID ) - Selects an instance for the Encounter Journal API state.
 * EJ_SelectTier( index ) - Selects a tier for the Encounter Journal API state.
 * EJ_SetDifficulty( difficultyID ) - Sets the encounter difficulty shown in the Encounter Journal.
 * EJ_SetSearch( text ) - Starts a search in the journal.
 * GetJournalInfoForSpellConfirmation( spellID )
 * SetPortraitTextureFromCreatureDisplayID( textureObject, creatureDisplayID )

Loot Journal
 * C_EncounterJournal.GetLootInfo( id ) : itemInfo - Returns loot info for an encounter or instance.
 * C_EncounterJournal.GetLootInfoByIndex( index [, encounterIndex] ) : itemInfo - Returns loot info for an encounter or instance.
 * C_EncounterJournal.GetSlotFilter : filter - Returns the current equipment type slot filter.
 * C_EncounterJournal.ResetSlotFilter - Resets the current slot filter.
 * C_EncounterJournal.SetSlotFilter( filterSlot ) - Sets the Encounter Journal's equipment slot filter.
 * EJ_GetInvTypeSortOrder( invType ) - Returns the sort order for an inventory type.
 * EJ_GetLootFilter - Returns the currently used loot filter.
 * EJ_GetNumLoot - Returns the amount of loot for the currently selected instance or encounter.
 * EJ_IsLootListOutOfDate - Returns whether the loot list is out of date in relation to any filters when getting new loot data.
 * EJ_ResetLootFilter - Clears any current loot filter in the journal.
 * EJ_SetLootFilter( classID, specID ) - Sets the loot filter for a specialization.

Auction House
The Auction House was revamped in Patch 8.3.0
 * C_AuctionHouse.GetNumReplicateItems : numReplicateItems - Returns the amount of auctions.
 * C_AuctionHouse.GetReplicateItemBattlePetInfo( index ) : creatureID, displayID
 * C_AuctionHouse.GetReplicateItemInfo( index ) : name, texture, count, qualityID, usable, level, levelType, minBid, ... - Returns information about the specified auction.
 * C_AuctionHouse.GetReplicateItemLink( index ) : itemLink
 * C_AuctionHouse.GetReplicateItemTimeLeft( index ) : timeLeft - Returns the time left for an auction.
 * C_AuctionHouse.ReplicateItems - Queries all auctions listed on the Auction House.


 * C_AuctionHouse.CalculateCommodityDeposit( itemID, duration, quantity ) : depositCost
 * C_AuctionHouse.CalculateItemDeposit( item, duration, quantity ) : depositCost
 * C_AuctionHouse.CanCancelAuction( ownedAuctionID ) : canCancelAuction
 * C_AuctionHouse.CancelAuction( ownedAuctionID )
 * C_AuctionHouse.CancelCommoditiesPurchase
 * C_AuctionHouse.CancelSell
 * C_AuctionHouse.CloseAuctionHouse
 * C_AuctionHouse.ConfirmCommoditiesPurchase( itemID, quantity ) - Completes a commodity item purchase.
 * C_AuctionHouse.FavoritesAreAvailable : favoritesAreAvailable
 * C_AuctionHouse.GetAuctionItemSubClasses( classID ) : subClasses
 * C_AuctionHouse.GetAvailablePostCount( item ) : listCount
 * C_AuctionHouse.GetBidInfo( bidIndex ) : bid
 * C_AuctionHouse.GetBidType( bidTypeIndex ) : typeItemKey
 * C_AuctionHouse.GetBrowseResults : browseResults
 * C_AuctionHouse.GetCancelCost( ownedAuctionID ) : cancelCost
 * C_AuctionHouse.GetCommoditySearchResultInfo( itemID, commoditySearchResultIndex ) : result - Returns search results for a commodity item.
 * C_AuctionHouse.GetCommoditySearchResultsQuantity( itemID ) : totalQuantity
 * C_AuctionHouse.GetExtraBrowseInfo( itemKey ) : extraInfo
 * C_AuctionHouse.GetFilterGroups : filterGroups
 * C_AuctionHouse.GetItemCommodityStatus( item ) : isCommodity
 * C_AuctionHouse.GetItemKeyFromItem( item ) : itemKey
 * C_AuctionHouse.GetItemKeyInfo( itemKey [, restrictQualityToFilter] ) : itemKeyInfo
 * C_AuctionHouse.GetItemKeyRequiredLevel( itemKey ) : requiredLevel
 * C_AuctionHouse.GetItemSearchResultInfo( itemKey, itemSearchResultIndex ) : result - Returns search results for an item.
 * C_AuctionHouse.GetItemSearchResultsQuantity( itemKey ) : totalQuantity
 * C_AuctionHouse.GetMaxBidItemBid : maxBid
 * C_AuctionHouse.GetMaxBidItemBuyout : maxBuyout
 * C_AuctionHouse.GetMaxCommoditySearchResultPrice( itemID ) : maxUnitPrice
 * C_AuctionHouse.GetMaxItemSearchResultBid( itemKey ) : maxBid
 * C_AuctionHouse.GetMaxItemSearchResultBuyout( itemKey ) : maxBuyout
 * C_AuctionHouse.GetMaxOwnedAuctionBid : maxBid
 * C_AuctionHouse.GetMaxOwnedAuctionBuyout : maxBuyout
 * C_AuctionHouse.GetNumBids : numBids
 * C_AuctionHouse.GetNumBidTypes : numBidTypes
 * C_AuctionHouse.GetNumCommoditySearchResults( itemID ) : numSearchResults
 * C_AuctionHouse.GetNumItemSearchResults( itemKey ) : numItemSearchResults
 * C_AuctionHouse.GetNumOwnedAuctions : numOwnedAuctions
 * C_AuctionHouse.GetNumOwnedAuctionTypes : numOwnedAuctionTypes
 * C_AuctionHouse.GetOwnedAuctionInfo( ownedAuctionIndex ) : ownedAuction
 * C_AuctionHouse.GetOwnedAuctionType( ownedAuctionTypeIndex ) : typeItemKey
 * C_AuctionHouse.GetQuoteDurationRemaining : quoteDurationSeconds
 * C_AuctionHouse.GetTimeLeftBandInfo( timeLeftBand ) : timeLeftMinSeconds, timeLeftMaxSeconds
 * C_AuctionHouse.HasFavorites : hasFavorites
 * C_AuctionHouse.HasFullBidResults : hasFullBidResults
 * C_AuctionHouse.HasFullBrowseResults : hasFullBrowseResults
 * C_AuctionHouse.HasFullCommoditySearchResults( itemID ) : hasFullResults
 * C_AuctionHouse.HasFullItemSearchResults( itemKey ) : hasFullResults
 * C_AuctionHouse.HasFullOwnedAuctionResults : hasFullOwnedAuctionResults
 * C_AuctionHouse.HasMaxFavorites : hasMaxFavorites
 * C_AuctionHouse.HasSearchResults( itemKey ) : hasSearchResults
 * C_AuctionHouse.IsFavoriteItem( itemKey ) : isFavorite
 * C_AuctionHouse.IsSellItemValid( item [, displayError] ) : valid
 * C_AuctionHouse.IsThrottledMessageSystemReady : canSendThrottledMessage
 * C_AuctionHouse.MakeItemKey( itemID [, itemLevel, itemSuffix, battlePetSpeciesID] ) : itemKey
 * HW C_AuctionHouse.PlaceBid( auctionID, bidAmount ) - Places a bid on a non-commodity item.
 * HW C_AuctionHouse.PostCommodity( item, duration, quantity, unitPrice ) - Posts a commodity item on the auction house.
 * HW C_AuctionHouse.PostItem( item, duration, quantity [, bid, buyout] ) - Posts an item on the auction house.
 * C_AuctionHouse.QueryBids( sorts, auctionIDs )
 * C_AuctionHouse.QueryOwnedAuctions( sorts )
 * C_AuctionHouse.RefreshCommoditySearchResults( itemID )
 * C_AuctionHouse.RefreshItemSearchResults( itemKey )
 * C_AuctionHouse.RequestMoreBrowseResults
 * C_AuctionHouse.RequestMoreCommoditySearchResults( itemID ) : hasFullResults
 * C_AuctionHouse.RequestMoreItemSearchResults( itemKey ) : hasFullResults
 * C_AuctionHouse.RequestOwnedAuctionBidderInfo( auctionID ) : bidderName
 * C_AuctionHouse.SearchForFavorites( sorts ) - Searches for favorited items.
 * C_AuctionHouse.SearchForItemKeys( itemKeys, sorts )
 * C_AuctionHouse.SendBrowseQuery( query )
 * C_AuctionHouse.SendSearchQuery( itemKey, sorts, separateOwnerItems ) - Queries an item in the auction house.
 * C_AuctionHouse.SendSellSearchQuery( itemKey, sorts, separateOwnerItems ) - Search for all auctions that are variants of a piece of gear, determined a specific item ID.
 * C_AuctionHouse.SetFavoriteItem( itemKey, setFavorite )
 * HW C_AuctionHouse.StartCommoditiesPurchase( itemID, quantity ) - Starts a commodity item purchase.

Black Market AH
The Black Market Auction House was added in Patch 5.0.4
 * C_BlackMarket.Close - Notifies the server that the Black Market UI was closed.
 * C_BlackMarket.GetHotItem - Returns information about the current "hot item" at the Black Market Auction House.
 * C_BlackMarket.GetItemInfoByID( marketID ) - Returns information about a specific black market auction.
 * C_BlackMarket.GetItemInfoByIndex( index ) - Returns information about a specific black market auction.
 * C_BlackMarket.GetNumItems - Returns the number of auctions on the Black Market Auction House.
 * C_BlackMarket.IsViewOnly
 * HW C_BlackMarket.ItemPlaceBid( marketID, bid ) - Places a bid on a black market auction.
 * C_BlackMarket.RequestItems - Requests updated black market auction information from the server.

WoW Tokens
WoW Tokens were added in Patch 6.1.2
 * C_WowTokenPublic.BuyToken
 * C_WowTokenPublic.GetCommerceSystemStatus
 * C_WowTokenPublic.GetCurrentMarketPrice
 * C_WowTokenPublic.GetGuaranteedPrice
 * C_WowTokenPublic.GetListedAuctionableTokenInfo( index )
 * C_WowTokenPublic.GetNumListedAuctionableTokens
 * C_WowTokenPublic.IsAuctionableWowToken( itemID )
 * C_WowTokenPublic.IsConsumableWowToken
 * C_WowTokenPublic.UpdateListedAuctionableTokens
 * C_WowTokenPublic.UpdateMarketPrice
 * C_WowTokenPublic.UpdateTokenCount
 * C_WowTokenUI.StartTokenSell( tokenGUID )

Bags

 * GetBackpackAutosortDisabled
 * GetBagName( bagID ) - Get the name of one of the player's bags.
 * GetBagSlotFlag( index, flagIndex )
 * GetInsertItemsLeftToRight
 * GetSortBagsRightToLeft
 * IsBagSlotFlagEnabledOnOtherBags( index, flagIndex )
 * IsInventoryItemProfessionBag( unit, slot )
 * PutItemInBackpack - Attempts to place item in backpack (bag slot 0).
 * PutItemInBag( inventoryId ) - Attempts to place item in a specific bag.
 * SetBackpackAutosortDisabled( disable )
 * SetBagPortraitTexture( texture, slot )
 * SetBagSlotFlag( index, flagIndex, checked )
 * SetBarSlotFromIntro( slot )
 * SetInsertItemsLeftToRight( disable )
 * SetItemSearch( search )
 * SetSortBagsRightToLeft( disable )
 * SortBags
 * UI ( callingFrame, forceUpdate )
 * UI
 * UI ( bagID )
 * UI ( bagID )
 * UI ( callingFrame, forceUpdate )
 * UI
 * UI ( bagID, force )
 * UI
 * UI - Toggles your backpack open/closed.
 * UI ( bagID ) - Opens or closes the specified bag.

Containers

 * GetContainerFreeSlots( index [, returnTable] )
 * GetContainerItemCooldown( bagID, slot )
 * GetContainerItemDurability( bag, slot ) - Get current and maximum durability of an item in the character's bags.
 * GetContainerItemEquipmentSetInfo( index, slot )
 * GetContainerItemID( bag, slot ) - Returns the item ID of the item in a particular container slot.
 * GetContainerItemInfo( bagID, slot ) - Get the info for an item in one of the player's bags.
 * GetContainerItemLink( bagID, slot ) - Returns a link of the object located in the specified slot of a specified bag.
 * GetContainerItemPurchaseCurrency( bag, slot, itemIndex [, isEquipped] )
 * GetContainerItemPurchaseInfo( index, slot [, isEquipped] )
 * GetContainerItemPurchaseItem( bag, slot, itemIndex [, isEquipped] )
 * GetContainerItemQuestInfo( bag, slot ) - Returns information about quest and quest-starting items in your bags.
 * GetContainerNumFreeSlots( bagID ) - Returns the number of free slots and type of slots in the bag specified by the index.
 * GetContainerNumSlots( bagID ) - Returns the total number of slots in the bag specified by the index.
 * IsContainerFiltered( index )
 * IsContainerItemAnUpgrade( index, slot )
 * SplitContainerItem( bagID, slot, amount ) - Picks up part of a stack.
 * UseContainerItem( bagID, slot [, target] ) - Performs a "right click" action on, or targeted use of, on an item in bags.

Inventory
These functions manage your inventory, specifically equipped items.
 * CancelPendingEquip( index ) - This function is used to cancel a pending equip.
 * PROTECTED ConfirmBindOnUse
 * PROTECTED ConfirmNoRefundOnUse
 * ContainerIDToInventoryID( bagID )
 * EquipPendingItem( invSlot ) - Equips the currently pending Bind-on-Equip or Bind-on-Pickup item from the specified inventory slot.
 * GetAverageItemLevel - Returns the character's current average iLevel and current average iLevel equipped.
 * GetInventoryAlertStatus( index ) - Returns one of several codes describing the "status" of an equipped item.
 * GetInventoryItemBroken( unit, invSlot ) - Determine if an inventory item is broken (no durability).
 * GetInventoryItemCooldown( unit, invSlot ) - Get cooldown information for an inventory item.
 * GetInventoryItemCount( unit, invSlot ) - Determine the quantity of an item in an inventory slot.
 * GetInventoryItemDurability( invSlot ) - Returns the maximum and remaining durability points for an inventory item.
 * GetInventoryItemID( unit, invSlot ) - Returns the item id of the item in the specified inventory slot.
 * GetInventoryItemLink( unit, invSlot ) - Returns an itemLink for an inventory (equipped) item.
 * GetInventoryItemQuality( unit, invSlot ) - Returns the quality of an inventory item.
 * GetInventoryItemTexture( unit, invSlot ) - Returns the texture for an inventory item.
 * GetInventorySlotInfo( invSlotName ) - Get the info for a named inventory slot (slot ID and texture)
 * HasWandEquipped - Returns 1 if a wand is equipped, false otherwise.
 * IsInventoryItemLocked( id ) - Returns whether an inventory item is locked, usually as it awaits pending action.
 * SetInventoryPortraitTexture( texture, unit, slot )
 * UpdateInventoryAlertStatus
 * PROTECTED UseInventoryItem( invSlot ) - Use an item in a specific inventory slot.

Bank
Relates to the Bank.
 * BankButtonIDToInvSlotID( buttonID, isBag ) - Returns the ID number of a bank button or bag in terms of inventory slot ID.
 * BuyReagentBank
 * CloseBankFrame - Close the bank frame if it's open.
 * DepositReagentBank
 * GetBankAutosortDisabled
 * GetBankBagSlotFlag
 * GetBankSlotCost( numSlots ) - Returns the cost of the next bank slot.
 * GetNumBankSlots - Returns total purchased bank bag slots, and a flag indicating if it's full.
 * GetReagentBankCost
 * IsBagSlotFlagEnabledOnOtherBankBags
 * IsReagentBankUnlocked
 * PurchaseSlot - Buys another bank slot if available.
 * ReagentBankButtonIDToInvSlotID
 * SetBankAutosortDisabled
 * SetBankBagSlotFlag
 * SortBankBags
 * SortReagentBankBags

Guild Bank
The Guild bank was added in Patch 2.3.0
 * AutoStoreGuildBankItem( tab, slot ) - Withdraws an item from the bank, and automatically stores it in the player's inventory.
 * BuyGuildBankTab - Buys a guild bank tab, without confirmation.
 * CanEditGuildBankTabInfo
 * CanGuildBankRepair
 * CanWithdrawGuildBankMoney - Boolean, true if player is permitted to withdraw funds. No bank proximity required.
 * CloseGuildBankFrame - Closes the guild bank frame.
 * DepositGuildBankMoney( money ) - Deposits "money" amount in copper.
 * GetCurrentGuildBankTab - Integer of selected tab, >= 1.
 * GetGuildBankBonusDepositMoney
 * GetGuildBankItemInfo( tab, slot ) - Returns texture, amount and integer 1 or nil depending on locked state.
 * GetGuildBankItemLink( tab, slot ) - Returns itemLink.
 * GetGuildBankMoney - Integer, funds available in copper.
 * GetGuildBankMoneyTransaction( index ) - No bank proximity required, however QueryGuildBankLog function requires proximity.
 * GetGuildBankTabCost - Integer OR nil - cost in copper OR no tabs available to buy.
 * GetGuildBankTabInfo( tab ) - Returns the name and icon of the guild bank tab queried.
 * GetGuildBankTabPermissions( tab ) - Gets display / player's access info. Limited data available without bank proximity.
 * GetGuildBankText( tab ) - Returns info text for a tab.
 * GetGuildBankTransaction( tab, index ) - Requires Guild Bank Proximity.
 * GetGuildBankWithdrawGoldLimit - Returns withdraw limit for currently selected rank in guild control.
 * GetGuildBankWithdrawMoney
 * GetNumGuildBankMoneyTransactions - Returns number of money log entries.
 * GetNumGuildBankTabs - Integer count of bought tabs, >= 0. No bank proximity required.
 * GetNumGuildBankTransactions( tab ) - Returns number of log transactions for tab "tab".
 * QueryGuildBankLog( tab ) - Updates bank log data from the server, called before all transaction functions. "Money tab" is MAX_GUILDBANK_TABS+1.
 * QueryGuildBankTab( tab ) - Updates bank tab data from the server, called before all item functions.
 * QueryGuildBankText
 * SetCurrentGuildBankTab( tab ) - Select different bank tab in the UI.
 * SetGuildBankTabInfo( tab, name, icon ) - Modifies name and icon for tab.
 * SetGuildBankTabItemWithdraw
 * SetGuildBankTabPermissions( tab, index, enabled ) - Modifies the permissions for the GuildBankTab. Guild Leader Only.
 * SetGuildBankText( tab, infoText ) - Modifies info text for a tab.
 * SetGuildBankWithdrawGoldLimit( amount ) - Sets the gold withdraw limit from the guild bank. Guild Leader Only.
 * SplitGuildBankItem( tab, slot, amount ) - Picks up part of a stack.
 * WithdrawGuildBankMoney( money ) - Withdraws "money" copper from the guild bank.

Void Storage
Void Storage was added in Patch 4.3.0
 * CanUseVoidStorage - Returns if the player has access to the Void Storage.
 * ClearVoidTransferDepositSlot( slotIndex ) - Clears the specified Void Transfer deposit slot.
 * ClickVoidStorageSlot( slotIndex [, isRightClick] ) - Clicks the specified Void Storage slot.
 * ClickVoidTransferDepositSlot( slotIndex [, isRightClick] ) - Clicks the specified Void Transfer deposit slot.
 * ClickVoidTransferWithdrawalSlot( slotIndex [, isRightClick] ) - Clicks the specified Void Transfer withdrawal slot.
 * CloseVoidStorageFrame
 * ExecuteVoidTransfer - Applies all pending void transfers (and pays for the cost of any deposited items).
 * GetNumVoidTransferDeposit - Returns the number of items being deposited into the Void Storage.
 * GetNumVoidTransferWithdrawal - Returns the number of items being withdrawed from the Void Storage.
 * GetVoidItemHyperlinkString( slotIndex ) - Returns the item link of an item in void storage.
 * GetVoidItemInfo( slotIndex ) - Returns.
 * GetVoidTransferCost - Returns the total Void Transfer cost.
 * GetVoidTransferDepositInfo( slotIndex ) - Returns.
 * GetVoidTransferWithdrawalInfo( slotIndex ) - Returns.
 * IsVoidStorageReady
 * UnlockVoidStorage - Pays for and activates the Void Storage.
 * GetVoidStorageSlotPageIndex( slot )
 * GetVoidUnlockCost

Books
Relates to item text from books, etc.
 * CloseItemText - Close an open item text (book, plaque, etc).
 * ItemTextGetCreator - Get the creator of the current text (if player-created).
 * ItemTextGetItem - Get the name of the text.
 * ItemTextGetMaterial - Get the material on which the text is printed.
 * ItemTextGetPage - Get the page number of the currently viewed page.
 * ItemTextGetText - Get the page contents of the currently viewed page.
 * ItemTextHasNextPage - Determine if there is another page after the current one.
 * ItemTextIsFullPage
 * ItemTextNextPage - Request the next page of the text.
 * ItemTextPrevPage - Request the previous page of the text.

Calendar
The Calendar was added in Patch 3.0.1 and reworked in Patch 8.0.1
 * HW C_Calendar.AddEvent - Saves the new event currently being created to the server.
 * C_Calendar.AreNamesReady : ready
 * C_Calendar.CanAddEvent : canAddEvent - Returns whether the player can add an event.
 * C_Calendar.CanSendInvite : canSendInvite - Returns whether the player can send invites.
 * C_Calendar.CloseEvent - Closes the selected event without saving it.
 * C_Calendar.ContextMenuEventCanComplain( offsetMonths, monthDay, eventIndex ) : canComplain - Returns whether the player can report the event as spam.
 * C_Calendar.ContextMenuEventCanEdit( offsetMonths, monthDay, eventIndex ) : canEdit - Returns whether the player can edit the event.
 * C_Calendar.ContextMenuEventCanRemove( offsetMonths, monthDay, eventIndex ) : canRemove - Returns whether the player can remove the event.
 * C_Calendar.ContextMenuEventClipboard : exists
 * C_Calendar.ContextMenuEventComplain - Reports the event as spam.
 * C_Calendar.ContextMenuEventCopy - Copies the event to the clipboard.
 * C_Calendar.ContextMenuEventGetCalendarType : calendarType
 * C_Calendar.ContextMenuEventPaste( offsetMonths, monthDay ) - Pastes the clipboard event to the date.
 * C_Calendar.ContextMenuEventRemove - Deletes the event.
 * C_Calendar.ContextMenuEventSignUp
 * C_Calendar.ContextMenuGetEventIndex : info
 * C_Calendar.ContextMenuInviteAvailable - Accepts the invitation to the event.
 * C_Calendar.ContextMenuInviteDecline - Declines the invitation to the event.
 * C_Calendar.ContextMenuInviteRemove - Removes the event from the calendar.
 * C_Calendar.ContextMenuInviteTentative
 * C_Calendar.ContextMenuSelectEvent( offsetMonths, monthDay, eventIndex )
 * C_Calendar.CreateCommunitySignUpEvent
 * C_Calendar.CreateGuildAnnouncementEvent
 * C_Calendar.CreateGuildSignUpEvent
 * C_Calendar.CreatePlayerEvent - Creates a new calendar event candidate for the player.
 * C_Calendar.EventAvailable - Accepts the invitation to the currently open event.
 * C_Calendar.EventCanEdit : canEdit - Returns whether the event can be edited.
 * C_Calendar.EventClearAutoApprove - Turns off automatic confirmations.
 * C_Calendar.EventClearLocked - Unlocks the event.
 * C_Calendar.EventClearModerator( inviteIndex )
 * C_Calendar.EventDecline - Declines the invitation to the currently open event.
 * C_Calendar.EventGetCalendarType : calendarType
 * C_Calendar.EventGetClubId : info
 * C_Calendar.EventGetInvite( eventIndex ) : info - Returns status information for an invitee for the currently opened event.
 * C_Calendar.EventGetInviteResponseTime( eventIndex ) : time
 * C_Calendar.EventGetInviteSortCriterion : criterion, reverse
 * C_Calendar.EventGetSelectedInvite : inviteIndex
 * C_Calendar.EventGetStatusOptions( eventIndex ) : options
 * C_Calendar.EventGetTextures( eventType ) : textures
 * C_Calendar.EventGetTypes : types
 * C_Calendar.EventGetTypesDisplayOrdered : infos
 * C_Calendar.EventHasPendingInvite : hasPendingInvite - Returns whether the player has an unanswered invitation to the currently selected event.
 * C_Calendar.EventHaveSettingsChanged : haveSettingsChanged - Returns whether the currently opened event has been modified.
 * C_Calendar.EventInvite( name ) - Invites a player to the currently selected event.
 * C_Calendar.EventRemoveInvite( inviteIndex )
 * C_Calendar.EventRemoveInviteByGuid( guid )
 * C_Calendar.EventSelectInvite( inviteIndex )
 * C_Calendar.EventSetAutoApprove
 * C_Calendar.EventSetClubId( [clubId] )
 * C_Calendar.EventSetDate( month, monthDay, year ) - Sets the date for the currently opened event.
 * C_Calendar.EventSetDescription( description )
 * C_Calendar.EventSetInviteStatus( eventIndex, status ) - Sets the invitation status of a player to the current event.
 * C_Calendar.EventSetLocked
 * C_Calendar.EventSetModerator( inviteIndex )
 * C_Calendar.EventSetTextureID( textureIndex )
 * C_Calendar.EventSetTime( hour, minute ) - Sets the time for the currently opened event.
 * C_Calendar.EventSetTitle( title ) - Sets the title for the currently opened event.
 * C_Calendar.EventSetType( typeIndex ) - Sets the event type for the current calendar event.
 * C_Calendar.EventSignUp
 * C_Calendar.EventSortInvites( criterion, reverse )
 * C_Calendar.EventTentative
 * C_Calendar.GetClubCalendarEvents( clubId, startTime, endTime ) : events
 * C_Calendar.GetDayEvent( monthOffset, monthDay, index ) : event - Retrieve information about the specified event.
 * C_Calendar.GetDefaultGuildFilter : info
 * C_Calendar.GetEventIndex : info
 * C_Calendar.GetEventIndexInfo( eventID [, monthOffset, monthDay] ) : eventIndexInfo
 * C_Calendar.GetEventInfo : info - Returns detailed information about an event.
 * C_Calendar.GetFirstPendingInvite( offsetMonths, monthDay ) : firstPendingInvite
 * C_Calendar.GetGuildEventInfo( index ) : info
 * C_Calendar.GetGuildEventSelectionInfo( index ) : info
 * C_Calendar.GetHolidayInfo( monthOffset, monthDay, index ) : event - Returns seasonal holiday info.
 * C_Calendar.GetMaxCreateDate : maxCreateDate - Returns the last day supported by the Calendar API.
 * C_Calendar.GetMinDate : minDate - Returns the first day supported by the Calendar API.
 * C_Calendar.GetMonthInfo( [offsetMonths] ) : monthInfo - Returns information about the calendar month by offset.
 * C_Calendar.GetNextClubId : clubId
 * C_Calendar.GetNumDayEvents( offsetMonths, monthDay ) : numDayEvents - Returns the number of events for a given day/month offset.
 * C_Calendar.GetNumGuildEvents : numGuildEvents
 * C_Calendar.GetNumInvites : num - Returns the number of invitees for the currently opened event.
 * C_Calendar.GetNumPendingInvites : num
 * C_Calendar.GetRaidInfo( offsetMonths, monthDay, eventIndex ) : info
 * C_Calendar.IsActionPending : actionPending
 * C_Calendar.IsEventOpen : isOpen
 * C_Calendar.MassInviteCommunity( clubId, minLevel, maxLevel [, maxRankOrder] )
 * C_Calendar.MassInviteGuild( minLevel, maxLevel, maxRankOrder )
 * C_Calendar.OpenCalendar - Requests calendar information from the server. Does not open the calendar frame.
 * C_Calendar.OpenEvent( offsetMonths, monthDay, index ) : success - Establishes an event for future calendar API calls
 * C_Calendar.RemoveEvent - Removes the selected event from the calendar (invitees only).
 * C_Calendar.SetAbsMonth( month, year ) - Sets the reference month and year for functions which use a month offset.
 * C_Calendar.SetMonth( offsetMonths )
 * C_Calendar.SetNextClubId( [clubId] )
 * HW C_Calendar.UpdateEvent - Saves the selected event.

Chat
These are specific to chat messages and channels.
 * C_ChatInfo.GetChannelRosterInfo( channelIndex, rosterIndex ) : name, owner, moderator, guid
 * C_ChatInfo.GetChannelRuleset( channelIndex ) : ruleset
 * C_ChatInfo.GetChannelRulesetForChannelID( channelID ) : ruleset
 * C_ChatInfo.GetChannelShortcut( channelIndex ) : shortcut
 * C_ChatInfo.GetChannelShortcutForChannelID( channelID ) : shortcut
 * C_ChatInfo.GetClubStreamIDs( clubID ) : ids
 * C_ChatInfo.GetGeneralChannelID : channelID
 * C_ChatInfo.GetGeneralChannelLocalID : localID
 * C_ChatInfo.GetMentorChannelID : channelID
 * C_ChatInfo.GetNumActiveChannels : numChannels
 * C_ChatInfo.IsChannelRegional( channelIndex ) : isRegional
 * C_ChatInfo.IsChannelRegionalForChannelID( channelID ) : isRegional
 * C_ChatInfo.IsPartyChannelType( channelType ) : isPartyChannelType
 * C_ChatInfo.IsRegionalServiceAvailable : available
 * C_ChatInfo.IsValidChatLine( [chatLine] ) : isValid
 * C_ChatInfo.ReplaceIconAndGroupExpressions( input [, noIconReplacement, noGroupReplacement] ) : output - Replaces icon and group tags like {rt4}, {diamond} and {g1}.
 * C_ChatInfo.ResetDefaultZoneChannels
 * C_ChatInfo.SwapChatChannelsByChannelIndex( firstChannelIndex, secondChannelIndex )
 * C_ChatBubbles.GetAllChatBubbles( [includeForbidden] ) : chatBubbles - Returns all active chat bubbles.
 * CancelEmote - Stops an active emote, e.g. when closing the map.
 * ChannelBan( channel, name ) - Bans a player from the specified channel.
 * ChannelInvite( channel, name ) - Invites the specified user to the channel.
 * ChannelKick( channel, name ) - Kicks the specified user from the channel.
 * ChannelModerator( channel, name ) - Sets the specified player as the channel moderator.
 * ChannelToggleAnnouncements( channel ) - Toggles the channel to display announcements either on or off.
 * ChannelUnban( channel, name ) - Unbans a player from a channel.
 * ChannelUnmoderator( channel, name ) - Takes the specified user away from the moderator status.
 * DeclineChannelInvite( channel )
 * DisplayChannelOwner( channel ) - Displays the owner of the specified channel in the default chat.
 * DoEmote( emote [, target] ) - Perform a voice emote.
 * EnumerateServerChannels - Retrieves all available server channels (zone dependent).
 * GetAlternativeDefaultLanguage
 * GetChannelDisplayInfo( channelID ) - Returns the name of the channel according to the given id.
 * GetChannelList - Retrieves joined channels.
 * GetChannelName( channel or index ) - Retrieves the name from a specific channel.
 * GetDefaultLanguage( unit ) - Returns the default language that the unit is speaking after logon.
 * GetLanguageByIndex( index ) - Returns the language specified by the index.
 * GetNumChannelMembers
 * GetNumDisplayChannels
 * GetNumGroupChannels
 * GetNumLanguages - Returns the number of languages your character can speak.
 * GetSelectedDisplayChannel
 * IsDisplayChannelModerator
 * IsDisplayChannelOwner
 * JoinChannelByName( channelName [, password, frameID, hasVoice] ) - Join the specified chat channel (with optional password, and register for specified frame).
 * JoinPermanentChannel( channelName [, password, frameID, hasVoice] ) - Permanently join the specified chat channel (with optional password, and register for specified frame)
 * JoinTemporaryChannel( channelName [, password, frameID, hasVoice] ) - Temporary join the specified chat channel (with optional password, and register for specified frame)
 * LeaveChannelByLocalID( localID )
 * LeaveChannelByName( channel ) - Leaves the channel with the specified name.
 * ListChannelByName( channelMatch ) - Lists members in the given channel to the chat window.
 * ListChannels - Lists all of the channels into the chat window.
 * LoggingChat( newState ) - Gets or sets whether logging chat to Logs\WoWChatLog.txt is enabled.
 * LoggingCombat( newState ) - Gets or sets whether logging combat to Logs\WoWCombatLog.txt is enabled.
 * SendChatMessage( msg [, chatType, languageID, target] ) - Sends a chat message.
 * SetChannelOwner( channel, name ) - Sets the channel owner.
 * SetChannelPassword( channel, password ) - Changes the password of the current channel.
 * SetSelectedDisplayChannel( channelID )

Chat Window
These are specific to chat window management.
 * AddChatWindowChannel( chatFrameIndex, channel ) - Make a chat channel visible in a specific ChatFrame.
 * AddChatWindowMessages - Adds a messaging group to the specified chat window.
 * ChangeChatColor( channelName, r, g, b ) - Update the color for a type of chat message.
 * GetChatTypeIndex( type ) - Get the numeric ID of a type of chat message.
 * GetChatWindowChannels( index ) - Get the chat channels received by a chat window.
 * GetChatWindowInfo( index ) - Get setup information about a chat window.
 * GetChatWindowMessages( index ) - Get the chat message types received by a chat window.
 * GetChatWindowSavedDimensions( index )
 * GetChatWindowSavedPosition( index )
 * RedockChatWindows
 * RemoveChatWindowChannel( chatFrameIndex, channel ) - Make a chat channel invisible (hidden) in a specific ChatFrame.
 * RemoveChatWindowMessages( chatFrameIndex, messageGroup ) - Remove a set of chat messages from this window.
 * ResetChatColors
 * ResetChatWindows
 * SetChatColorNameByClass( chatType, colorNameByClass )
 * SetChatWindowAlpha( index, alpha ) - Sets the Alpha value(transparency) of ChatFrame (alpha - 0-100)
 * SetChatWindowColor( index, r, g, b ) - Sets the background color of a a chat window. (r/g/b - 0-255)
 * SetChatWindowDocked( index, docked ) - Set whether a chat window is docked. (docked - 0/1)
 * SetChatWindowLocked( index, locked ) - Sets ChatFrame so that it is or is not movable. (locked - 0/1)
 * SetChatWindowName( index, name ) - Sets the alpha value of ChatFrame.
 * SetChatWindowSavedDimensions( index, width, height )
 * SetChatWindowSavedPosition( index, point, xOffsetRatio, yOffsetRatio )
 * SetChatWindowShown( index, shown ) - Shows or Hides ChatFrame depending on value of (shown - 0/1)
 * SetChatWindowSize( index, size ) - Sets the font size of a chat window. (size - default 14)
 * SetChatWindowUninteractable( id, isUninteractable )
 * UI ChatFrame_AddChannel( chatFrame, channelName ) - Activate channel in chatFrame.
 * UI ChatFrame_AddMessageEventFilter( event, filterFunc ) - Add a chat message filtering function.
 * UI ChatFrame_GetMessageEventFilters( event ) - Retreive the list of chat message filtering functions.
 * UI ChatFrame_OnHyperlinkShow( reference, link, button ) - Called when the user clicks on a chatlink.
 * UI ChatFrame_RemoveMessageEventFilter( event, filterFunc ) - Unregister a chat message filtering function.

AddOn Messages

 * C_ChatInfo.GetRegisteredAddonMessagePrefixes : registeredPrefixes - Returns addon message prefixes the client is currently registered to receive.
 * C_ChatInfo.IsAddonMessagePrefixRegistered( prefix ) : isRegistered - Returns whether the prefix is registered.
 * C_ChatInfo.RegisterAddonMessagePrefix( prefix ) : successfulRequest - Registers an addon message prefix.
 * C_ChatInfo.SendAddonMessage( prefix, message [, chatType, target] ) : success - Sends a message to the hidden addon channel.
 * C_ChatInfo.SendAddonMessageLogged( prefix, message [, chatType, target] ) : success - Sends a message to the hidden addon channel, the messages are logged server side.

Communities
Communities were added in Patch 8.0.1
 * C_Club.AcceptInvitation( clubId )
 * C_Club.AddClubStreamChatChannel( clubId, streamId )
 * C_Club.AdvanceStreamViewMarker( clubId, streamId )
 * C_Club.AssignMemberRole( clubId, memberId, roleId )
 * C_Club.CanResolvePlayerLocationFromClubMessageData( clubId, streamId, epoch, position ) : canResolve
 * C_Club.ClearAutoAdvanceStreamViewMarker
 * C_Club.ClearClubPresenceSubscription
 * C_Club.CompareBattleNetDisplayName( clubId, lhsMemberId, rhsMemberId ) : comparison
 * C_Club.CreateClub( name, [shortName], description, clubType, avatarId )
 * C_Club.CreateStream( clubId, name, subject, leadersAndModeratorsOnly )
 * C_Club.CreateTicket( clubId [, allowedRedeemCount, duration, defaultStreamId] )
 * C_Club.DeclineInvitation( clubId )
 * C_Club.DestroyClub( clubId )
 * C_Club.DestroyMessage( clubId, streamId, messageId )
 * C_Club.DestroyStream( clubId, streamId )
 * C_Club.DestroyTicket( clubId, ticketId )
 * C_Club.EditClub( clubId [, name, shortName, description, avatarId, broadcast] )
 * C_Club.EditMessage( clubId, streamId, messageId, message )
 * C_Club.EditStream( clubId, streamId [, name, subject, leadersAndModeratorsOnly] )
 * C_Club.Flush
 * C_Club.FocusStream( clubId, streamId ) : focused
 * C_Club.GetAssignableRoles( clubId, memberId ) : assignableRoles
 * C_Club.GetAvatarIdList( clubType ) : avatarIds
 * C_Club.GetClubCapacity : capacity
 * C_Club.GetClubInfo( clubId ) : info
 * C_Club.GetClubLimits( clubType ) : clubLimits
 * C_Club.GetClubMembers( clubId [, streamId] ) : members
 * C_Club.GetClubPrivileges( clubId ) : privilegeInfo
 * C_Club.GetClubStreamNotificationSettings( clubId ) : settings
 * C_Club.GetCommunityNameResultText( result ) : errorCode
 * C_Club.GetGuildClubId : guildClubId
 * C_Club.GetInfoFromLastCommunityChatLine : messageInfo, clubId, streamId, clubType
 * C_Club.GetInvitationCandidates( [filter], [maxResults], [cursorPosition], [allowFullMatch], clubId ) : candidates
 * C_Club.GetInvitationInfo( clubId ) : invitation
 * C_Club.GetInvitationsForClub( clubId ) : invitations
 * C_Club.GetInvitationsForSelf : invitations
 * C_Club.GetLastTicketResponse( ticket ) : error, info, showError
 * C_Club.GetMemberInfo( clubId, memberId ) : info
 * C_Club.GetMemberInfoForSelf( clubId ) : info
 * C_Club.GetMessageInfo( clubId, streamId, messageId ) : message
 * C_Club.GetMessageRanges( clubId, streamId ) : ranges
 * C_Club.GetMessagesBefore( clubId, streamId, newest, count ) : messages
 * C_Club.GetMessagesInRange( clubId, streamId, oldest, newest ) : messages
 * C_Club.GetStreamInfo( clubId, streamId ) : streamInfo
 * C_Club.GetStreamViewMarker( clubId, streamId ) : lastReadTime
 * C_Club.GetStreams( clubId ) : streams
 * C_Club.GetSubscribedClubs : clubs
 * C_Club.GetTickets( clubId ) : tickets
 * C_Club.IsAccountMuted( clubId ) : accountMuted
 * C_Club.IsBeginningOfStream( clubId, streamId, messageId ) : isBeginningOfStream
 * C_Club.IsEnabled : clubsEnabled
 * C_Club.IsRestricted : restrictionReason
 * C_Club.IsSubscribedToStream( clubId, streamId ) : subscribed
 * C_Club.KickMember( clubId, memberId )
 * C_Club.LeaveClub( clubId )
 * C_Club.RedeemTicket( ticketId )
 * C_Club.RequestInvitationsForClub( clubId )
 * C_Club.RequestMoreMessagesBefore( clubId, streamId [, messageId, count] ) : alreadyHasMessages
 * C_Club.RequestTicket( ticketId )
 * C_Club.RequestTickets( clubId )
 * C_Club.RevokeInvitation( clubId, memberId )
 * C_Club.SendBattleTagFriendRequest( guildClubId, memberId )
 * C_Club.SendCharacterInvitation( clubId, character )
 * C_Club.SendInvitation( clubId, memberId )
 * C_Club.SendMessage( clubId, streamId, message )
 * C_Club.SetAutoAdvanceStreamViewMarker( clubId, streamId )
 * C_Club.SetAvatarTexture( texture, avatarId, clubType )
 * C_Club.SetClubMemberNote( clubId, memberId, note )
 * C_Club.SetClubPresenceSubscription( clubId )
 * C_Club.SetClubStreamNotificationSettings( clubId, settings )
 * C_Club.SetFavorite( clubId, isFavorite )
 * C_Club.SetSocialQueueingEnabled( clubId, enabled )
 * C_Club.ShouldAllowClubType( clubType ) : clubTypeIsAllowed
 * C_Club.UnfocusStream( clubId, streamId )
 * C_Club.ValidateText( clubType, text, clubFieldType ) : result
 * C_Cursor.DropCursorCommunitiesStream
 * C_Cursor.GetCursorCommunitiesStream : clubId, streamId
 * C_Cursor.GetCursorItem : item
 * C_Cursor.SetCursorCommunitiesStream( clubId, streamId )

The Club Finder was added in Patch 8.2.0 and enabled in Patch 8.2.5
 * C_LFGuildInfo.GetRecruitingGuildTabardInfo( index ) : tabardInfo
 * C_ClubFinder.ApplicantAcceptClubInvite( clubFinderGUID )
 * C_ClubFinder.ApplicantDeclineClubInvite( clubFinderGUID )
 * C_ClubFinder.CancelMembershipRequest( clubFinderGUID )
 * C_ClubFinder.CheckAllPlayerApplicantSettings
 * C_ClubFinder.ClearAllFinderCache
 * C_ClubFinder.ClearClubApplicantsCache
 * C_ClubFinder.ClearClubFinderPostingsCache
 * C_ClubFinder.DoesPlayerBelongToClubFromClubGUID( clubFinderGUID ) : belongsToClub
 * C_ClubFinder.GetClubFinderDisableReason : disableReason
 * C_ClubFinder.GetClubRecruitmentSettings : settings
 * C_ClubFinder.GetClubTypeFromFinderGUID( clubFinderGUID ) : clubType
 * C_ClubFinder.GetFocusIndexFromFlag( flags ) : index
 * C_ClubFinder.GetPlayerApplicantLocaleFlags : localeFlags
 * C_ClubFinder.GetPlayerApplicantSettings : settings
 * C_ClubFinder.GetPlayerClubApplicationStatus( clubFinderGUID ) : clubStatus
 * C_ClubFinder.GetPlayerSettingsFocusFlagsSelectedCount : focusCount
 * C_ClubFinder.GetPostingIDFromClubFinderGUID( clubFinderGUID ) : postingID
 * C_ClubFinder.GetRecruitingClubInfoFromClubID( clubId ) : clubInfo
 * C_ClubFinder.GetRecruitingClubInfoFromFinderGUID( clubFinderGUID ) : clubInfo
 * C_ClubFinder.GetStatusOfPostingFromClubId( postingID ) : postingFlags
 * C_ClubFinder.GetTotalMatchingCommunityListSize : totalSize
 * C_ClubFinder.GetTotalMatchingGuildListSize : totalSize
 * C_ClubFinder.HasAlreadyAppliedToLinkedPosting( clubFinderGUID ) : hasAlreadyApplied
 * C_ClubFinder.HasPostingBeenDelisted( postingID ) : postingDelisted
 * C_ClubFinder.IsEnabled : isEnabled
 * C_ClubFinder.IsListingEnabledFromFlags( flags ) : isListed
 * C_ClubFinder.IsPostingBanned( postingID ) : postingBanned
 * C_ClubFinder.LookupClubPostingFromClubFinderGUID( clubFinderGUID, isLinkedPosting )
 * C_ClubFinder.PlayerGetClubInvitationList : inviteList
 * C_ClubFinder.PlayerRequestPendingClubsList( type )
 * C_ClubFinder.PlayerReturnPendingCommunitiesList : info
 * C_ClubFinder.PlayerReturnPendingGuildsList : info
 * C_ClubFinder.PostClub( clubId, itemLevelRequirement, name, description, specs, type ) : succesful
 * C_ClubFinder.ReportPosting( reportType, clubFinderGUID, playerGUID, complaintNote )
 * C_ClubFinder.RequestApplicantList( type )
 * C_ClubFinder.RequestClubsList( guildListRequested, searchString, specIDs )
 * C_ClubFinder.RequestMembershipToClub( clubFinderGUID, comment, specIDs )
 * C_ClubFinder.RequestNextCommunityPage( startingIndex, pageSize )
 * C_ClubFinder.RequestNextGuildPage( startingIndex, pageSize )
 * C_ClubFinder.RequestPostingInformationFromClubId( clubId ) : success
 * C_ClubFinder.RequestSubscribedClubPostingIDs
 * C_ClubFinder.ResetClubPostingMapCache
 * C_ClubFinder.RespondToApplicant( clubFinderGUID, playerGUID, shouldAccept, requestType, playerName, forceAccept [, reported] )
 * C_ClubFinder.ReturnClubApplicantList( clubId ) : info
 * C_ClubFinder.ReturnMatchingCommunityList : recruitingClubs
 * C_ClubFinder.ReturnMatchingGuildList : recruitingClubs
 * C_ClubFinder.ReturnPendingClubApplicantList( clubId ) : info
 * C_ClubFinder.SetAllRecruitmentSettings( value )
 * C_ClubFinder.SetPlayerApplicantLocaleFlags( localeFlags )
 * C_ClubFinder.SetPlayerApplicantSettings( index, checked )
 * C_ClubFinder.SetRecruitmentLocale( locale )
 * C_ClubFinder.SetRecruitmentSettings( index, checked )
 * C_ClubFinder.ShouldShowClubFinder : shouldShow

Reporting

 * C_ReportSystem.CanReportPlayer( playerLocation ) : canReport - Returns if a player can be reported.
 * C_ReportSystem.CanReportPlayerForLanguage( playerLocation ) : canReport
 * PROTECTED C_ReportSystem.InitiateReportPlayer( complaintType [, playerLocation] ) : token - Initiates a report against a player.
 * C_ReportSystem.OpenReportPlayerDialog( reportType, playerName [, playerLocation] ) - Opens a dialog for reporting a player.
 * C_ReportSystem.ReportServerLag
 * C_ReportSystem.ReportStuckInCombat
 * PROTECTED C_ReportSystem.SendReportPlayer( token [, comment] ) - Sends an initiated report against a player.
 * C_ReportSystem.SetPendingReportPetTarget( [target] ) : set - Report a pet for an inappropriate name.
 * C_ReportSystem.SetPendingReportTarget( [target] ) : set
 * C_ReportSystem.SetPendingReportTargetByGuid( [guid] ) : set

Restrictions
 * C_SocialRestrictions.IsMuted : isMuted
 * C_SocialRestrictions.IsSilenced : isSilenced
 * C_SocialRestrictions.IsSquelched : isSquelched

Voice Chat
Voice Chat was added in Patch 2.2 and reworked in Patch 8.0.1
 * C_VoiceChat.ActivateChannel( channelID )
 * C_VoiceChat.BeginLocalCapture( listenToLocalUser )
 * C_VoiceChat.CanPlayerUseVoiceChat : canUseVoiceChat
 * C_VoiceChat.CreateChannel( channelDisplayName ) : status
 * C_VoiceChat.DeactivateChannel( channelID )
 * C_VoiceChat.EndLocalCapture
 * C_VoiceChat.GetActiveChannelID : channelID
 * C_VoiceChat.GetActiveChannelType : channelType
 * C_VoiceChat.GetAvailableInputDevices : inputDevices
 * C_VoiceChat.GetAvailableOutputDevices : outputDevices
 * C_VoiceChat.GetChannel( channelID ) : channel
 * C_VoiceChat.GetChannelForChannelType( channelType ) : channel
 * C_VoiceChat.GetChannelForCommunityStream( clubId, streamId ) : channel
 * C_VoiceChat.GetCommunicationMode : communicationMode
 * C_VoiceChat.GetCurrentVoiceChatConnectionStatusCode : statusCode
 * C_VoiceChat.GetInputVolume : volume
 * C_VoiceChat.GetJoinClubVoiceChannelError( clubId ) : errorReason
 * C_VoiceChat.GetLocalPlayerActiveChannelMemberInfo : memberInfo
 * C_VoiceChat.GetLocalPlayerMemberID( channelID ) : memberID
 * C_VoiceChat.GetMasterVolumeScale : scale
 * C_VoiceChat.GetMemberGUID( memberID, channelID ) : memberGUID
 * C_VoiceChat.GetMemberID( channelID, memberGUID ) : memberID
 * C_VoiceChat.GetMemberInfo( memberID, channelID ) : memberInfo
 * C_VoiceChat.GetMemberName( memberID, channelID ) : memberName
 * C_VoiceChat.GetMemberVolume( playerLocation ) : volume
 * C_VoiceChat.GetOutputVolume : volume
 * C_VoiceChat.GetProcesses : processes
 * C_VoiceChat.GetPTTButtonPressedState : isPressed
 * C_VoiceChat.GetPushToTalkBinding : keys
 * C_VoiceChat.GetVADSensitivity : sensitivity
 * C_VoiceChat.IsChannelJoinPending( channelType [, clubId, streamId] ) : isPending
 * C_VoiceChat.IsDeafened : isDeafened
 * C_VoiceChat.IsEnabled : isEnabled
 * C_VoiceChat.IsLoggedIn : isLoggedIn
 * C_VoiceChat.IsMemberLocalPlayer( memberID, channelID ) : isLocalPlayer
 * C_VoiceChat.IsMemberMuted( playerLocation ) : mutedForMe
 * C_VoiceChat.IsMemberMutedForAll( memberID, channelID ) : mutedForAll
 * C_VoiceChat.IsMemberSilenced( memberID, channelID ) : silenced
 * C_VoiceChat.IsMuted : isMuted
 * C_VoiceChat.IsParentalDisabled : isParentalDisabled
 * C_VoiceChat.IsParentalMuted : isParentalMuted
 * C_VoiceChat.IsPlayerUsingVoice( playerLocation ) : isUsingVoice
 * C_VoiceChat.IsSilenced : isSilenced
 * C_VoiceChat.LeaveChannel( channelID )
 * C_VoiceChat.Login : status
 * C_VoiceChat.Logout : status
 * C_VoiceChat.MarkChannelsDiscovered
 * C_VoiceChat.RequestJoinAndActivateCommunityStreamChannel( clubId, streamId )
 * C_VoiceChat.RequestJoinChannelByChannelType( channelType [, autoActivate] )
 * C_VoiceChat.SetCommunicationMode( communicationMode )
 * C_VoiceChat.SetDeafened( isDeafened )
 * C_VoiceChat.SetInputDevice( deviceID )
 * C_VoiceChat.SetInputVolume( volume )
 * C_VoiceChat.SetMasterVolumeScale( scale )
 * C_VoiceChat.SetMemberMuted( playerLocation, muted )
 * C_VoiceChat.SetMemberVolume( playerLocation, volume )
 * C_VoiceChat.SetMuted( isMuted )
 * C_VoiceChat.SetOutputDevice( deviceID )
 * C_VoiceChat.SetOutputVolume( volume )
 * C_VoiceChat.SetPortraitTexture( textureObject, memberID, channelID )
 * C_VoiceChat.SetPushToTalkBinding( keys )
 * C_VoiceChat.SetVADSensitivity( sensitivity )
 * C_VoiceChat.ShouldDiscoverChannels : shouldDiscoverChannels
 * C_VoiceChat.ToggleDeafened
 * C_VoiceChat.ToggleMemberMuted( playerLocation )
 * C_VoiceChat.ToggleMuted
 * ChannelSetAllSilent( [channelNumber | channelName], memberName, silenceOn )
 * ChannelSetPartyMemberSilent( partyMemberName, silenceOn )
 * IsChatChannelRaid

Twitter
Twitter integration was added in Patch 6.1.0
 * C_Social.GetLastAchievement : achievementID, achievementName, achievementDesc, iconFileID
 * C_Social.GetLastItem : itemID, itemName, iconFileID, itemQuality, itemLevel, ...
 * C_Social.GetLastScreenshotIndex : screenShotIndex - Returns the index of the last screenshot.
 * C_Social.GetMaxTweetLength : maxTweetLength - Returns the max character length of a tweet.
 * C_Social.GetScreenshotInfoByIndex( index ) : screenWidth, screenHeight - Returns the display resolution of a screenshot.
 * C_Social.GetTweetLength( tweetText ) : tweetLength
 * C_Social.IsSocialEnabled : isEnabled
 * PROTECTED C_Social.RegisterSocialBrowser
 * C_Social.SetTextureToScreenshot( texture, index )
 * PROTECTED C_Social.TwitterCheckStatus
 * PROTECTED C_Social.TwitterConnect
 * PROTECTED C_Social.TwitterDisconnect
 * C_Social.TwitterGetMSTillCanPost : msTimeLeft
 * PROTECTED C_Social.TwitterPostAchievement( text, width, height, snapshotId, offScreenFrame, lastAchievementID, usedCustomText )
 * PROTECTED C_Social.TwitterPostItem( text, width, height, snapshotId, offScreenFrame, lastItemID, usedCustomText )
 * PROTECTED C_Social.TwitterPostMessage( message )
 * PROTECTED C_Social.TwitterPostScreenshot( text, screenshotIndex, texture, usedCustomText )

Character

 * CheckBinderDist - Check whether the player is close enough to interact with the Hearthstone binder.
 * ConfirmBinder - Confirm the request to set the binding of the player's Hearthstone.
 * Dismount - The player dismounts the current mount.
 * GetBindLocation - Get the name of the location for your Hearthstone.
 * GetComboPoints - Get the current number of combo points.
 * GetCurrentLevelFeatures( level ) - For Level Up Display
 * GetCurrentLevelSpells( level ) - For Level Up Display
 * GetCurrentTitle - Returns the player's current titleId.
 * GetLevelUpInstances( level, isRaid ) - For Level Up Display
 * GetMirrorTimerInfo( id ) - Returns information about a mirror timer (exhaustion, breath and feign death timers)
 * GetMirrorTimerProgress( id ) - Returns the current value of a mirror timer (exhaustion, breath and feign death timers)
 * GetMoney - Returns an integer value of your held money in copper.
 * GetNumTitles - Returns the maximum titleId.
 * GetRestState - Returns information about a player's rest state. (saved up experience bonus)
 * GetRuneCooldown( id ) - Returns cooldown information about a given rune.
 * GetRuneCount( slot ) - Returns the number of Runes in the given slot. (Death Knight)
 * GetSheathState - Returns the sheath state of the player's weapons.
 * GetSpellsForCharacterUpgradeTier( tierIndex ) - For Level Up Display
 * GetTimeToWellRested
 * GetTitleName( titleId ) - Returns the player's current title name.
 * GetXPExhaustion - Returns your character's current rested XP, nil if character is not rested.
 * HasAlternateForm
 * HasFullControl
 * IsChatAFK
 * IsChatDND
 * IsEncounterInProgress
 * IsFalling - Returns 1 if your character is currently plummeting to their doom.
 * IsFlyableArea - Returns 1 if it is possible to fly here, nil otherwise.
 * IsFlying - Returns 1 if flying, otherwise nil.
 * IsIndoors - Returns 1 if you are indoors, otherwise nil. Returns nil for indoor areas where you can still mount.
 * IsInsane - Used for the Insanity bar
 * IsMounted - Returns 1 if mounted, otherwise nil.
 * IsOutOfBounds - Returns 1 if you fell off the map.
 * IsOutdoors - Returns 1 if you are outdoors, otherwise nil. Returns 1 for indoor areas where you can still mount.
 * IsPlayerInWorld
 * IsPlayerNeutral
 * IsResting - Returns 1 if your character is currently resting.
 * IsStealthed - Returns 1 if stealthed or shadowmeld, otherwise nil.
 * IsSubmerged
 * IsSwimming - Returns 1 if your character is currently swimming.
 * IsThreatWarningEnabled - Returns whether threat warnings should currently be displayed.
 * IsTitleKnown( index ) - Returns 1 if the title is valid for the player, otherwise 0.
 * IsXPUserDisabled - Returns 1 if the character has disabled experience gain.
 * PlayerHasHearthstone - Returns the hearthstone ID
 * RandomRoll( min, max ) - Does a random roll between the two values.
 * HW SetCurrentTitle( titleId ) - Sets the player's current title by id.
 * ToggleSheath - Toggles sheathed or unsheathed weapons.
 * PROTECTED UseHearthstone

Paper Doll
Relates to the Paper doll (also known as Character sheet).
 * C_PaperDollInfo.GetArmorEffectiveness( armor, attackerLevel ) : effectiveness
 * C_PaperDollInfo.GetArmorEffectivenessAgainstTarget( armor ) : effectiveness
 * C_PaperDollInfo.GetInspectItemLevel( unit ) : equippedItemLevel - Returns the average item level for the unit being inspected.
 * C_PaperDollInfo.GetMinItemLevel : minItemLevel
 * C_PaperDollInfo.GetStaggerPercentage( unit ) : stagger, staggerAgainstTarget
 * C_PaperDollInfo.OffhandHasShield : offhandHasShield
 * C_PaperDollInfo.OffhandHasWeapon : offhandHasWeapon
 * CanDualWield
 * GetAttackPowerForStat( stat, value ) - Returns the amount of attack power contributed by a specified amount of a particular stat.
 * GetAvoidance
 * GetBlockChance - Returns the player's percentage block chance.
 * GetCombatRating( ratingID ) - Returns the player's combat rating for a particular combat rating.
 * GetCombatRatingBonus( ratingID ) - Returns the player's combat rating bonus for a particular combat rating.
 * GetCombatRatingBonusForCombatRatingValue( ratingIndex, value )
 * GetCritChance - Returns the player's melee critical hit chance.
 * GetCritChanceProvidesParryEffect
 * GetDodgeChance - Returns the player's percentage dodge chance.
 * GetDodgeChanceFromAttribute
 * GetExpertise - Returns the player's expertise percentage for main hand, offhand and ranged attacks.
 * GetHaste - Returns the player's haste percentage.
 * GetHitModifier
 * GetLifesteal
 * GetManaRegen - Returns the player's mana regeneration rates.
 * GetMastery - Returns the player's mastery before mastery rating.
 * GetMasteryEffect - Returns the player's buffed mastery in percentage and (unknown number value).
 * GetMaxCombatRatingBonus( ratingIndex )
 * GetMeleeHaste - Returns player's Melee attack haste.
 * GetModResilienceDamageReduction
 * GetOverrideAPBySpellPower
 * GetOverrideSpellPowerByAP
 * GetParryChance - Returns the player's percentage parry chance.
 * GetParryChanceFromAttribute
 * GetPetMeleeHaste
 * GetPetSpellBonusDamage
 * GetPowerRegen - Returns normal and combat power regeneration rates.
 * GetPowerRegenForPowerType( POWER_TYPE )
 * GetPVPGearStatRules
 * GetPvpPowerDamage
 * GetPvpPowerHealing
 * GetRangedCritChance - Returns the players ranged critical strike chance.
 * GetRangedHaste
 * GetShieldBlock
 * GetSpeed
 * GetSpellBonusDamage( spellTreeID ) - Returns the raw spell damage of the player for a given spell tree.
 * GetSpellBonusHealing - Returns the raw bonus healing of the player.
 * GetSpellCritChance( school ) - Returns the players critical hit chance with a particular spell school.
 * GetSpellHitModifier
 * GetSpellPenetration
 * GetSturdiness
 * GetUnitHealthModifier( unit )
 * GetUnitMaxHealthModifier( unit )
 * GetUnitPowerModifier( unit )
 * GetVersatilityBonus( COMBAT_RATING )
 * HasAPEffectsSpellPower
 * HasDualWieldPenalty
 * HasIgnoreDualWieldWeapon
 * HasSPEffectsAttackPower
 * IsDualWielding
 * IsRangedWeapon
 * PlayerEffectiveAttackPower
 * ResistancePercent( resistance, casterLevel )

Equipment Manager
The Equipment Manager was added in Patch 3.1.2
 * C_EquipmentSet.AssignSpecToEquipmentSet( equipmentSetID, specIndex ) - Assigns an equipment set to a specialization.
 * C_EquipmentSet.CanUseEquipmentSets : canUseEquipmentSets - Returns whether any equipment sets can be used.
 * C_EquipmentSet.ClearIgnoredSlotsForSave - Clears ignored slots for saving.
 * C_EquipmentSet.CreateEquipmentSet( equipmentSetName [, icon] ) - Creates an equipment set.
 * C_EquipmentSet.DeleteEquipmentSet( equipmentSetID ) - Deletes an equipment set.
 * C_EquipmentSet.EquipmentSetContainsLockedItems( equipmentSetID ) : hasLockedItems - Returns whether an equipment set has locked items
 * C_EquipmentSet.GetEquipmentSetAssignedSpec( equipmentSetID ) : specIndex - Returns the specialization assigned to an equipment set.
 * C_EquipmentSet.GetEquipmentSetForSpec( specIndex ) : equipmentSetID - Returns the equipment set currently assigned to a specific specialization.
 * C_EquipmentSet.GetEquipmentSetID( equipmentSetName ) : equipmentSetID - Returns the set ID of an equipment set with the specified name.
 * C_EquipmentSet.GetEquipmentSetIDs : equipmentSetIDs - Returns an array containing all currently saved equipment set IDs.
 * C_EquipmentSet.GetEquipmentSetInfo( equipmentSetID ) : name, iconFileID, setID, isEquipped, numItems, numEquipped, numInInventory, ... - Returns information about a saved equipment set.
 * C_EquipmentSet.GetIgnoredSlots( equipmentSetID ) : slotIgnored - Returns ignored slots of an equipment set.
 * C_EquipmentSet.GetItemIDs( equipmentSetID ) : itemIDs - Returns the item IDs of an equipment set.
 * C_EquipmentSet.GetItemLocations( equipmentSetID ) : locations - Returns the location of all items in an equipment set.
 * C_EquipmentSet.GetNumEquipmentSets : numEquipmentSets - Returns the number of saved equipment sets.
 * C_EquipmentSet.IgnoreSlotForSave( slot ) - Ignores an equipment slot for saving.
 * C_EquipmentSet.IsSlotIgnoredForSave( slot ) : isSlotIgnored - Returns whether a slot is ignored for saving.
 * C_EquipmentSet.ModifyEquipmentSet( equipmentSetID, newName [, newIcon] ) - Modifies an equipment set.
 * C_EquipmentSet.PickupEquipmentSet( equipmentSetID ) - Picks up an equipment set, placing it on the cursor.
 * C_EquipmentSet.SaveEquipmentSet( equipmentSetID [, icon] ) - Saves your currently equipped items into an equipment set.
 * C_EquipmentSet.UnassignEquipmentSetSpec( equipmentSetID ) - Unassigns an equipment set from a specialization.
 * C_EquipmentSet.UnignoreSlotForSave( slot ) - Unignores a slot for saving.
 * NOCOMBAT C_EquipmentSet.UseEquipmentSet( equipmentSetID ) : setWasEquipped - Equips items from a specified equipment set.
 * GetInventoryItemEquippedUnusable( unit, slot )
 * GetInventoryItemsForSlot( slot, returnTable [, transmogrify] )
 * IsInventoryItemAnUpgrade( unit, slot )
 * UI EquipmentManager_UnpackLocation - Unpacks a location integer to determine the actual inventory location.

Dressing Room
The Dressing room was added in Patch 1.7.0
 * UI DressUpItemLink( itemLink ) - Shows the Dressing Room with the given item equipped.
 * UI DressUpMountLink( itemLink | spellLink ) - Shows the Dressing Room for the mount.
 * UI DressUpTransmogLink( transmogLink ) - Shows the Dressing Room for transmog appearance or illusion.
 * UI SetDressUpBackground( frame, fileName, atlasPostfix )

Transmogrification
Transmogrification was added in Patch 4.3.0. See also Appearances functions.
 * C_Transmog.ApplyAllPending - Applies all pending transmogrifications, and pays for the cost.
 * C_Transmog.CanTransmogItemWithItem( targetItemLink, sourceItemLink ) - Returns whether an item can be transmogrified to look like another item.
 * C_Transmog.ClearAllPending
 * C_Transmog.ClearPending( transmogLocation ) - Clears the specified transmogrify slot.
 * C_Transmog.Close
 * C_Transmog.GetApplyWarnings
 * C_Transmog.GetBaseCategory( transmogID ) : categoryID
 * C_Transmog.GetCost
 * C_Transmog.GetCreatureDisplayIDForSource( itemModifiedAppearanceID ) : creatureDisplayID
 * C_Transmog.GetItemIDForSource( itemModifiedAppearanceID ) : itemID
 * C_Transmog.GetItemInfo( item ) - Returns how an item can interact with transmogrification.
 * C_Transmog.GetSlotForInventoryType( inventoryType ) : slot - Returns the equipment slot for an inventory type.
 * C_Transmog.GetSlotInfo( transmogLocation ) : isTransmogrified, hasPending, isPendingCollected, canTransmogrify, ...
 * C_Transmog.GetSlotUseError( transmogLocation ) : errorCode, errorString
 * C_Transmog.GetSlotVisualInfo( transmogLocation ) : baseSourceID, baseVisualID, appliedSourceID, appliedVisualID, ...
 * C_Transmog.LoadOutfit( outfitID )
 * C_Transmog.LoadSources( sourceIDTable [, mainHandEnchant, offHandEnchant] )
 * C_Transmog.SetPending( transmogLocation, transmogID [, categoryID] )
 * C_Transmog.ValidateAllPending
 * IsCosmeticItem

Barber Shop
The Barbershop was added in Patch 3.0.2 and reworked in patch Patch 9.0.1
 * C_BarberShop.ApplyCustomizationChoices : success
 * C_BarberShop.Cancel
 * C_BarberShop.ClearPreviewChoices
 * C_BarberShop.GetAvailableCustomizations : categories
 * C_BarberShop.GetCurrentCameraZoom : zoomLevel
 * C_BarberShop.GetCurrentCharacterData : characterData
 * C_BarberShop.GetCurrentCost : cost
 * C_BarberShop.HasAnyChanges : hasChanges
 * C_BarberShop.IsViewingAlteredForm : isViewingAlteredForm
 * C_BarberShop.OldBarberShopLoaded
 * C_BarberShop.PreviewCustomizationChoice( optionID, choiceID )
 * C_BarberShop.ResetCameraRotation
 * C_BarberShop.ResetCustomizationChoices
 * C_BarberShop.RotateCamera( diffDegrees )
 * C_BarberShop.SetCameraDistanceOffset( offset )
 * C_BarberShop.SetCameraZoomLevel( zoomLevel [, keepCustomZoom] )
 * C_BarberShop.SetCustomizationChoice( optionID, choiceID )
 * C_BarberShop.SetModelDressState( dressedState )
 * C_BarberShop.SetSelectedSex( sex )
 * C_BarberShop.SetViewingAlteredForm( isViewingAlteredForm )
 * C_BarberShop.SetViewingShapeshiftForm( [shapeshiftFormID] )
 * C_BarberShop.ZoomCamera( zoomAmount )
 * ApplyBarberShopStyle - Purchase and apply the cosmetic changes.
 * BarberShopReset - Reset any changes made in the Barber Shop.
 * CancelBarberShop - Exit the Barber Shop chair.
 * GetBarberShopStyleInfo( id ) - Returns information about the currently selected style.
 * GetBarberShopTotalCost - Returns the total costs of the cosmetic changes.
 * GetCustomizationDetails( customizationIndex )
 * IsBarberShopStyleValid
 * SetBarberShopAlternateFormFrame
 * SetNextBarberShopStyle( id [, reverse] ) - Alters style selection in a particular category.

Cinematics
Relates to in-game cinematics/cutscenes.
 * CanCancelScene
 * CancelScene
 * InCinematic
 * IsInCinematicScene
 * MouseOverrideCinematicDisable
 * OpeningCinematic - Shows the opening cinematic for a player's race. Only works as long as the player has earned zero exp.
 * StopCinematic

Relates to pre-rendered movies.
 * CancelPreloadingMovie( movieId )
 * GetMovieDownloadProgress( movieId )
 * GameMovieFinished - Ends the movie.
 * IsMovieLocal( movieId )
 * IsMoviePlayable( movieId ) - Returns if a movie can be played.
 * PreloadMovie( movieId )
 * UI MovieFrame_PlayMovie( MovieFrame, movieID ) - Plays a movie.

Class

 * C_ClassColor.GetClassColor( className ) : classColor - Returns information about a class' color.
 * C_CreatureInfo.GetClassInfo( classID ) : classInfo - Returns both localized and locale-independent class names.
 * FillLocalizedClassList( classTable [, isFemale] ) - Fills table with localized class names.
 * GetClassInfo( index ) - Returns information about a class.
 * GetNumClasses - Returns the amount of classes in the game.
 * IsDemonHunterAvailable
 * UI GetClassColor( classFilename ) - Returns a class color from RAID_CLASS_COLORS.

Shaman totems
 * PROTECTED DestroyTotem( slot ) - Destroys a totem/minion.
 * GetMultiCastTotemSpells( totemslot ) - Returns a list of spellIDs that are applicable for the specified totem slot (1-4)
 * GetTotemCannotDismiss( slot )
 * GetTotemInfo( slot ) - Returns information about a totem.
 * GetTotemTimeLeft( slot )
 * TargetTotem( slot )
 * PROTECTED SetMultiCastSpell( actionID, spellID ) - Assigns a spellID to a multicast (totem bar) actionID.

Druid shapeshift forms
 * PROTECTED CancelShapeshiftForm - Cancels a druid's shapeshift form buff.
 * PROTECTED CastShapeshiftForm( index )
 * GetNumShapeshiftForms
 * GetShapeshiftForm( unknown ) - Returns zero-based index of current form/stance.
 * GetShapeshiftFormCooldown( index )
 * GetShapeshiftFormID - Returns the current shapeshift form as a constant. If the player is not shapeshifted it returns nil.
 * GetShapeshiftFormInfo( index ) - Retrieves information about an available ShapeshiftForm or Stance.

Talents
Relates to Specializations.
 * C_SpecializationInfo.CanPlayerUsePVPTalentUI : canUse, failureReason
 * C_SpecializationInfo.CanPlayerUseTalentSpecUI : canUse, failureReason
 * C_SpecializationInfo.CanPlayerUseTalentUI : canUse, failureReason
 * C_SpecializationInfo.GetAllSelectedPvpTalentIDs : selectedPvpTalentIDs
 * C_SpecializationInfo.GetInspectSelectedPvpTalent( inspectedUnit, talentIndex ) : selectedTalentID
 * C_SpecializationInfo.GetPvpTalentAlertStatus : hasUnspentSlot, hasNewTalent
 * C_SpecializationInfo.GetPvpTalentSlotInfo( talentIndex ) : slotInfo
 * C_SpecializationInfo.GetPvpTalentSlotUnlockLevel( talentIndex ) : requiredLevel
 * C_SpecializationInfo.GetPvpTalentUnlockLevel( talentID ) : requiredLevel
 * C_SpecializationInfo.GetSpecIDs( specSetID ) : specIDs
 * C_SpecializationInfo.GetSpellsDisplay( specializationID ) : spellID
 * C_SpecializationInfo.IsInitialized : isSpecializationDataInitialized
 * C_SpecializationInfo.IsPvpTalentLocked( talentID ) : locked
 * C_SpecializationInfo.MatchesCurrentSpecSet( specSetID ) : matches
 * C_SpecializationInfo.SetPvpTalentLocked( talentID, locked )
 * AreTalentsLocked
 * CheckTalentMasterDist - Returns nil if the player is too far away from the talent master to use the talent methods.
 * ClearFailedPVPTalentIDs
 * ClearFailedTalentIDs
 * ConfirmTalentWipe - Confirms freeing all talent points.
 * GetActiveSpecGroup( [isInspect] ) - Returns the index of the current active specialization/talent/glyph group.
 * GetFailedPVPTalentIDs
 * GetFailedTalentIDs
 * GetMaxTalentTier - Returns the number of available talent tiers.
 * GetNumSpecGroups( [isInspect] ) - Returns the number of specialization group (dual specs) the player has.
 * GetNumSpecializations( [isInspect, isPet] ) - Returns the number of available specializations.
 * GetNumSpecializationsForClassID( classID ) - Returns the number of specializations available to a particular class.
 * GetNumUnspentPvpTalents
 * GetNumUnspentTalents - Returns the number of unspent talents.
 * GetPetTalentTree
 * GetPrimarySpecialization
 * GetPvpTalentInfoByID( talentID [, specGroupIndex, isInspect, inspectUnit] )
 * GetPvpTalentInfoBySpecialization
 * GetPvpTalentLink
 * GetSetBonusesForSpecializationByItemID( specID, itemID )
 * GetSpecChangeCost
 * GetSpecialization( [isInspect, isPet, specGroup] ) - Returns the index of the player's current specialization.
 * GetSpecializationInfo( specIndex [, isInspect, isPet, inspectTarget, sex] ) - Returns information about the player's specializations.
 * GetSpecializationInfoByID( specID ) - Returns information about the specified specialization.
 * GetSpecializationInfoForClassID( classID, specIndex ) - Returns information about the specified specialization.
 * GetSpecializationInfoForSpecID( specID [, sex] )
 * GetSpecializationMasterySpells( specIndex [, isInspect, isPet] ) - Returns the mastery spellID of the current player's specialization.
 * GetSpecializationNameForSpecID( specID [, sex] )
 * GetSpecializationRole( specIndex [, isInspect, isPet] ) - Returns the role a specialization is intended to perform.
 * GetSpecializationRoleByID( specID ) - Returns the role a specialization is intended to perform.
 * GetSpecializationSpells( specIndex [, isInspect, isPet] ) - Returns the spellID of key abilities used by the specified specialization.
 * GetSpecsForSpell( spellName or spellIndex, bookType ) - Returns the specs for which the specified spell can be used.
 * GetTalentInfo( tier, column, specGroupIndex [, isInspect, inspectUnit] ) - Returns information about a talent.
 * GetTalentInfoByID( talentID, specGroupIndex [, isInspect, inspectUnit] ) - Returns information about a talent.
 * GetTalentInfoBySpecialization( specGroupIndex, tier, column )
 * GetTalentLink( talentID [, isInspect, specGroup, inspectID, classID] ) - Returns the talent link.
 * GetTalentTierInfo( tier )
 * IsPvpTalentSpell
 * IsSpellClassOrSpec( spellName or spellIndex, bookType ) - Returns whether a given spell is specific to a specialization and/or class.
 * IsTalentSpell( slot, bookType ) - Returns whether or not the specified spell is learned from a talent.
 * LearnPvpTalent
 * LearnPvpTalents
 * LearnTalent
 * NOCOMBAT LearnTalents( talentID1, talentID2, ... ) - Learns the talents listed.
 * RemovePvpTalent
 * NOCOMBAT RemoveTalent( talentID ) - Removes the specified talent.
 * NOCOMBAT SetSpecialization( specIndex [, isPet] ) - Selects a specialization.
 * NOCOMBAT UnlearnSpecialization( specIndex [, isPet] )

Collections
The Collections window was added in Patch 5.0.4

Mount Journal
The Mount Journal was added in Patch 6.0.2
 * C_MountJournal.ClearFanfare( mountID )
 * C_MountJournal.ClearRecentFanfares
 * C_MountJournal.Dismiss - Dismisses the currently summoned mount.
 * C_MountJournal.GetCollectedFilterSetting( filterIndex ) : isChecked - Indicates whether the specified mount journal filter is enabled.
 * C_MountJournal.GetDisplayedMountAllCreatureDisplayInfo( mountIndex ) : allDisplayInfo - Returns all display IDs for a mount by index.
 * C_MountJournal.GetDisplayedMountInfo( displayIndex ) : name, spellID, icon, isActive, isUsable, sourceType, isFavorite, ... - Returns information about the specified mount.
 * C_MountJournal.GetDisplayedMountInfoExtra( mountIndex ) : creatureDisplayInfoID, description, source, isSelfMount, mountTypeID, ... - Returns extra information about the specified mount.
 * C_MountJournal.GetIsFavorite( mountIndex ) : isFavorite, canSetFavorite - Indicates whether the specified mount is marked as a favorite.
 * C_MountJournal.GetMountAllCreatureDisplayInfoByID( mountID ) : allDisplayInfo - Returns all display IDs for a mount by ID.
 * C_MountJournal.GetMountFromItem( itemID ) : mountID - Returns the mount for an item ID.
 * C_MountJournal.GetMountFromSpell( spellID ) : mountID - Returns the mount for a spell ID.
 * C_MountJournal.GetMountIDs : mountIDs - Returns the IDs of mounts listed in the mount journal.
 * C_MountJournal.GetMountInfoByID( mountID ) : name, spellID, icon, isActive, isUsable, sourceType, isFavorite, ... - Returns information about the specified mount.
 * C_MountJournal.GetMountInfoExtraByID( mountID ) : creatureDisplayInfoID, description, source, isSelfMount, mountTypeID, ... - Returns extra information about the specified mount.
 * C_MountJournal.GetMountUsabilityByID( mountID, checkIndoors ) : isUsable, useError - Returns if a mount is currently usable by the player.
 * C_MountJournal.GetNumDisplayedMounts : numMounts - Returns the number of mounts shown in the mount journal.
 * C_MountJournal.GetNumMounts : numMounts - Returns the number of mounts listed in the mount journal.
 * C_MountJournal.GetNumMountsNeedingFanfare : numMountsNeedingFanfare
 * C_MountJournal.IsSourceChecked( filterIndex ) : isChecked
 * C_MountJournal.IsValidSourceFilter( filterIndex ) : isValid
 * C_MountJournal.NeedsFanfare( mountID ) : needsFanfare
 * C_MountJournal.Pickup( displayIndex ) - Picks up the specified mount onto the cursor, usually in preparation for placing it on an action button.
 * C_MountJournal.SetAllSourceFilters( isChecked )
 * C_MountJournal.SetCollectedFilterSetting( filterIndex, isChecked ) - Enables or disables the specified mount journal filter.
 * C_MountJournal.SetIsFavorite( mountIndex, isFavorite ) - Marks or unmarks the specified mount as a favorite.
 * C_MountJournal.SetSearch( searchValue )
 * C_MountJournal.SetSourceFilter( filterIndex, isChecked )
 * C_MountJournal.SummonByID( mountID ) - Summons the specified mount.

Mount equipment was added in Patch 8.2.0
 * C_MountJournal.ApplyMountEquipment( itemLocation ) : canContinue
 * C_MountJournal.AreMountEquipmentEffectsSuppressed : areEffectsSuppressed
 * C_MountJournal.GetAppliedMountEquipmentID : itemID
 * C_MountJournal.GetMountEquipmentUnlockLevel : level
 * C_MountJournal.IsItemMountEquipment( itemLocation ) : isMountEquipment
 * C_MountJournal.IsMountEquipmentApplied : isApplied
 * C_PlayerInfo.CanPlayerUseMountEquipment : canUseMountEquipment, failureReason - Returns true if the player can use mount equipment.

The old companion API (non-combat pets and mounts) was added in Patch 3.0.2
 * CallCompanion( type, slotid ) - Summons a companion.
 * DismissCompanion( type ) - Dismisses an active companion.
 * GetCompanionInfo( type, slotid ) - Returns info about a selected companion.
 * GetNumCompanions( type ) - Get the number of companions of the specified type.
 * SummonRandomCritter - Summons a random critter companion.

Pet Journal
The Pet Journal was added in Patch 5.0.4. See also Pet Battle functions.
 * C_PetInfo.GetPetTamersForMap( uiMapID ) : petTamers - Returns the pet tamers on a map.
 * C_PetJournal.CagePetByID( petID ) - Puts the pet into a cage.
 * C_PetJournal.ClearFanfare
 * C_PetJournal.ClearRecentFanfares
 * C_PetJournal.ClearSearchFilter - Clears the search box in the pet journal.
 * C_PetJournal.FindPetIDByName
 * C_PetJournal.GetBattlePetLink( petID ) - Returns a battle pet hyperlink for the given petID.
 * C_PetJournal.GetDisplayIDByIndex( speciesID, index ) : displayID
 * C_PetJournal.GetDisplayProbabilityByIndex( speciesID, index ) : displayProbability
 * C_PetJournal.GetNumCollectedInfo
 * C_PetJournal.GetNumDisplays( speciesID ) : numDisplays
 * C_PetJournal.GetNumMaxPets
 * C_PetJournal.GetNumPetSources - Returns information about the number of pet sources.
 * C_PetJournal.GetNumPetTypes - Returns information about the number of pet types.
 * C_PetJournal.GetNumPetsNeedingFanfare
 * C_PetJournal.GetNumPets - Returns information about the number of battle pets.
 * C_PetJournal.GetOwnedBattlePetString( speciesID ) - Returns string about numbers of battle pets in journal.
 * C_PetJournal.GetPetAbilityInfo( abilityID )
 * C_PetJournal.GetPetAbilityList( speciesID [, idTable, levelTable] )
 * C_PetJournal.GetPetCooldownByGUID
 * C_PetJournal.GetPetInfoByIndex( index ) - Returns information about a battle pet.
 * C_PetJournal.GetPetInfoByItemID( itemID )
 * C_PetJournal.GetPetInfoByPetID( petID ) - Returns information about a battle pet.
 * C_PetJournal.GetPetInfoBySpeciesID( speciesID ) - Returns information about a pet species.
 * C_PetJournal.GetPetLoadOutInfo( slotIndex )
 * C_PetJournal.GetPetModelSceneInfoBySpeciesID( speciesID )
 * C_PetJournal.GetPetSortParameter
 * C_PetJournal.GetPetStats( petID ) - Returns a pet's stats from the Pet Journal.
 * C_PetJournal.GetPetSummonInfo( battlePetGUID ) : isSummonable, error, errorText
 * C_PetJournal.GetPetTeamAverageLevel
 * C_PetJournal.GetSummonBattlePetCooldown
 * C_PetJournal.GetSummonRandomFavoritePetGUID
 * C_PetJournal.GetSummonedPetGUID - Returns information about a battle pet.
 * C_PetJournal.IsFilterChecked
 * C_PetJournal.IsFindBattleEnabled
 * C_PetJournal.IsJournalReadOnly
 * C_PetJournal.IsJournalUnlocked
 * C_PetJournal.IsPetSourceChecked
 * C_PetJournal.IsPetTypeChecked
 * C_PetJournal.PetCanBeReleased( petID ) - Returns true if you can release the pet.
 * C_PetJournal.PetIsCapturable( petID )
 * C_PetJournal.PetIsFavorite( petID ) - Returns true if this pet is marked as a favorite.
 * C_PetJournal.PetIsHurt( petID )
 * C_PetJournal.PetIsLockedForConvert( petID )
 * C_PetJournal.PetIsRevoked( petID )
 * C_PetJournal.PetIsSlotted( petID )
 * C_PetJournal.PetIsSummonable( battlePetGUID ) : isSummonable - Returns true if you can summon this pet.
 * C_PetJournal.PetIsTradable( petID ) - Returns whether or not a pet from the Pet Journal is tradable.
 * C_PetJournal.PetIsUsable( petID )
 * C_PetJournal.PetNeedsFanfare
 * C_PetJournal.PetUsesRandomDisplay( speciesID ) : usesRandomDisplay
 * C_PetJournal.PickupPet( petID )
 * C_PetJournal.PickupSummonRandomPet
 * C_PetJournal.ReleasePetByID( petID ) - Releases the pet.
 * C_PetJournal.SetAbility( slotIndex, spellIndex, petSpellID )
 * C_PetJournal.SetAllPetSourcesChecked
 * C_PetJournal.SetAllPetTypesChecked
 * C_PetJournal.SetCustomName( petID, customName ) - Sets a custom name for the pet.
 * C_PetJournal.SetFavorite( petID, value ) - Sets (or clears) the pet as a favorite.
 * C_PetJournal.SetFilterChecked
 * C_PetJournal.SetPetLoadOutInfo( slotIndex, petID )
 * C_PetJournal.SetPetSortParameter
 * C_PetJournal.SetPetSourceChecked
 * C_PetJournal.SetPetTypeFilter( index, value ) - Sets the pet type in the filter menu.
 * C_PetJournal.SetSearchFilter( text ) - Sets the search filter in the pet journal.
 * NOCOMBAT C_PetJournal.SummonPetByGUID( petID ) - Summons (or dismisses) a pet.
 * NOCOMBAT C_PetJournal.SummonRandomPet( allPets ) - Summons a random battle pet companion.

Toy Box
The Toy Box was added in Patch 6.0.2
 * C_ToyBox.ForceToyRefilter
 * C_ToyBox.GetCollectedShown
 * C_ToyBox.GetIsFavorite( itemID )
 * C_ToyBox.GetNumFilteredToys
 * C_ToyBox.GetNumLearnedDisplayedToys
 * C_ToyBox.GetNumTotalDisplayedToys
 * C_ToyBox.GetNumToys
 * C_ToyBox.GetToyFromIndex( itemIndex )
 * C_ToyBox.GetToyInfo( itemID ) - Returns toy info.
 * C_ToyBox.GetToyLink( itemID ) - Returns item link.
 * C_ToyBox.GetUncollectedShown
 * C_ToyBox.GetUnusableShown
 * C_ToyBox.HasFavorites
 * C_ToyBox.IsExpansionTypeFilterChecked( expansionIndex )
 * C_ToyBox.IsSourceTypeFilterChecked( sourceIndex )
 * C_ToyBox.IsToyUsable( itemID )
 * C_ToyBox.PickupToyBoxItem( itemID )
 * C_ToyBox.SetAllExpansionTypeFilters( [checked] )
 * C_ToyBox.SetAllSourceTypeFilters( checked )
 * C_ToyBox.SetCollectedShown( checked )
 * C_ToyBox.SetExpansionTypeFilter( expansionIndex, checked )
 * C_ToyBox.SetFilterString( searchString )
 * C_ToyBox.SetIsFavorite( itemID, value )
 * C_ToyBox.SetSourceTypeFilter( sourceIndex, checked )
 * C_ToyBox.SetUncollectedShown( checked )
 * C_ToyBox.SetUnusableShown( checked )
 * C_ToyBoxInfo.ClearFanfare( itemID )
 * C_ToyBoxInfo.NeedsFanfare( itemID ) : needsFanfare
 * PlayerHasToy( itemID )
 * UseToy( itemID )
 * UseToyByName( toyName )

Heirlooms
Heirlooms were added in Patch 3.0.3 and added to the Collections window in Patch 6.1.0
 * C_Heirloom.CanHeirloomUpgradeFromPending( itemID )
 * C_Heirloom.CreateHeirloom( itemID )
 * C_Heirloom.GetClassAndSpecFilters
 * C_Heirloom.GetCollectedHeirloomFilter
 * C_Heirloom.GetHeirloomInfo( itemID )
 * C_Heirloom.GetHeirloomItemIDFromDisplayedIndex( heirloomIndex )
 * C_Heirloom.GetHeirloomItemIDs
 * C_Heirloom.GetHeirloomLink( itemID )
 * C_Heirloom.GetHeirloomMaxUpgradeLevel( itemID )
 * C_Heirloom.GetHeirloomSourceFilter( source )
 * C_Heirloom.GetNumDisplayedHeirlooms
 * C_Heirloom.GetNumHeirlooms
 * C_Heirloom.GetNumKnownHeirlooms
 * C_Heirloom.GetUncollectedHeirloomFilter
 * C_Heirloom.IsHeirloomSourceValid( source )
 * C_Heirloom.IsItemHeirloom( itemID )
 * C_Heirloom.IsPendingHeirloomUpgrade
 * C_Heirloom.PlayerHasHeirloom( itemID )
 * C_Heirloom.SetClassAndSpecFilters( classID, specID )
 * C_Heirloom.SetCollectedHeirloomFilter( boolean )
 * C_Heirloom.SetHeirloomSourceFilter( source, filtered )
 * C_Heirloom.SetSearch( searchValue )
 * C_Heirloom.SetUncollectedHeirloomFilter( boolean )
 * C_Heirloom.ShouldShowHeirloomHelp
 * C_Heirloom.UpgradeHeirloom( itemID )
 * DoesItemContainSpec( item, classID [, specializationID] )

Appearances
The Appearances tab (also known as the Wardrobe) was added in Patch 7.0.3. See also Transmogrification functions.
 * C_TransmogCollection.CanSetFavoriteInCategory( categoryID )
 * C_TransmogCollection.ClearNewAppearance( visualID )
 * C_TransmogCollection.ClearSearch( searchType )
 * C_TransmogCollection.DeleteOutfit( outfitID )
 * C_TransmogCollection.EndSearch
 * C_TransmogCollection.GetAllAppearanceSources( appearanceID )
 * C_TransmogCollection.GetAppearanceCameraID( visualID )
 * C_TransmogCollection.GetAppearanceCameraIDBySource( sourceID )
 * C_TransmogCollection.GetAppearanceInfoBySource( sourceID )
 * C_TransmogCollection.GetAppearanceSourceDrops( sourceID )
 * C_TransmogCollection.GetAppearanceSourceInfo( sourceID )
 * C_TransmogCollection.GetAppearanceSources( appearanceID [, categoryID] ) : sources
 * C_TransmogCollection.GetCategoryAppearances( categoryID [, transmogExclusionCategory] )
 * C_TransmogCollection.GetCategoryCollectedCount( categoryID )
 * C_TransmogCollection.GetCategoryInfo( categoryID )
 * C_TransmogCollection.GetCategoryTotal( categoryID )
 * C_TransmogCollection.GetCollectedShown
 * C_TransmogCollection.GetIllusionFallbackWeaponSource
 * C_TransmogCollection.GetIllusionSourceInfo( sourceID ) : visualID, name, hyperlink, icon
 * C_TransmogCollection.GetIllusions
 * C_TransmogCollection.GetInspectSources
 * C_TransmogCollection.GetIsAppearanceFavorite( appearanceID )
 * C_TransmogCollection.GetItemInfo( itemID [, itemModID]/itemLink/itemName )
 * C_TransmogCollection.GetLatestAppearance
 * C_TransmogCollection.GetNumMaxOutfits
 * C_TransmogCollection.GetNumTransmogSources
 * C_TransmogCollection.GetOutfitName( outfitID )
 * C_TransmogCollection.GetOutfitSources( outfitID )
 * C_TransmogCollection.GetOutfits
 * C_TransmogCollection.GetShowMissingSourceInItemTooltips
 * C_TransmogCollection.GetSourceIcon( itemModifiedAppearanceID ) : icon
 * C_TransmogCollection.GetSourceInfo( sourceID ) : sourceInfo
 * C_TransmogCollection.GetSourceRequiredHoliday( sourceID )
 * C_TransmogCollection.GetUncollectedShown
 * C_TransmogCollection.HasFavorites
 * C_TransmogCollection.IsCategoryValidForItem( categoryID, itemID )
 * C_TransmogCollection.IsNewAppearance( visualID )
 * C_TransmogCollection.IsSearchDBLoading
 * C_TransmogCollection.IsSearchInProgress( searchType )
 * C_TransmogCollection.IsSourceTypeFilterChecked( sourceIndex )
 * C_TransmogCollection.ModifyOutfit( outfitID, newName [, newIcon] )
 * C_TransmogCollection.PlayerCanCollectSource( sourceID )
 * C_TransmogCollection.PlayerHasTransmog( itemID [, itemAppearanceModID] )
 * C_TransmogCollection.PlayerHasTransmogItemModifiedAppearance( itemModifiedAppearanceID )
 * C_TransmogCollection.PlayerKnowsSource( sourceID )
 * C_TransmogCollection.SaveOutfit( name, sourceIDTable [, mainHandEnchant, offHandEnchant, icon] )
 * C_TransmogCollection.SearchProgress( searchType )
 * C_TransmogCollection.SearchSize( searchType )
 * C_TransmogCollection.SetAllSourceTypeFilters( checked )
 * C_TransmogCollection.SetCollectedShown( checked )
 * C_TransmogCollection.SetIsAppearanceFavorite( appearanceID, value )
 * C_TransmogCollection.SetSearch( searchValue )
 * C_TransmogCollection.SetSearchAndFilterCategory( category )
 * C_TransmogCollection.SetShowMissingSourceInItemTooltips( bool )
 * C_TransmogCollection.SetSourceTypeFilter( sourceIndex, checked )
 * C_TransmogCollection.SetUncollectedShown( checked )
 * C_TransmogCollection.UpdateUsableAppearances
 * C_TransmogSets.ClearLatestSource
 * C_TransmogSets.ClearNewSource( sourceID )
 * C_TransmogSets.ClearSetNewSourcesForSlot( transmogSetID, slot )
 * C_TransmogSets.GetAllSets
 * C_TransmogSets.GetAllSourceIDs( transmogSetID ) : sources
 * C_TransmogSets.GetBaseSetID( setID )
 * C_TransmogSets.GetBaseSets
 * C_TransmogSets.GetBaseSetsCounts : numCollected, numTotal
 * C_TransmogSets.GetBaseSetsFilter( index ) : isChecked
 * C_TransmogSets.GetCameraIDs : detailsCameraID, vendorCameraID
 * C_TransmogSets.GetIsFavorite( transmogSetID ) : isFavorite, isGroupFavorite
 * C_TransmogSets.GetLatestSource : sourceID
 * C_TransmogSets.GetSetInfo( setID )
 * C_TransmogSets.GetSetNewSources( transmogSetID ) : sourceIDs
 * C_TransmogSets.GetSetSources( setID )
 * C_TransmogSets.GetSetsContainingSourceID( sourceID ) : setIDs
 * C_TransmogSets.GetSourceIDsForSlot( transmogSetID, slot ) : sources
 * C_TransmogSets.GetSourcesForSlot( transmogSetID, slot ) : sources
 * C_TransmogSets.GetUsableSets
 * C_TransmogSets.GetVariantSets( setID )
 * C_TransmogSets.HasUsableSets : hasUsableSets
 * C_TransmogSets.IsBaseSetCollected( transmogSetID ) : isCollected
 * C_TransmogSets.IsNewSource( sourceID ) : isNew
 * C_TransmogSets.IsSetCollected( setID )
 * C_TransmogSets.IsSetUsable( setID )
 * C_TransmogSets.SetBaseSetsFilter( index, isChecked )
 * C_TransmogSets.SetHasNewSources( transmogSetID ) : hasNewSources
 * C_TransmogSets.SetHasNewSourcesForSlot( transmogSetID, slot ) : hasNewSources
 * C_TransmogSets.SetIsFavorite( transmogSetID, isFavorite )
 * IsUnitModelReadyForUI( unitToken ) : isReady

Combat Log
Relates to the Combat Log.
 * CombatLogAddFilter( [eList, sourceFlags, destFlags] )
 * CombatLogAdvanceEntry( count [, ignoreFilter] )
 * CombatLogClearEntries
 * CombatLogGetCurrentEntry
 * CombatLogGetCurrentEventInfo - Returns the current values.
 * CombatLogGetNumEntries
 * CombatLogGetRetentionTime
 * CombatLogResetFilter
 * CombatLogSetCurrentEntry( index [, ignoreFilter] )
 * CombatLogSetRetentionTime( seconds )
 * CombatLog_Object_IsA
 * CombatTextSetActiveUnit( unit ) - Changes the entity for which COMBAT_TEXT_UPDATE events fire.
 * GetCurrentCombatTextEventInfo

Combat Pets
Relates to Combat Pets.
 * CancelPetPossess
 * PROTECTED CastPetAction( index ) - Cast the corresponding pet skill.
 * DisableSpellAutocast - Disables autocasting for a pet spell.
 * EnableSpellAutocast - Enables autocasting for a pet spell.
 * GetCallPetSpellInfo( spellID )
 * GetPetActionCooldown( index ) - Returns cooldown information for the pet action at the specificed pet action bar slot.
 * GetPetActionInfo( index ) - Returns information on the pet action at the specified pet action bar slot.
 * GetPetActionSlotUsable( slot )
 * GetPetActionsUsable - Returns a value indicating if the player's pet's actions can be used at this time.
 * GetPetExperience - Returns the pet's current xp, and total xp required for next level.
 * GetPetFoodTypes - Returns a list of the food types the player's pet can eat.
 * GetPetIcon - Returns the path to the texture to use as the icon for the player's pet.
 * GetPetTimeRemaining - Returns in milliseconds about some timeout for the player's pet.
 * HasPetSpells - Returns true if the player has pet spells.
 * HasPetUI - Returns 1 if the player has a pet User Interface.
 * IsPetActive
 * IsPetAttackActive - Returns true if the pet is currently attacking.
 * PetAbandon - Permanently abandons your pet.
 * PROTECTED PetAggressiveMode
 * PROTECTED PetAssistMode - Set your pet to Assist mode.
 * PROTECTED PetAttack - Instruct your pet to attack your target.
 * PetCanBeAbandoned - Returns true if the pet is abandonable.
 * PROTECTED PetMoveTo( target )
 * PetCanBeDismissed
 * PetCanBeRenamed - Returns true if the pet can be renamed.
 * PROTECTED PetDefensiveMode - Set your pet in defensive mode.
 * PetDefensiveAssistMode
 * PetDismiss - Dismiss your pet.
 * PROTECTED PetFollow - Instruct your pet to follow you.
 * PetHasSpellbook
 * PROTECTED PetPassiveMode - Set your pet into passive mode.
 * PetRename( name ) - Renames the pet.
 * PetStopAttack - Stop the attack of the pet.
 * PetUsesPetFrame
 * PROTECTED PetWait - Instruct your pet to remain still.
 * PROTECTED TogglePetAutocast( index ) - Toggles whether the specified pet ability should autocast or not.
 * PROTECTED ToggleSpellAutocast( spellName | spellId, bookType ) - Toggles whether the specified Pet spell should autocast or not.

Relates to the Stable Master.
 * ClosePetStables - Close the pet stables user interface.
 * GetStablePetFoodTypes( index ) - Returns a list of the food types a specific stabled pet can eat.
 * GetStablePetInfo( index ) - Returns information about a specific stabled pet.
 * IsAtStableMaster
 * SetPetSlot( index, slot )
 * SetPetStablePaperdoll( modelObject )

Action Bars

 * C_ActionBar.GetBonusBarIndexForSlot( slotID ) : bonusBarIndex
 * C_ActionBar.IsHarmfulAction( actionID, useNeutral ) : isHarmful
 * C_ActionBar.IsHelpfulAction( actionID, useNeutral ) : isHelpful
 * C_ActionBar.IsOnBarOrSpecialBar( spellID ) : isOnBarOrSpecialBar
 * C_ActionBar.PutActionInSlot( slotID )
 * C_ActionBar.ShouldOverrideBarShowHealthBar : showHealthBar
 * C_ActionBar.ShouldOverrideBarShowManaBar : showManaBar
 * NOCOMBAT ChangeActionBarPage( page ) - Changes the current action bar page.
 * GetActionBarPage - Returns the current action bar page. CURRENT_ACTIONBAR_PAGE is obsolete.
 * GetActionBarToggles - Returns the toggles for each action bar.
 * GetBonusBarIndex
 * GetBonusBarOffset - Determine which page of bonus actions to show.
 * GetExtraBarIndex
 * GetMultiCastBarIndex
 * GetOverrideBarIndex
 * GetOverrideBarSkin
 * GetTempShapeshiftBarIndex
 * GetVehicleBarIndex
 * HasBonusActionBar
 * HasExtraActionBar
 * HasOverrideActionBar
 * HasTempShapeshiftActionBar
 * HasVehicleActionBar
 * IsPossessBarVisible
 * PetHasActionBar - Determine if player has a pet with an action bar.
 * SetActionBarToggles( show1, show2, show3, show4 [, alwaysShow] ) - Set show toggle for each action bar.

Action Buttons

 * C_ActionBar.FindPetActionButtons( petActionID ) : slots
 * C_ActionBar.FindSpellActionButtons( spellID ) : slots
 * C_ActionBar.GetPetActionPetBarIndices( petActionID ) : slots
 * C_ActionBar.HasPetActionButtons( petActionID ) : hasPetActionButtons
 * C_ActionBar.HasPetActionPetBarIndices( petActionID ) : hasPetActionPetBarIndices
 * C_ActionBar.HasSpellActionButtons( spellID ) : hasSpellActionButtons
 * C_ActionBar.IsAutoCastPetAction( slotID ) : isAutoCastPetAction
 * C_ActionBar.IsEnabledAutoCastPetAction( slotID ) : isEnabledAutoCastPetAction
 * C_ActionBar.ToggleAutoCastPetAction( slotID )
 * ActionHasRange( slot ) - Determine if the specified action is a range restriction (1 if yes, nil if no)
 * ClickWorldMapActionButton
 * GetActionAutocast( slot )
 * GetActionCharges( slot ) - Returns information about the charges of a charge-accumulating player ability.
 * GetActionCooldown( slot ) - This returns the cooldown values of the specified action.
 * GetActionCount( slot ) - Get the count (bandage/potion/etc) for an action, returns 0 if none or not applicable.
 * GetActionInfo( slot ) - Returns type, id, subtype.
 * GetActionTexture( slot ) - Gets the texture path for the specified action.
 * GetActionText( slot ) - Get the text label (macros, etc) for an action, returns nil if none.
 * GetPossessInfo( index ) - Returns texture, name, enabled.
 * GetWorldMapActionButtonSpellInfo
 * HasAction( slot ) - Returns 1 if the player has an action in the specified slot, nil otherwise.
 * IsActionInRange( slot ) - Test if an action is in range (1=yes, 0=no, nil=not applicable).
 * IsAttackAction( slot ) - Returns 1 if an action is an 'attack' action (flashes during combat), nil otherwise.
 * IsAutoRepeatAction( slot ) - Returns 1 if an action is auto-repeating, nil otherwise.
 * IsConsumableAction( slot ) - Returns 1 if an action is consumable (i.e. has a count), nil otherwise.
 * IsCurrentAction( slot ) - Returns 1 if an action is the one currently underway, nil otherwise.
 * IsEquippedAction( slot ) - Returns 1 if an action is equipped (i.e. connected to an item that must be equipped), nil otherwise.
 * IsItemAction( slot )
 * IsPetAttackAction( index )
 * IsStackableAction( slot )
 * IsUsableAction( slot ) - Returns 1 if an action can be used at present, nil otherwise.
 * SetActionUIButton( checkboxFrame, actionSlot, cooldownFrame )
 * SetSpellbookPetAction( slot, target )
 * PROTECTED UseAction( slot [, checkCursor, onSelf] ) - This instructs the interface to use the action associated with the specified ID, optionally on the player (regardless of target).
 * UseWorldMapActionButtonSpellOnQuest

Flyout Buttons
 * C_ActionBar.FindFlyoutActionButtons( flyoutID ) : slots
 * C_ActionBar.HasFlyoutActionButtons( flyoutID ) : hasFlyoutActionButtons
 * FindFlyoutSlotBySpellID( spellID )
 * FlyoutHasSpell( flyoutID, spellID )
 * GetFlyoutID( index )
 * GetFlyoutInfo( flyoutID )
 * GetFlyoutSlotInfo( flyoutID, slot )
 * GetNumFlyouts

Key Bindings
Relates to Key Bindings.
 * C_KeyBindings.GetCustomBindingType( bindingIndex ) : customBindingType - Returns the type of a custom binding.
 * GetBinding( index ) - Get action and key bindings for that index.
 * GetBindingAction( key [, checkOverride] ) - Get the action bound to that key.
 * GetBindingByKey( action [, mode] )
 * GetBindingKey( command ) - Get the key(s) bound to that action.
 * GetBindingText( [key, prefix, abbreviate] ) - Gets the string value for the key.
 * GetCurrentBindingSet - Queries if current set of key bindings is character or account specific.
 * GetNumBindings - Get total number key bindings and headers.
 * LoadBindings( which ) - Loads default, account or character specific key binding set into memory from disk.
 * RunBinding( command [, up] ) - Executes the key binding named "command".
 * SaveBindings( which ) - Saves account or character specific key bindings from memory to disk.
 * NOCOMBAT SetBinding( key [, command, mode] ) - Sets or unsets key bindings. (Can not be used in combat.)
 * NOCOMBAT SetBindingSpell( key, spellName ) - Set a key binding directly to a spell, uses the same spell name syntax as /cast.
 * NOCOMBAT SetBindingClick( key, ButtonName [, mouseButton] ) - Set a key binding directly to a Button object. The click sends a mouse down when the key is pressed, and a mouse up when it is released.
 * NOCOMBAT SetBindingItem( key, itemname )
 * NOCOMBAT SetBindingMacro( key, macroname or macroId )
 * NOCOMBAT SetOverrideBinding( owner, isPriority, key [, command] ) - Set (or clear) an override key binding.
 * NOCOMBAT SetOverrideBindingSpell( owner, isPriority, key, spellname )
 * NOCOMBAT SetOverrideBindingClick( owner, isPriority, key, buttonName [, mouseClick] ) - Sets an override binding that acts like a mouse click on a button.
 * NOCOMBAT SetOverrideBindingItem( owner, isPriority, key, itemname )
 * NOCOMBAT SetOverrideBindingMacro( owner, isPriority, key, macroname or macroId )
 * NOCOMBAT ClearOverrideBindings( owner ) - Reset all overrides belonging to an owner.
 * SetMouselookOverrideBinding( key [, command] )

Key Modifiers

 * GetModifiedClick( action )
 * GetModifiedClickAction( index )
 * GetMouseButtonClicked - Returns the name of the button that triggered a mouse down/up/click/doubleclick event.
 * GetNumModifiedClickActions
 * IsAltKeyDown - Returns true if the alt key is currently depressed.
 * IsControlKeyDown - Returns true if the control key is currently depressed.
 * IsKeyDown( keyOrMouseName [, excludeCurrentBindingState] )
 * IsLeftAltKeyDown - Returns true if the left alt key is currently depressed.
 * IsLeftControlKeyDown - Returns true if the left control key is currently depressed.
 * IsLeftMetaKeyDown
 * IsLeftShiftKeyDown - Returns true if the left shift key is currently depressed.
 * IsMetaKeyDown
 * IsModifiedClick( action ) - Returns 1 if the keys for the specified action are down, nil otherwise.
 * IsModifierKeyDown - Equivalent to (IsShiftKeyDown or IsControlKeyDown or IsAltKeyDown).
 * IsMouseButtonDown( [button] )
 * IsRightAltKeyDown - Returns true if the right alt key is currently depressed.
 * IsRightControlKeyDown - Returns true if the right control key is currently depressed.
 * IsRightMetaKeyDown
 * IsRightShiftKeyDown - Returns true if the right shift key is currently depressed.
 * IsShiftKeyDown - Returns true if the shift key is currently depressed.
 * SetModifiedClick( action, binding )

Cursor
Relates to the Cursor.
 * C_CurrencyInfo.PickupCurrency( type )
 * AutoEquipCursorItem - Causes the equipment on the cursor to be equipped.
 * ClearCursor - Clears whatever item the cursor is dragging from the cursor.
 * ClickSocketButton( id ) - If the cursor is currently holding a gem, tentatively insert it into the socket.
 * CursorCanGoInSlot( invSlot ) - Returns true if the item currently held by the cursor can go into the given inventory (equipment) slot.
 * CursorHasItem - Returns true if the cursor currently holds an item.
 * CursorHasMacro - Returns 1 if the cursor is currently dragging a macro.
 * CursorHasMoney - Returns true if the cursor currently holds money.
 * CursorHasSpell - Returns true if the cursor currently holds a spell.
 * DeleteCursorItem - Destroys the item on the cursor.
 * DropCursorMoney - Drops the amount of money held by the cursor.
 * DropItemOnUnit( unit ) - Drops an item from the cursor onto a unit.
 * EquipCursorItem( invSlot ) - Equips the currently picked up item to a specific inventory slot.
 * GetCursorDelta
 * GetCursorInfo - Returns information about what the cursor is holding.
 * GetCursorMoney - Returns the amount of money held by the cursor.
 * GetCursorPosition - Returns the cursor's position on the screen.
 * HideRepairCursor - Hides the repair cursor.
 * InRepairMode - Returns true if your cursor is in repair mode.
 * PickupAction( slot ) - Drags an action out of the specified quickbar slot and holds it on the cursor.
 * PickupBagFromSlot( slot ) - Picks up the bag from the specified slot, placing it in the cursor.
 * PickupCompanion( type, index ) - Picks up the indexed companion onto the mouse cursor.
 * PickupContainerItem( bagID, slot )
 * PickupGuildBankItem( tab, slot ) - Picks up an item from the guild bank.
 * PickupGuildBankMoney( money ) - Picks up "money" copper from the guild bank.
 * PickupInventoryItem( invSlot ) - Picks up an item from the player's worn inventory.
 * PickupItem( item )
 * PickupMacro( macroName or index ) - Places the specified macro onto the cursor.
 * PickupMerchantItem( index ) - Places the item onto the cursor. If the cursor already has an item, the item in the cursor will be sold.
 * PickupPetAction( slot ) - Drags an action from the specified pet action bar slot into the cursor.
 * PickupPetSpell( spellID )
 * PickupPlayerMoney( copper ) - Picks up an amount of money from the player.
 * PickupPvpTalent
 * PickupSpell( spellID ) - Places the specified spell onto the cursor.
 * PickupSpellBookItem( spellSlot )
 * PickupStablePet( index )
 * PickupTalent( talentID ) - Grabs the selected talent spell for placement on an action bar.
 * PickupTradeMoney( copper ) - Picks up an amount of money from the player's trade offer.
 * PlaceAction( slot ) - Drops an action from the cursor into the specified quickbar slot.
 * ResetCursor
 * SellCursorItem
 * SetCursor( cursor ) - Path to a texture to use as the cursor image (must be 32x32 pixels) or one of the built-in cursor tokens or nil.
 * SetItemUpgradeFromCursorItem
 * ShowBuybackSellCursor( index )
 * ShowContainerSellCursor( index, slot )
 * ShowInventorySellCursor
 * ShowRepairCursor

Camera

 * PROTECTED CameraOrSelectOrMoveStart - Begin "Left click" in the 3D world.
 * PROTECTED CameraOrSelectOrMoveStop( [stickyFlag] ) - End "Left click" in the 3D world.
 * CameraZoomIn( increment ) - Zooms the camera into the viewplane by increment.
 * CameraZoomOut( increment ) - Zooms the camera out of the viewplane by increment.
 * CenterCamera
 * FlipCameraYaw( degrees ) - Rotates the camera about the Z-axis by the angle amount specified in degrees.
 * GetCameraZoom - Returns the current zoom level, ignoring camera collisions.
 * IsMouselooking - Returns 1 if mouselook is currently active, nil otherwise.
 * MouselookStart - Enters mouse look mode; mouse movement is used to adjust movement/facing direction.
 * MouselookStop - Exits mouse look mode; mouse movement is used to move the mouse cursor.
 * MoveViewDownStart - Begins rotating the camera downward.
 * MoveViewDownStop - Stops rotating the camera after MoveViewDownStart is called.
 * MoveViewInStart - Begins zooming the camera in.
 * MoveViewInStop - Stops zooming the camera in after MoveViewInStart is called.
 * MoveViewLeftStart - Begins rotating the camera to the Left.
 * MoveViewLeftStop - Stops rotating the camera after MoveViewLeftStart is called.
 * MoveViewOutStart - Begins zooming the camera out.
 * MoveViewOutStop - Stops zooming the camera out after MoveViewOutStart is called.
 * MoveViewRightStart - Begins rotating the camera to the Right.
 * MoveViewRightStop - Stops rotating the camera after MoveViewRightStart is called.
 * MoveViewUpStart - Begins rotating the camera upward.
 * MoveViewUpStop - Stops rotating the camera after MoveViewUpStart is called.
 * PROTECTED PitchDownStart - Begins pitching the camera Downward.
 * PROTECTED PitchDownStop - Stops pitching the camera after PitchDownStart is called.
 * PROTECTED PitchUpStart - Begins pitching the camera Upward.
 * PROTECTED PitchUpStop - Stops pitching the camera after PitchUpStart is called.
 * NextView - Cycles forward through the five predefined camera positions.
 * PrevView - Cycles backward through the five predefined camera positions.
 * ResetView( index ) - Resets the specified (1-5) predefined camera position to it's default if it was changed using SaveView(index).
 * SaveView( index ) - Replaces the specified (1-5) predefined camera positions with the current camera position.
 * SetView( index ) - Sets camera position to a specified (1-5) predefined camera position.

Targeting
Relates to Targets.
 * PROTECTED AssistUnit( unit ) - Instructs your character to assist the specified unit.
 * PROTECTED ClearFocus - Removes any focus you may have set.
 * PROTECTED ClearTarget - Clears the selected target.
 * PROTECTED FocusUnit( unit ) - Sets your unit for focus.
 * IsReplacingUnit
 * PROTECTED TargetDirectionEnemy( facing )
 * PROTECTED TargetDirectionFinished
 * PROTECTED TargetDirectionFriend( facing )
 * PROTECTED TargetLastEnemy - Selects the last targetted enemy as the current target.
 * PROTECTED TargetLastFriend
 * PROTECTED TargetLastTarget - Selects the last target as the current target.
 * PROTECTED TargetNearestEnemy( [reverseFlag] ) - Selects the nearest enemy as the current target.
 * PROTECTED TargetNearestEnemyPlayer( [reverseFlag] ) - Selects the nearest enemy player as the current target.
 * PROTECTED TargetNearestFriend( [reverseFlag] ) - Selects the nearest friendly unit as the current target.
 * PROTECTED TargetNearestFriendPlayer( [reverseFlag] ) - Selects the nearest friendly player as the current target.
 * PROTECTED TargetNearest
 * PROTECTED TargetNearestPartyMember - Selects the nearest Party member as the current target.
 * PROTECTED TargetNearestRaidMember - Selects the nearest Raid member as the current target.
 * PROTECTED TargetPriorityHighlightEnd
 * PROTECTED TargetPriorityHighlightStart
 * PROTECTED TargetUnit( unit [, exactMatch] ) - Selects the specified unit as the current target.

Movement
Most of these functions may only be called on a hardware event from secure code.
 * PROTECTED AscendStop - Called when you release the jump key.
 * PROTECTED AttackTarget - Attacks the targetted unit.
 * PROTECTED DescendStop - The player stops descending (while swimming or flying)
 * PROTECTED InteractUnit( unitToken [, exactMatch] )
 * FollowUnit( unit ) - Follow an ally with the specified UnitID.
 * IsPlayerMoving
 * PROTECTED JumpOrAscendStart - Makes the player jump.
 * PROTECTED MoveAndSteerStart
 * PROTECTED MoveAndSteerStop
 * PROTECTED MoveBackwardStart - The player begins moving backward at the specified time.
 * PROTECTED MoveBackwardStop - The player stops moving backward at the specified time.
 * PROTECTED MoveForwardStart - The player begins moving forward at the specified time.
 * PROTECTED MoveForwardStop - The player stops moving forward at the specified time.
 * PROTECTED SetMoveEnabled
 * PROTECTED SetTurnEnabled
 * PROTECTED SitStandOrDescendStart - The player sits, stands, or descends.
 * PROTECTED StartAttack
 * StopAttack - Turns off auto-attack, if currently active.
 * PROTECTED StartAutoRun
 * PROTECTED StopAutoRun
 * PROTECTED StrafeLeftStart - The player begins strafing left at the specified time.
 * PROTECTED StrafeLeftStop - The player stops strafing left at the specified time.
 * PROTECTED StrafeRightStart - The player begins strafing right at the specified time.
 * PROTECTED StrafeRightStop - The player stops strafing right at the specified time.
 * PROTECTED ToggleAutoRun - Turns auto-run on or off.
 * PROTECTED ToggleRun - Toggle between running and walking.
 * PROTECTED TurnLeftStart - The player starts turning left at the specified time.
 * PROTECTED TurnLeftStop - The player stops turning left at the specified time.
 * PROTECTED TurnOrActionStart - Begin "Right Click" in the 3D world.
 * PROTECTED TurnOrActionStop - End "Right Click" in the 3D world.
 * PROTECTED TurnRightStart - The player starts turning right at the specified time.
 * PROTECTED TurnRightStop - The player stops turning right at the specified time.

Gamepad
Native gamepad support was added in Patch 9.0.1, where previously WoWmapper was needed.
 * C_GamePad.ApplyConfigs
 * C_GamePad.AxisIndexToConfigName( axisIndex ) : configName
 * C_GamePad.ButtonBindingToIndex( bindingName ) : buttonIndex
 * C_GamePad.ButtonIndexToBinding( buttonIndex ) : bindingName
 * C_GamePad.ButtonIndexToConfigName( buttonIndex ) : configName
 * C_GamePad.DeleteConfig( configID )
 * C_GamePad.GetActiveDeviceID : deviceID
 * C_GamePad.GetAllConfigIDs : configIDs
 * C_GamePad.GetAllDeviceIDs : deviceIDs
 * C_GamePad.GetCombinedDeviceID : deviceID
 * C_GamePad.GetConfig( configID ) : config
 * C_GamePad.GetDeviceMappedState( [deviceID] ) : state
 * C_GamePad.GetDeviceRawState( deviceID ) : rawState
 * C_GamePad.IsEnabled : enabled
 * C_GamePad.SetConfig( config )
 * C_GamePad.StickIndexToConfigName( stickIndex ) : configName
 * CanAutoSetGamePadCursorControl
 * CanGamePadControlCursor
 * IsBindingForGamePad( KEY )
 * IsGamePadCursorControlEnabled
 * IsGamePadFreelookEnabled
 * SetGamePadCursorControl
 * SetGamePadFreeLook

Currency
Currencies were added in Patch 3.0.2.
 * C_CurrencyInfo.DoesWarModeBonusApply( currencyID ) : warModeApplies, limitOncePerTooltip
 * C_CurrencyInfo.ExpandCurrencyList( index, expand ) - Sets the expanded/collapsed state of a currency list header.
 * C_CurrencyInfo.GetAzeriteCurrencyID : azeriteCurrencyID
 * C_CurrencyInfo.GetBackpackCurrencyInfo( index ) : info - Returns information about a watched currency.
 * C_CurrencyInfo.GetBasicCurrencyInfo( currencyType [, quantity] ) : info
 * C_CurrencyInfo.GetCurrencyContainerInfo( currencyType, quantity ) : info
 * C_CurrencyInfo.GetCurrencyIDFromLink( currencyLink ) : currencyID
 * C_CurrencyInfo.GetCurrencyInfo( type ) : info - Returns information about currencies.
 * C_CurrencyInfo.GetCurrencyInfoFromLink( link ) : info - Returns information about currencies from a link.
 * C_CurrencyInfo.GetCurrencyLink( type, amount ) : link - Returns the currencyLink for the specified currencyID.
 * C_CurrencyInfo.GetCurrencyListInfo( index ) : info - Returns information about an element in the currency list.
 * C_CurrencyInfo.GetCurrencyListLink( index ) : link
 * C_CurrencyInfo.GetCurrencyListSize : currencyListSize - Returns the number of elements (both headers and currencies) in the currency list.
 * C_CurrencyInfo.GetFactionGrantedByCurrency( currencyID ) : factionID - Gets the faction ID for currency that is immediately converted into reputation with that faction instead.
 * C_CurrencyInfo.GetWarResourcesCurrencyID : warResourceCurrencyID
 * C_CurrencyInfo.IsCurrencyContainer( currencyID, quantity ) : isCurrencyContainer
 * C_CurrencyInfo.SetCurrencyBackpack( index, backpack ) - Alters whether a currency is tracked.
 * C_CurrencyInfo.SetCurrencyUnused( index, unused ) - Alters whether a currency is marked as unused.
 * GetCoinText( amount, separator ) - Breaks down money and inserts separator strings.
 * GetCoinTextureString( amount [, fontHeight] ) - Breaks down money and inserts texture strings.
 * GetPlayerTradeCurrency
 * GetTargetTradeCurrency
 * SetTradeCurrency( type, amount )
 * UI GetNumWatchedTokens - Returns the number of currently watched currencies.

Customer Support
Relates to Customer Support.
 * AcknowledgeSurvey( caseIndex )
 * PROTECTED DeleteGMTicket
 * GetWebTicket
 * GMEuropaBugsEnabled
 * GMEuropaComplaintsEnabled
 * GMEuropaSuggestionsEnabled
 * GMEuropaTicketsEnabled
 * GMItemRestorationButtonEnabled
 * GMQuickTicketSystemEnabled
 * GMQuickTicketSystemThrottled
 * GMReportLag
 * GMRequestPlayerInfo
 * GMResponseResolve
 * C_UserFeedback.SubmitBug( bugInfo [, suppressNotification] ) : success
 * C_UserFeedback.SubmitSuggestion( suggestion ) : success
 * GMSurveyAnswerSubmit( question, rank, comment )
 * GMSurveyAnswer
 * GMSurveyCommentSubmit( comment )
 * GMSurveyNumAnswers
 * GMSurveyQuestion
 * GMSurveySubmit
 * GetGMStatus
 * GetGMTicket
 * RegisterStaticConstants( table ) - Populates the STATIC_CONSTANTS table for GetGMTicketCategories.
 * ReportBug( description )
 * ReportSuggestion( description )

Knowledge Base
 * KBArticle_BeginLoading( articleId, searchType ) - Starts the article loading process.
 * KBArticle_GetData - Returns information about the current article.
 * KBArticle_IsLoaded - Returns true if an article is loaded.
 * KBQuery_BeginLoading( searchText, categoryIndex, subcategoryIndex, articlesPerPage, curPage ) - Starts a query for articles.
 * KBQuery_GetArticleHeaderCount - Returns the number of article headers in the current query.
 * KBQuery_GetArticleHeaderData( index ) - Returns information about an article header of the current query.
 * KBQuery_GetTotalArticleCount - Returns the total number of articles that matches the current query.
 * KBQuery_IsLoaded - Returns true if a query loaded successfuly.
 * KBSetup_BeginLoading( articlesPerPage, curPage ) - Starts the loading process for the KB start page.
 * KBSetup_GetArticleHeaderCount - Returns the number of articles for the current page.
 * KBSetup_GetArticleHeaderData( index ) - Returns information for an article header.
 * KBSetup_GetCategoryCount - Returns the number of categories in the knowledge base.
 * KBSetup_GetCategoryData( index ) - Returns information about a category.
 * KBSetup_GetLanguageCount - Returns the number of languages in the knowledge base.
 * KBSetup_GetLanguageData( index ) - Returns information about a language.
 * KBSetup_GetSubCategoryCount( category ) - Returns the number of subcategories for a category.
 * KBSetup_GetSubCategoryData( category, index ) - Returns information about a subcategory.
 * KBSetup_GetTotalArticleCount - Returns the total number of articles in the knowlege base.
 * KBSetup_IsLoaded - Returns true if the knowledge base is loaded successfuly.
 * KBSystem_GetMOTD - Returns the server message of the day.
 * KBSystem_GetServerNotice - Returns the server notice.
 * KBSystem_GetServerStatus - Returns the server status text.

Expansions
Relates to Expansions.
 * CanUpgradeExpansion : canUpgradeExpansion
 * DoesCurrentLocaleSellExpansionLevels : regionSellsExpansions
 * GetAccountExpansionLevel : expansionLevel - Returns the expansion level the account has been flagged for.
 * GetClientDisplayExpansionLevel : expansionLevel - Returns the expansion level of the game client.
 * GetExpansionDisplayInfo( expansionLevel ) : info
 * GetExpansionForLevel( playerLevel ) : expansionLevel
 * GetExpansionLevel : expansionLevel - Returns the expansion level currently accessible by the player.
 * GetExpansionTrialInfo : isExpansionTrialAccount, expansionTrialRemainingSeconds
 * GetMaximumExpansionLevel : expansionLevel
 * GetMaxLevelForExpansionLevel( expansionLevel ) : maxLevel
 * GetMaxLevelForLatestExpansion : maxLevel
 * GetMaxLevelForPlayerExpansion : maxLevel
 * GetMaxPlayerLevel
 * GetMinimumExpansionLevel : expansionLevel
 * GetNumExpansions : numExpansions
 * GetServerExpansionLevel : serverExpansionLevel - Returns the expansion level currently active on the server.
 * IsExpansionTrial : isExpansionTrialAccount
 * C_LevelSquish.ConvertFollowerLevel( level, maxFollowerLevel ) : squishedLevel
 * C_LevelSquish.ConvertPlayerLevel( level ) : squishedLevel

Chromie Time
Timewalking Campaigns scale older expansion zones up to level 50.
 * C_ChromieTime.CloseUI
 * C_ChromieTime.GetChromieTimeExpansionOption( expansionRecID ) : info
 * C_ChromieTime.GetChromieTimeExpansionOptions : expansionOptions
 * C_ChromieTime.SelectChromieTimeOption( chromieTimeExpansionInfoId )
 * C_PlayerInfo.CanPlayerEnterChromieTime : canEnter
 * C_PlayerInfo.IsPlayerInChromieTime : inChromieTime
 * UnitChromieTimeID( unit ) : ID

Friends
Relates to the Friends list.
 * C_FriendList.AddFriend( name [, notes] ) - Adds a friend to your friend list.
 * C_FriendList.AddIgnore( name ) : added - Adds a player to your ignore list.
 * C_FriendList.AddOrDelIgnore( name ) - Adds or removes a player to/from the ignore list.
 * C_FriendList.AddOrRemoveFriend( name, notes ) - Adds or removes a player to or from the friends list.
 * C_FriendList.DelIgnore( name ) : removed - Removes a player from your ignore list.
 * C_FriendList.DelIgnoreByIndex( index ) - Removes a player from your ignore list.
 * C_FriendList.GetFriendInfo( name ) : info - Retrieves information about a person on your friends list.
 * C_FriendList.GetFriendInfoByIndex( index ) : info - Retrieves information about a person on your friends list.
 * C_FriendList.GetIgnoreName( index ) : name - Returns the name of a currently ignored player.
 * C_FriendList.GetNumFriends : numFriends - Returns how many friends you have.
 * C_FriendList.GetNumIgnores : numIgnores - Returns the number of entries on your ignore list.
 * C_FriendList.GetNumOnlineFriends : numOnline - Returns the number of online friends.
 * C_FriendList.GetSelectedFriend : index - Returns the index of the currently selected friend.
 * C_FriendList.GetSelectedIgnore : index - Returns the currently selected index in the ignore listing.
 * C_FriendList.IsFriend( guid ) : isFriend - Returns whether a character is your friend.
 * C_FriendList.IsIgnored( token ) : isIgnored - Returns whether a character is being ignored by you.
 * C_FriendList.IsIgnoredByGuid( guid ) : isIgnored - Returns whether a character is being ignored by you.
 * C_FriendList.RemoveFriend( name ) : removed - Removes a friend from the friends list.
 * C_FriendList.RemoveFriendByIndex( index ) - Removes a friend from the friends list.
 * C_FriendList.SetFriendNotes( name, notes ) : found - Sets the note text for a friend.
 * C_FriendList.SetFriendNotesByIndex( index, notes ) - Sets the note text for a friend.
 * C_FriendList.SetSelectedFriend( index ) - Updates the current selected friend.
 * C_FriendList.SetSelectedIgnore( index ) - Sets the currently selected ignore entry.
 * C_FriendList.ShowFriends - Requests updated friends information from server.

Who List
Relates to the Who List.
 * C_FriendList.GetNumWhoResults : numWhos, totalNumWhos - Get the number of entries resulting from your most recent /who query.
 * C_FriendList.GetWhoInfo( index ) : info - Retrieves info about a character on your current /who list.
 * HW C_FriendList.SendWho( filter ) - Sends a Who request, much like using the slash command /who or entering a query in the entry field of the Who List.
 * C_FriendList.SetWhoToUi( whoToUi ) - Sets how the result of a /who request will be handled.
 * C_FriendList.SortWho( sorting ) - Sorts the last /who reply received by the client.

Battle.net
Real ID friends were added in Patch 3.3.5
 * C_BattleNet.GetAccountInfoByID( id [, wowAccountGUID] ) : accountInfo - Returns information about a Battle.net friend account.
 * C_BattleNet.GetAccountInfoByGUID( guid ) : accountInfo
 * C_BattleNet.GetFriendAccountInfo( friendIndex [, wowAccountGUID] ) : accountInfo
 * C_BattleNet.GetGameAccountInfoByID( id ) : gameAccountInfo - Returns information on the game the Battle.net friend is playing.
 * C_BattleNet.GetGameAccountInfoByGUID( guid ) : gameAccountInfo
 * C_BattleNet.GetFriendGameAccountInfo( friendIndex, accountIndex ) : gameAccountInfo
 * C_BattleNet.GetFriendNumGameAccounts( friendIndex ) : numGameAccounts - Returns the Battle.net friend's number of game accounts.
 * C_AccountInfo.GetIDFromBattleNetAccountGUID( battleNetAccountGUID ) : battleNetAccountID
 * C_AccountInfo.IsGUIDBattleNetAccountType( guid ) : isBNet
 * C_AccountInfo.IsGUIDRelatedToLocalAccount( guid ) : isLocalUser
 * BNAcceptFriendInvite( ID )
 * BNCheckBattleTagInviteToGuildMember( fullname )
 * BNCheckBattleTagInviteToUnit( unit )
 * BNConnected - Returns whether your battle.net state is connected.
 * BNDeclineFriendInvite( ID )
 * BNFeaturesEnabledAndConnected
 * BNFeaturesEnabled
 * BNGetBlockedInfo( index )
 * BNGetDisplayName( bnetIdAccount )
 * BNGetFOFInfo( mutual, nonMutual, index ) - Returns presenceID, givenName, surname, isFriend.
 * BNGetFriendIndex( presenceID )
 * BNGetFriendInviteInfo( menuValue ) - Returns presenceID, givenName, surname.
 * BNGetInfo - Returns own battle.net data like battleTag.
 * BNGetNumBlocked
 * BNGetNumFOF( ID, mutual, non )
 * BNGetNumFriendInvites
 * BNGetNumFriends - Returns numBNetTotal, numBNetOnline, numBNetFavorite, numBNetFavoriteOnline.
 * BNGetSelectedBlock
 * BNGetSelectedFriend
 * BNInviteFriend( bnetIDGameAccount )
 * BNIsBlocked( ID )
 * BNIsFriend( presenceID )
 * BNIsSelf( presenceID ) - Returns true if the specified presenceID is your own, false otherwise.
 * BNRemoveFriend( ID )
 * BNRequestFOFInfo( bnetIDAccount )
 * BNRequestInviteFriend( presenceID [, tank, heal, dps] )
 * BNSendFriendInviteByID( ID, noteText )
 * BNSendFriendInvite( text, noteText )
 * BNSendGameData( id, addonPrefix, text ) - BNet equivalent of SendAddonMessage.
 * BNSendSoR( target, comment )
 * BNSendVerifiedBattleTagInvite - Unit should have been set with BNCheckBattleTagInviteToUnit or BNCheckBattleTagInviteToGuildMember.
 * BNSendWhisper( id, text )
 * BNSetAFK( bool ) - Set or unset afk status.
 * BNSetBlocked( ID, bool )
 * BNSetCustomMessage( text )
 * BNSetDND( bool ) - Set or unset dnd status.
 * BNSetFriendFavoriteFlag( id, isFavorite ) - Set a battle.net friend as favorite.
 * BNSetFriendNote( ID, noteText )
 * BNSetSelectedBlock( index )
 * BNSetSelectedFriend( index )
 * BNSummonFriendByIndex( id )
 * BNTokenFindName( target )
 * GetAutoCompletePresenceID( name )
 * IsBNLogin

Recruit-a-Friend
Recruit-A-Friend was reworked in Patch 8.2.5
 * C_RecruitAFriend.ClaimActivityReward( activityID, acceptanceID ) : success
 * C_RecruitAFriend.ClaimNextReward : success
 * C_RecruitAFriend.GenerateRecruitmentLink : success
 * C_RecruitAFriend.GetRAFInfo : info
 * C_RecruitAFriend.GetRAFSystemInfo : systemInfo
 * C_RecruitAFriend.GetRecruitActivityRequirementsText( activityID, acceptanceID ) : requirementsText
 * C_RecruitAFriend.GetRecruitInfo : active, faction
 * C_RecruitAFriend.IsEnabled : enabled
 * C_RecruitAFriend.IsRecruitingEnabled : enabled
 * C_RecruitAFriend.RemoveRAFRecruit( wowAccountGUID ) : success
 * C_RecruitAFriend.RequestUpdatedRecruitmentInfo : success
 * CanSummonFriend( unit ) - Returns whether you can RaF summon a particular unit.
 * GetSummonFriendCooldown - Returns the cooldown (start, duration) of the RaF Summon Friend ability.
 * IsRecruitAFriendLinked
 * SelectedRealmName - Returns the realm name that will be used in Recruit-a-Friend invitations.
 * SummonFriend( unit ) - Summons a player using the RaF system.

Mentor System
Newcomer Guides were added in Patch 9.0.1
 * C_PlayerMentorship.GetMentorLevelRequirement : level
 * C_PlayerMentorship.GetMentorOptionalAchievementIDs : achievementIDs
 * C_PlayerMentorship.GetMentorshipStatus( playerLocation ) : status
 * C_PlayerMentorship.IsActivePlayerConsideredNewcomer : isConsideredNewcomer
 * C_PlayerMentorship.IsMentorRestricted : isRestricted

Groups

 * C_PartyInfo.AllowedToDoPartyConversion( toRaid ) : allowed
 * C_PartyInfo.CanInvite : allowedToInvite
 * C_PartyInfo.ConfirmConvertToRaid
 * C_PartyInfo.ConfirmInviteTravelPass( targetName, targetGUID )
 * C_PartyInfo.ConfirmInviteUnit( targetName )
 * C_PartyInfo.ConfirmLeaveParty( [category] )
 * C_PartyInfo.ConvertToParty - Converts a raid group with 5 or less members to a party.
 * C_PartyInfo.ConvertToRaid - Converts a party to a raid.
 * C_PartyInfo.DoCountdown( seconds )
 * C_PartyInfo.GetMinLevel( [category] ) : minLevel
 * C_PartyInfo.InviteUnit( targetName ) - Invites the specified player to the group you are currently in.
 * C_PartyInfo.IsPartyFull( [category] ) : isFull
 * C_PartyInfo.LeaveParty( [category] ) - Quit the party, often useful to troubleshoot "phantom party" bugs which may list you in a party when you are in fact not.
 * AcceptGroup - Accept the invitation to party.
 * ConfirmReadyCheck( isReady ) - Indicate if you are ready or not.
 * DeclineGroup - Decline the invitation to a party.
 * DoReadyCheck - Initiate a ready check.
 * GetHomePartyInfo
 * GetInviteConfirmationInfo( guid )
 * GetNextPendingInviteConfirmation
 * GetNumGroupMembers( [groupType] ) - Returns the total number of players in your group/raid.
 * GetNumSubgroupMembers( [groupType] ) - Returns the number of other players in your party (or raid subgroup).
 * GetPendingInviteConfirmations
 * GetReadyCheckStatus( unit ) - Returns a group member's response to the current ready check.
 * GetReadyCheckTimeLeft
 * InGuildParty
 * IsGUIDInGroup( guid [, groupType] )
 * IsInGroup( [groupType] ) - Returns true if in a group.
 * IsInGuildGroup
 * IsInRaid( [groupType] ) - Returns true if in a raid.
 * PromoteToLeader( unit ) - Promote a unit to party leader.
 * RespondToInviteConfirmation( guid, accept )
 * HW UninviteUnit( name [, reason] ) - Kick a unit from the party if player is group leader; or initiate a kick vote in an LFD group.
 * UnitInAnyGroup
 * UnitInParty( unit ) - Returns true if the unit is a member of your party.
 * UnitIsGroupLeader( unit [, partyCategory] ) - Returns whether the unit is the leader of a party or raid.

Raid Groups

 * ClearPartyAssignment
 * DemoteAssistant( unit ) - Demotes player from assistant status. Requires raid leadership.
 * GetAllowLowLevelRaid - Returns whether joining low-level raids is enabled for the current character.
 * GetPartyAssignment( assignment [, unit, exactMatch] ) - Returns a value based on whether the unit is assigned to given role.
 * GetRaidRosterInfo( index ) - Returns information about the members of your raid.
 * InitiateRolePoll
 * IsEveryoneAssistant
 * PromoteToAssistant( unit ) - Promotes player to assistant status. Requires raid leadership.
 * SetAllowLowLevelRaid( allowed ) - Controls whether the current character can join low-level raids.
 * SetEveryoneIsAssistant
 * PROTECTED SetPartyAssignment( assignment, player )
 * NOCOMBAT SetRaidSubgroup( index, subgroup ) - Move a raid member from his current subgroup into a different (non-full) subgroup.
 * NOCOMBAT SwapRaidSubgroup( index1, index2 ) - Swaps raid members into different groups.
 * UnitInRaid( unit ) - Returns 1 if unit is in your raid, nil if not.
 * UnitInSubgroup

Relates to Raid Targets and World Markers.
 * CanBeRaidTarget( unit ) - Returns if a unit can be marked with a raid target symbol.
 * ClearRaidMarker( index ) - Removes a raid marker from the world.
 * GetRaidTargetIndex( unit ) - Get the raid target index assigned to a unit.
 * IsRaidMarkerActive( index ) - Returns whether or not the raid marker specified by index is active.
 * PROTECTED PlaceRaidMarker( index ) - Brings up a targeting circle to place a raid marker in the world.
 * SetRaidTarget( unit, index ) - Sets a raid icon on a unit.
 * SetRaidTargetProtected( unit, index )
 * UI SetRaidTargetIcon( unit, index ) - Sets or resets a raid icon on a unit.

Raid Profiles
 * CreateNewRaidProfile( name [, baseOnProfile] )
 * DeleteRaidProfile( profile )
 * GetMaxNumCUFProfiles
 * GetNumRaidProfiles
 * GetRaidProfileFlattenedOptions( profile )
 * GetRaidProfileName( index )
 * GetRaidProfileOption( profile, optionName )
 * GetRaidProfileSavedPosition( profile )
 * HasLoadedCUFProfiles
 * RaidProfileExists( profile )
 * RaidProfileHasUnsavedChanges
 * RestoreRaidProfileFromCopy
 * SaveRaidProfileCopy( profile )
 * SetRaidProfileOption( profile, optionName, value )
 * SetRaidProfileSavedPosition( profile, isDynamic, topPoint, topOffset, bottomPoint, bottomOffset, leftPoint, leftOffset )

Party Sync
Party Sync was added in Patch 8.2.5
 * C_LevelLink.IsActionLocked( actionID ) : isLocked
 * C_LevelLink.IsSpellLocked( spellID ) : isLocked
 * C_QuestLog.IsQuestDisabledForSession( questID ) : isDisabled
 * C_QuestLog.IsQuestReplayable( questID ) : isReplayable
 * C_QuestLog.IsQuestReplayedRecently( questID ) : recentlyReplayed
 * C_QuestLog.QuestHasQuestSessionBonus( questID ) : hasBonus
 * C_QuestSession.CanStart : allowed
 * C_QuestSession.CanStop : allowed
 * C_QuestSession.Exists : exists
 * C_QuestSession.GetAvailableSessionCommand : command
 * C_QuestSession.GetPendingCommand : command
 * C_QuestSession.GetProposedMaxLevelForSession : proposedMaxLevel
 * C_QuestSession.GetSessionBeginDetails : details
 * C_QuestSession.GetSuperTrackedQuest : questID
 * C_QuestSession.HasJoined : hasJoined
 * C_QuestSession.HasPendingCommand : hasPendingCommand
 * C_QuestSession.RequestSessionStart
 * C_QuestSession.RequestSessionStop
 * C_QuestSession.SendSessionBeginResponse( beginSession )
 * C_QuestSession.SetQuestIsSuperTracked( questID, superTrack )
 * ConfirmBNRequestInviteFriend( presenceID [, tank, heal, dps] )

Group Finder
The Looking For Group tool was added in Patch 2.0.1. It was renamed to the Dungeon Finder in Patch 3.3.0 and raid queuing moved to a separate Raid Browser. The Raid Finder was added in Patch 4.3.0 and merged into the Dungeon Finder in Patch 5.0.4. The Dungeon Finder was reworked in Patch 6.0.2 into the Group Finder.
 * C_LFGInfo.CanPlayerUseGroupFinder : canUse, failureReason
 * C_LFGInfo.CanPlayerUseLFD : canUse, failureReason
 * C_LFGInfo.CanPlayerUseLFR : canUse, failureReason
 * C_LFGInfo.CanPlayerUsePremadeGroup : canUse, failureReason
 * C_LFGInfo.CanPlayerUsePVP : canUse, failureReason
 * C_LFGInfo.ConfirmLfgExpandSearch
 * C_LFGInfo.GetAllEntriesForCategory( category ) : lfgDungeonIDs
 * C_LFGInfo.GetLFDLockStates : lockInfo
 * C_LFGInfo.GetRoleCheckDifficultyDetails : maxLevel, isLevelReduced
 * C_LFGInfo.HideNameFromUI( dungeonID ) : shouldHide
 * C_LFGList.AcceptInvite( resultID )
 * C_LFGList.ApplyToGroup( resultID, comment, tank, healer, dps )
 * C_LFGList.CanActiveEntryUseAutoAccept : canUseAutoAccept
 * C_LFGList.CancelApplication( resultID )
 * C_LFGList.CanCreateQuestGroup( questID ) : canCreate
 * C_LFGList.ClearApplicationTextFields
 * C_LFGList.ClearCreationTextFields
 * C_LFGList.ClearSearchResults
 * C_LFGList.ClearSearchTextFields
 * C_LFGList.CopyActiveEntryInfoToCreationFields
 * HW C_LFGList.CreateListing( activityID, itemLevel, honorLevel [, autoAccept, privateGroup, questID] ) - Creates a group finder listing.
 * C_LFGList.DeclineApplicant( applicantID )
 * C_LFGList.DeclineInvite( searchResultID )
 * C_LFGList.GetActiveEntryInfo : entryData - Returns information about your currently listed group.
 * C_LFGList.GetActivityGroupInfo( groupID ) - Returns information about an activity group.
 * C_LFGList.GetActivityIDForQuestID( questID )
 * C_LFGList.GetActivityInfo( activityID ) - Returns information about an activity for premade groups.
 * C_LFGList.GetActivityInfoExpensive( activityID ) - Checks if you are in the zone associated with an activity.
 * C_LFGList.GetApplicantInfo( applicantID ) : applicantData - Returns status informations and custom message of an applicant.
 * C_LFGList.GetApplicantMemberInfo( applicantID ) - Returns name, class, level and more about an applicant group member.
 * C_LFGList.GetApplicantMemberStats( applicantID ) - Returns stats about an applicant group member.
 * C_LFGList.GetApplicants - Returns a table with applicantIDs.
 * C_LFGList.GetApplicationInfo( searchResultID )
 * C_LFGList.GetApplications
 * C_LFGList.GetAvailableActivities( [categoryID, groupID, filter] ) - Returns a list of available activityIDs.
 * C_LFGList.GetAvailableActivityGroups( categoryID [, filter] ) - Returns a list of available groupIDs.
 * C_LFGList.GetAvailableCategories( [filter] ) - Returns a list of available categoryIDs.
 * C_LFGList.GetAvailableLanguageSearchFilter
 * C_LFGList.GetAvailableRoles
 * C_LFGList.GetCategoryInfo( categoryID ) - Returns information about a specific category.
 * C_LFGList.GetDefaultLanguageSearchFilter
 * C_LFGList.GetFilteredSearchResults : totalResultsFound, filteredResults
 * C_LFGList.GetLanguageSearchFilter
 * C_LFGList.GetNumApplicants
 * C_LFGList.GetNumApplications
 * C_LFGList.GetNumInvitedApplicantMembers
 * C_LFGList.GetNumPendingApplicantMembers
 * C_LFGList.GetRoleCheckInfo
 * C_LFGList.GetSearchResultEncounterInfo( searchResultID )
 * C_LFGList.GetSearchResultFriends( searchResultID )
 * C_LFGList.GetSearchResultInfo( searchResultID ) : searchResultData
 * C_LFGList.GetSearchResultMemberCounts( searchResultID )
 * C_LFGList.GetSearchResultMemberInfo( searchResultID, memberIndex )
 * C_LFGList.GetSearchResults : totalResultsFound, results
 * C_LFGList.HasActiveEntryInfo : hasActiveEntryInfo
 * C_LFGList.HasActivityList
 * C_LFGList.HasSearchResultInfo( searchResultID ) : hasSearchResultInfo
 * C_LFGList.InviteApplicant( applicantID )
 * C_LFGList.IsCurrentlyApplying
 * C_LFGList.RefreshApplicants
 * C_LFGList.RemoveApplicant( applicantID )
 * C_LFGList.RemoveListing
 * C_LFGList.ReportApplicant( applicantID )
 * C_LFGList.ReportSearchResult( resultID, complaintType )
 * C_LFGList.RequestAvailableActivities
 * C_LFGList.SaveLanguageSearchFilter( enabled )
 * C_LFGList.Search( categoryID [, filter, preferredFilters, languageFilter] )
 * C_LFGList.SetApplicantMemberRole( applicantID, memberIndex, role )
 * C_LFGList.SetSearchToActivity( activityID )
 * C_LFGList.SetSearchToQuestID( questID )
 * C_LFGList.UpdateListing( lfgID, itemLevel, honorLevel, autoAccept, private [, questID] )
 * AcceptProposal - Accept an LFD group invite and enter the dungeon.
 * CanPartyLFGBackfill - Returns whether the party is eligible to recruit additional members from the LFG pool.
 * ClearAllLFGDungeons( category )
 * CompleteLFGReadyCheck( isReady )
 * CompleteLFGRoleCheck( isReady ) - Returns true if the role check was successful.
 * DungeonAppearsInRandomLFD( dungeonID )
 * GetDungeonForRandomSlot( randomID, index )
 * GetDungeonInfo
 * GetGroupMemberCounts
 * GetLFDChoiceCollapseState( [LFGCollapseList] )
 * GetLFDChoiceEnabledState( [LFGEnabledList] )
 * GetLFDChoiceOrder( [LFDDungeonList] )
 * GetLFDLockInfo( dungeonID, playerIndex )
 * GetLFDLockPlayerCount
 * GetLFDRoleLockInfo( dungeonID, roleID )
 * GetLFDRoleRestrictions( dungeonID )
 * GetLFGBootProposal - Returns info about a LFG Kick vote in progress.
 * GetLFGCategoryForID( partySlot )
 * GetLFGCompletionReward
 * GetLFGCompletionRewardItem( rewardIndex )
 * GetLFGCompletionRewardItemLink( rewardIndex )
 * GetLFGDeserterExpiration - Returns the time at which you may once again use the dungeon finder after prematurely leaving a group.
 * GetLFGDungeonEncounterInfo( dungeonID, encounterIndex )
 * GetLFGDungeonInfo( dungeonID ) - Returns dungeon information.
 * GetLFGDungeonNumEncounters( dungeonID )
 * GetLFGDungeonRewardCapBarInfo( dungeonID ) - Returns information on the weekly point limits.
 * GetLFGDungeonRewardCapInfo( dungeonID )
 * GetLFGDungeonRewardInfo( dungeonID, rewardIndex )
 * GetLFGDungeonRewardLink( dungeonID, rewardIndex )
 * GetLFGDungeonRewards( dungeonID )
 * GetLFGDungeonShortageRewardInfo( dungeonID, shortageIndex, rewardIndex )
 * GetLFGDungeonShortageRewardLink( dungeonID, shortageIndex, rewardIndex )
 * GetLFGInfoServer( category [, lfgID] )
 * GetLFGInviteRoleAvailability( roleID )
 * GetLFGInviteRoleRestrictions( roleID )
 * GetLFGProposal
 * GetLFGProposalEncounter( encounterIndex )
 * GetLFGProposalMember( memberIndex ) - Returns info about the players in the LFG proposal.
 * GetLFGQueuedList( category [, table] )
 * GetLFGQueueStats( category [, lfgID] ) - Returns current state and wait times for being in queue.
 * GetLFGRandomCooldownExpiration - Returns the time at which you may once again queue for a random dungeon.
 * GetLFGRandomDungeonInfo( index ) - Returns information about a random dungeon queue.
 * GetLFGReadyCheckUpdate
 * GetLFGReadyCheckUpdateBattlegroundInfo
 * GetLFGRoles - Returns the roles you signed up as, not the role you were assigned.
 * GetLFGRoleShortageRewards( dungeonID, shortageIndex ) - Returns information about the LFG Call to Arms rewards.
 * GetLFGRoleUpdate
 * GetLFGRoleUpdateBattlegroundInfo
 * GetLFGRoleUpdateMember( memberIndex )
 * GetLFGRoleUpdateSlot( slotIndex )
 * GetLFGSuspendedPlayers( category )
 * GetNumDungeonForRandomSlot( randomID )
 * GetNumRandomDungeons - Returns the number of specific dungeons that can be queued for.
 * GetPartyLFGBackfillInfo - Returns information about the dungeon for which you may currently recruit additional members from the LFG pool.
 * GetPartyLFGID
 * GetRandomDungeonBestChoice - Returns the suggested random dungeon ID.
 * GroupHasOfflineMember
 * HasLFGRestrictions - Returns whether the player is in a random party formed by the dungeon finder system.
 * IsAllowedToUserTeleport
 * IsInLFGDungeon
 * IsLFGComplete - Returns whether you have currently finished a Dungeon Finder instance.
 * IsLFGDungeonJoinable - Returns whether you can queue for a particular dungeon
 * IsPartyLFG
 * IsServerControlledBackfill
 * JoinLFG( category )
 * JoinSingleLFG( category, lfgID )
 * LeaveLFG( category )
 * LeaveSingleLFG( category, lfgID )
 * LFGTeleport( [toSafety] ) - Teleports the player to or from a dungeon.
 * PartyLFGStartBackfill
 * RefreshLFGList
 * RejectProposal - Rejects an LFG group invite and exits the queue.
 * RequestBattlegroundInstanceInfo( index ) - Requests data about the available instances of a battleground.
 * RequestLFDPartyLockInfo
 * RequestLFDPlayerLockInfo
 * SearchLFGGetEncounterResults( index, encounterIndex )
 * SearchLFGGetJoinedID - Returns the currently selected raid ID.
 * SearchLFGGetNumResults
 * SearchLFGGetPartyResults( [index, memberIndex] )
 * SearchLFGGetResults( [index] )
 * HW SearchLFGJoin( typeID, lfgID )
 * SearchLFGLeave - Removes yourself from looking through the Raid Browser. Equivalent to selecting "none" in the Raid Browser.
 * SearchLFGSort( type )
 * SetLFGBootVote( shouldKick ) - Responds to a vote-kick.
 * SetLFGComment( [comment] ) - Sets the comment in the raid browser.
 * SetLFGDungeon( LE_LFG_CATEGORY, type )
 * SetLFGDungeonEnabled( dungeonID, isEnabled )
 * SetLFGHeaderCollapsed( headerID, isCollapsed )
 * SetLFGRoles( [leader, tank, healer, dps] ) - Changes the selected roles.

Raid Finder

 * GetBestFlexRaidChoice
 * GetBestRFChoice - Returns the suggested/default dungeonId for the Raid Finder.
 * GetFlexRaidDungeonInfo( index )
 * GetLFRChoiceOrder( [LFRRaidList] )
 * GetNumFlexRaidDungeons
 * GetNumRFDungeons
 * GetRFDungeonInfo( index )

Quick Join
Quick Join was added in Patch 7.1.0
 * C_PartyInfo.ConfirmRequestInviteFromUnit( targetName [, tank, healer, dps] )
 * C_PartyInfo.GetActiveCategories : categories
 * C_PartyInfo.GetInviteConfirmationInvalidQueues( inviteGUID ) : invalidQueues
 * C_PartyInfo.GetInviteReferralInfo( inviteGUID ) : outReferredByGuid, outReferredByName, outRelationType, outIsQuickJoin, ... - Returns info for Quick join invites.
 * C_PartyInfo.RequestInviteFromUnit( targetName [, tank, healer, dps] )
 * C_SocialQueue.GetAllGroups( [allowNonJoinable, allowNonQueuedGroups] ) : groupGUIDs
 * C_SocialQueue.GetConfig : config
 * C_SocialQueue.GetGroupForPlayer( playerGUID ) : groupGUID, isSoloQueueParty
 * C_SocialQueue.GetGroupInfo( groupGUID ) : canJoin, numQueues, needTank, needHealer, needDamage, isSoloQueueParty, ...
 * C_SocialQueue.GetGroupMembers( groupGUID ) : groupMembers
 * C_SocialQueue.GetGroupQueues( groupGUID ) : queues
 * C_SocialQueue.RequestToJoin( groupGUID [, applyAsTank, applyAsHealer, applyAsDamage] ) : requestSuccessful
 * C_SocialQueue.SignalToastDisplayed( groupGUID, priority )

Guild

 * C_GuildInfo.CanEditOfficerNote : canEditOfficerNote - Returns if the player is allowed to edit guild officer notes.
 * C_GuildInfo.CanSpeakInGuildChat : canSpeakInGuildChat - Returns if the player is allowed to use guild chat.
 * C_GuildInfo.CanViewOfficerNote : canViewOfficerNote - Returns if the player is allowed to view guild officer notes.
 * C_GuildInfo.GetGuildNewsInfo( index ) : newsInfo
 * C_GuildInfo.GetGuildRankOrder( guid ) : rankOrder - Returns the current rank of a guild member.
 * C_GuildInfo.GetGuildTabardInfo( [unit] ) : tabardInfo
 * C_GuildInfo.GuildControlGetRankFlags( rankOrder ) : permissions - Returns the permission flags for a rank index.
 * C_GuildInfo.GuildRoster - Requests updated guild roster information from the server.
 * C_GuildInfo.IsGuildOfficer : isOfficer
 * C_GuildInfo.IsGuildRankAssignmentAllowed( guid, rankOrder ) : isGuildRankAssignmentAllowed
 * C_GuildInfo.QueryGuildMemberRecipes( guildMemberGUID, skillLineID ) - Shows the guild member recipes for a profession.
 * C_GuildInfo.QueryGuildMembersForRecipe( skillLineID, recipeSpellID [, recipeLevel] ) : updatedRecipeSpellID
 * C_GuildInfo.RemoveFromGuild( guid ) - Removes a member from the guild.
 * C_GuildInfo.SetGuildRankOrder( guid, rankOrder ) - Sets the guild rank for a member.
 * C_GuildInfo.SetNote( guid, note, isPublic ) - Sets the guild note for a member.
 * AcceptGuild - The player accepts the invitation to join a guild.
 * BuyGuildCharter( guildName ) - Purchases a guild charter for guildName.
 * CanEditGuildEvent - Returns true if you are allowed to edit guild events (in the calendar).
 * CanEditGuildInfo - Returns true if you are allowed to edit the guild info.
 * CanEditGuildTabInfo( tab )
 * CanEditMOTD - Returns true if you are allowed to edit the guild motd.
 * CanEditPublicNote - Returns true if you are allowed to edit a guild member's public note.
 * CanGuildDemote - Returns true if you are allowed to demote a guild member.
 * CanGuildInvite - Returns true if you are allowed to invite a new member to the guild.
 * CanGuildPromote - Returns true if you are allowed to demote a guild member.
 * CanGuildRemove - Returns true if you are allowed to remove a guild member.
 * CanReplaceGuildMaster - Returns whether you can impeach the Guild Master due to inactivity.
 * CanViewGuildRecipes( skillLineID )
 * CloseGuildRegistrar
 * CloseGuildRoster
 * CloseTabardCreation
 * CollapseGuildTradeSkillHeader( tradeSkillID )
 * DeclineGuild - The player declines the invitation to join a guild.
 * ExpandGuildTradeSkillHeader( tradeSkillID )
 * GetAutoDeclineGuildInvites - Returns if guild invites are blocked.
 * GetDemotionRank( index )
 * GetGuildCategoryList
 * GetGuildChallengeInfo( index )
 * GetGuildCharterCost - Returns the cost of purchasing a guild charter.
 * GetGuildEventInfo( index ) - Returns the event information.
 * GetGuildExpirationTime
 * GetGuildFactionGroup
 * GetGuildFactionInfo - Returns the guild name and faction standing of the player.
 * GetGuildInfoText - Returns the persistant Guild Information data.
 * GetGuildInfo( unit ) - This function returns the name of the guild unit belongs to.
 * GetGuildLogoInfo
 * GetGuildMemberRecipes( name, skillLineID )
 * GetGuildNewsFilters
 * GetGuildNewsMemberName( index, nameIndex )
 * GetGuildNewsSort
 * GetGuildPerkInfo
 * GetGuildRecipeInfoPostQuery
 * GetGuildRecipeMember( index )
 * GetGuildRenameRequired
 * GetGuildRewardInfo( index )
 * GetGuildRosterInfo( index ) - This function is used to get info on members in the guild.
 * GetGuildRosterLargestAchievementPoints - Returns max achievements points.
 * GetGuildRosterLastOnline( index ) - Returns time since last online for indexth member in current sort order.
 * GetGuildRosterMOTD - Returns guild's MOTD.
 * GetGuildRosterSelection - Returns the index of the current selected guild member.
 * GetGuildRosterShowOffline - Returns true if showing offline members of the guild.
 * GetGuildTabardFiles - Returns File IDs of tabard textures used in guild bank logo.
 * GetGuildTradeSkillInfo( index ) - Returns the tradeskill index for a guild tradeskill using the index from GetNumGuildTradeSkill.
 * GetNumGuildChallenges
 * GetNumGuildEvents - Returns the number of guild events.
 * GetNumGuildMembers - Returns the number of total and online guild members.
 * GetNumGuildNews
 * GetNumGuildPerks
 * GetNumGuildRewards
 * GetNumGuildTradeSkill - Returns the number of tradeskills available to the guild UI.
 * GetNumMembersInRank( index )
 * GetPromotionRank( index )
 * GetTabardCreationCost - Returns cost in coppers.
 * GetTabardInfo
 * GuildControlAddRank( name ) - Add another rank called "name". Only Guildmaster.
 * GuildControlDelRank( name ) - Delete rank "name". Only Guildmaster.
 * GuildControlGetAllowedShifts( rankOrder )
 * GuildControlGetNumRanks - Returns number of ranks after guild frame open. Any guild member can use this.
 * GuildControlGetRankName( index ) - Returns name of the rank at index. Any guild member can use this.
 * GuildControlSaveRank( name ) - Saves the permissions for rank "name". Only Guildmaster.
 * PROTECTED GuildControlSetRank( rank ) - Sets the currently selected rank to view.
 * PROTECTED GuildControlSetRankFlag( index, enabled ) - Enable/disable permission for an action at index. Only Guildmaster.
 * GuildControlShiftRankDown( rankOrder )
 * GuildControlShiftRankUp( rankOrder )
 * PROTECTED GuildDemote( name ) - Demotes a player "name".
 * GuildDisband - Disbands at once your guild. You must be the guild's leader to do so. Be careful, no warning is given prior disbanding.
 * GuildInfo - Displays information about the guild you are a member of.
 * GuildInvite( name ) - Invites a player to your guild.
 * GuildLeave - Removes you from your current guild.
 * GuildMasterAbsent
 * GuildNewsSetSticky( index, bool )
 * GuildNewsSort( byDate )
 * PROTECTED GuildPromote( name ) - Promotes a player "name".
 * GuildRosterSetOfficerNote( index, note ) - Sets the officer note at index to "note".
 * GuildRosterSetPublicNote( index, note ) - Sets the public note at index to "note".
 * GuildSetLeader( name ) - Transfers guild leadership to another character.
 * GuildSetMOTD( note ) - Set Guild Message of the Day to "note".
 * PROTECTED GuildUninvite( name ) - Removes the member "name".
 * IsGuildLeader( name ) - Determine if player "name" is a guild master.
 * IsGuildMember( guid or unitToken )
 * IsGuildRankAssignmentAllowed( playerIndex, rankIndex )
 * IsInAuthenticatedRank
 * IsInGuild - Lets you know whether you are in a guild.
 * QueryGuildEventLog - Fetches the guild event list and fires a GUILD_EVENT_LOG_UPDATE event.
 * DEPRECATED QueryGuildMembersForRecipe( skillLineID, recipeID )
 * QueryGuildNews
 * QueryGuildRecipes
 * ReplaceGuildMaster - Impeaches the current Guild Master.
 * RequestGuildChallengeInfo
 * RequestGuildPartyState
 * RequestGuildRewards
 * SetAutoDeclineGuildInvites( checked ) - Blocks guild invites automatically.
 * SetGuildInfoText - Sets the persistant Guild Information data. Limit is 500 letters (GuildInfoEditBox is limited to this number). Longer texts are possible, but will be reseted during the day.
 * SetGuildMemberRank( playerIndex, rankIndex )
 * SetGuildNewsFilter( index, bool )
 * SetGuildRosterSelection( index ) - Selects/deselects a guild member according current sorting order.
 * SetGuildRosterShowOffline( enabled ) - Sets/Resets the show offline members flag.
 * SetGuildTradeSkillCategoryFilter( tradeSkillID )
 * SetGuildTradeSkillItemNameFilter( itemName )
 * SortGuildRoster( sort ) - Sorts guildroster according "sort". Any unknown values sort on "name".
 * SortGuildTradeSkill( type )
 * SubmitRequiredGuildRename
 * ViewGuildRecipes( skillLineID )

The Guild Finder was added in Patch 4.1.0
 * CancelGuildMembershipRequest
 * DeclineGuildApplicant
 * GetGuildApplicantInfo( index ) - Returns information about a guild applicant.
 * GetGuildApplicantSelection
 * GetGuildMembershipRequestInfo
 * GetGuildMembershipRequestSettings
 * GetGuildRecruitmentComment
 * GetGuildRecruitmentSettings
 * GetLookingForGuildComment
 * GetLookingForGuildSettings
 * GetNumGuildApplicants - Returns the total number of guild applicants.
 * GetNumGuildMembershipRequests
 * GetNumRecruitingGuilds
 * GetRecruitingGuildInfo
 * GetRecruitingGuildSelection
 * GetRecruitingGuildSettings
 * RequestGuildApplicantsList - Requests information about guild applicants.
 * RequestGuildMembershipList
 * RequestGuildMembership
 * RequestGuildRecruitmentSettings
 * RequestRecruitingGuildsList
 * SetGuildApplicantSelection
 * SetGuildRecruitmentComment( text )
 * SetGuildRecruitmentSettings( index, bool )
 * SetLookingForGuildComment
 * SetLookingForGuildSettings( index, bool )
 * SetRecruitingGuildSelection

Petitions
Petitions are signup documents for guilds and arena teams. Some functions below only apply to a particular petition type
 * CanSignPetition - Returns nil if the player cannot sign the current petition.
 * ClosePetition - Closes the current petition.
 * GetNumPetitionNames - Gets the number of signatures on the current petition.
 * GetPetitionInfo - Retrieves information about the current petition.
 * GetPetitionNameInfo( index ) - Retrieves information about a signature on the petition.
 * OfferPetition - Offers a petition to your target, inviting them to join your would-be guild/arena team.
 * RenamePetition( name ) - Renames the current petition.
 * SignPetition - Signs the current petition.
 * TurnInGuildCharter - Founds a guild.

Instances

 * CanChangePlayerDifficulty
 * CanMapChangeDifficulty
 * CanShowResetInstances - Determine if player can reset instances at the moment.
 * GetDifficultyInfo - Returns information about a difficulty.
 * GetDungeonDifficultyID - Returns the player's current Dungeon Difficulty setting (1, 2, 8).
 * GetInstanceBootTimeRemaining - Gets the time in seconds after which the player will be ejected from an instance.
 * GetInstanceInfo - Gets informations about the current Instance.
 * GetLegacyRaidDifficultyID
 * GetRaidDifficultyID - Returns the player's current Raid Difficulty setting (1-14).
 * IsInInstance - Returns 1 if the player is in an instance, as well as the type of instance (pvp, raid, etc.).
 * IsLegacyDifficulty( difficultyID )
 * ResetInstances - Reset instances.
 * SetDungeonDifficultyID( difficultyID ) - Sets the player's Dungeon Difficulty setting (for the 5-man instances). See difficultyID.
 * SetLegacyRaidDifficultyID( difficultyID [, force] )
 * SetRaidDifficultyID( difficultyID ) - Sets the players Raid Difficulty settings (for 10-man, 25-man instances). See difficultyID.
 * ShowBossFrameWhenUninteractable( unit )

Relates to Instance Locks
 * GetInstanceLockTimeRemainingEncounter( id ) - Returns information about bosses in the instance the player is about to be saved to.
 * GetInstanceLockTimeRemaining - Returns information about the instance lock timer for the instance the player is currently entering.
 * GetNumSavedInstances - Gets the number of instances for which the player currently has lockout data saved.
 * GetNumSavedWorldBosses
 * GetSavedInstanceChatLink( index )
 * GetSavedInstanceEncounterInfo( instanceIndex, encounterIndex )
 * GetSavedInstanceInfo( index ) - Gets information about an instance for which the player has saved lockout data.
 * GetSavedWorldBossInfo( index )
 * RequestRaidInfo - Returns information about which instances you are saved to.
 * RespondInstanceLock
 * SetSavedInstanceExtend( index, extend )

Scenarios
Scenarios were added in Patch 5.0.4
 * C_Scenario.GetBonusStepRewardQuestID( stepIndex )
 * C_Scenario.GetBonusSteps
 * C_Scenario.GetCriteriaInfo( criteriaIndex )
 * C_Scenario.GetCriteriaInfoByStep( stepID, criteriaIndex )
 * C_Scenario.GetInfo
 * C_Scenario.GetProvingGroundsInfo - Returns information about the current Proving Grounds trial.
 * C_Scenario.GetScenarioIconInfo( uiMapID )
 * C_Scenario.GetStepInfo( [bonusStepIndex] )
 * C_Scenario.GetSupersededObjectives
 * C_Scenario.IsInScenario
 * C_Scenario.ShouldShowCriteria
 * C_Scenario.TreatScenarioAsDungeon
 * GetNumRandomScenarios
 * GetNumScenarios
 * GetRandomScenarioBestChoice
 * GetRandomScenarioInfo( index )
 * GetScenariosChoiceOrder
 * GetWorldElapsedTimers
 * GetWorldElapsedTime( timerID )
 * IsInScenarioGroup

Mythic+
Mythic+ mode was added in Patch 7.0.3
 * C_MythicPlus.GetCurrentAffixes : affixIDs
 * C_MythicPlus.GetCurrentSeason : seasonID
 * C_MythicPlus.GetLastWeeklyBestInformation : challengeMapId, level
 * C_MythicPlus.GetOwnedKeystoneChallengeMapID : challengeMapID
 * C_MythicPlus.GetOwnedKeystoneLevel : keyStoneLevel
 * C_MythicPlus.GetRewardLevelForDifficultyLevel( difficultyLevel ) : weeklyRewardLevel, endOfRunRewardLevel
 * C_MythicPlus.GetRewardLevelFromKeystoneLevel( keystoneLevel ) : rewardLevel
 * C_MythicPlus.GetRunHistory( [includePreviousWeeks, includeIncompleteRuns] ) : runs
 * C_MythicPlus.GetSeasonBestForMap( mapChallengeModeID ) : intimeInfo, overtimeInfo
 * C_MythicPlus.GetWeeklyBestForMap( mapChallengeModeID ) : durationSec, level, completionDate, affixIDs, members
 * C_MythicPlus.GetWeeklyChestRewardLevel : currentWeekBestLevel, weeklyRewardLevel, nextDifficultyWeeklyRewardLevel, ...
 * C_MythicPlus.IsMythicPlusActive : isMythicPlusActive
 * C_MythicPlus.IsWeeklyRewardAvailable : weeklyRewardAvailable
 * C_MythicPlus.RequestCurrentAffixes
 * C_MythicPlus.RequestMapInfo
 * C_MythicPlus.RequestRewards

Challenge Mode was added in Patch 5.0.4
 * C_ChallengeMode.CanUseKeystoneInCurrentMap( itemLocation ) : canUse
 * C_ChallengeMode.ClearKeystone
 * C_ChallengeMode.CloseKeystoneFrame
 * C_ChallengeMode.GetActiveChallengeMapID : mapChallengeModeID
 * C_ChallengeMode.GetActiveKeystoneInfo : activeKeystoneLevel, activeAffixIDs, ...
 * C_ChallengeMode.GetAffixInfo( affixID ) : name, description, filedataid
 * C_ChallengeMode.GetCompletionInfo : mapChallengeModeID, level, time, onTime, keystoneUpgradeLevels, ...
 * C_ChallengeMode.GetDeathCount : numDeaths, timeLost
 * C_ChallengeMode.GetGuildLeaders : topAttempt
 * C_ChallengeMode.GetMapTable : mapChallengeModeIDs
 * C_ChallengeMode.GetMapUIInfo( mapChallengeModeID ) : name, id, timeLimit, texture, backgroundTexture
 * C_ChallengeMode.GetPowerLevelDamageHealthMod( powerLevel ) : damageMod, healthMod
 * C_ChallengeMode.GetSlottedKeystoneInfo : mapChallengeModeID, affixIDs, keystoneLevel
 * C_ChallengeMode.HasSlottedKeystone : hasSlottedKeystone
 * C_ChallengeMode.IsChallengeModeActive : challengeModeActive
 * C_ChallengeMode.RemoveKeystone : removalSuccessful
 * C_ChallengeMode.RequestLeaders( mapChallengeModeID )
 * C_ChallengeMode.Reset
 * C_ChallengeMode.SetKeystoneTooltip
 * C_ChallengeMode.SlotKeystone
 * C_ChallengeMode.StartChallengeMode : success

Weekly Rewards

 * C_WeeklyRewards.AreRewardsForCurrentRewardPeriod : isCurrentPeriod
 * C_WeeklyRewards.CanClaimRewards : canClaimRewards
 * C_WeeklyRewards.ClaimReward( id )
 * C_WeeklyRewards.CloseInteraction
 * C_WeeklyRewards.GetActivities( [type] ) : activities
 * C_WeeklyRewards.GetActivityEncounterInfo( type, index ) : info
 * C_WeeklyRewards.GetConquestWeeklyProgress : weeklyProgress
 * C_WeeklyRewards.GetExampleRewardItemHyperlinks( id ) : hyperlink, upgradeHyperlink
 * C_WeeklyRewards.GetItemHyperlink( itemDBID ) : hyperlink
 * C_WeeklyRewards.GetNextMythicPlusIncrease( mythicPlusLevel ) : hasSeasonData, nextMythicPlusLevel, itemLevel
 * C_WeeklyRewards.HasAvailableRewards : hasAvailableRewards
 * C_WeeklyRewards.HasGeneratedRewards : hasGeneratedRewards
 * C_WeeklyRewards.HasInteraction : isInteracting

Items
These functions operate on item links or item information directly. See also Bag functions.
 * C_Item.CanViewItemPowers( itemLoc ) : isItemViewable
 * C_Item.DoesItemExist( emptiableItemLocation ) : itemExists
 * C_Item.DoesItemExistByID( itemInfo ) : itemExists
 * C_Item.DoesItemMatchBonusTreeReplacement( itemLoc ) : matchesBonusTree
 * C_Item.GetCurrentItemLevel( itemLocation ) : currentItemLevel
 * C_Item.GetItemGUID( itemLocation ) : itemGuid
 * C_Item.GetItemIcon( itemLocation ) : icon
 * C_Item.GetItemIconByID( itemInfo ) : icon
 * C_Item.GetItemID( itemLocation ) : itemID
 * C_Item.GetItemInventoryType( itemLocation ) : inventoryType
 * C_Item.GetItemInventoryTypeByID( itemInfo ) : inventoryType
 * C_Item.GetItemLink( itemLocation ) : itemLink
 * C_Item.GetItemName( itemLocation ) : itemName
 * C_Item.GetItemNameByID( itemInfo ) : itemName
 * C_Item.GetItemQuality( itemLocation ) : itemQuality
 * C_Item.GetItemQualityByID( itemInfo ) : itemQuality
 * C_Item.GetStackCount( itemLocation ) : stackCount
 * C_Item.IsBound( itemLocation ) : isBound
 * C_Item.IsItemDataCached( itemLocation ) : isCached
 * C_Item.IsItemDataCachedByID( itemInfo ) : isCached
 * C_Item.IsItemKeystoneByID( itemInfo ) : isKeystone
 * C_Item.IsLocked( itemLocation ) : isLocked
 * C_Item.LockItem( itemLocation )
 * C_Item.LockItemByGUID( itemGUID )
 * C_Item.RequestLoadItemData( itemLocation )
 * C_Item.RequestLoadItemDataByID( itemInfo )
 * C_Item.UnlockItem( itemLocation )
 * C_Item.UnlockItemByGUID( itemGUID )
 * C_ItemInteraction.ClearPendingItem
 * C_ItemInteraction.CloseUI
 * C_ItemInteraction.GetItemInteractionInfo : info
 * C_ItemInteraction.GetItemInteractionSpellId : spellId
 * C_ItemInteraction.InitializeFrame
 * C_ItemInteraction.PerformItemInteraction
 * C_ItemInteraction.Reset
 * C_ItemInteraction.SetPendingItem( [item] ) : success
 * C_ItemUpgrade.CanUpgradeItem( baseItem ) : isValid
 * C_ItemUpgrade.GetItemHyperlink : link
 * C_NewItems.ClearAll - Clears the new item flag on all items in the player's inventory.
 * C_NewItems.IsNewItem( bag, slot ) - Returns whether the item in the specified container slot is flagged as new.
 * C_NewItems.RemoveNewItem( bag, slot ) - Clears the "new item" flag.
 * ActionBindsItem - Confirms this will bind this item to you.
 * ClearItemUpgrade
 * CloseItemUpgrade
 * ConfirmOnUse - Confirms you want to use the item.
 * EndBoundTradeable( type ) - Confirms this will make this item non-tradeable.
 * EndRefund - Confirms this will make this item non-refundable.
 * EquipItemByName( item [, invSlot] ) - Equips an item, optionally into a specified slot.
 * GetDetailedItemLevelInfo( item ) - Returns an item's item level.
 * GetItemChildInfo( item [, slotID] )
 * GetItemClassInfo( itemClassID ) - Returns the name of the item type.
 * GetItemCooldown( itemId ) - Returns startTime, duration, enable.
 * GetItemCount( item [, includeBank, includeCharges] ) - Returns number of such items in inventory, or charges instead if it has charges.
 * GetItemCreationContext( itemlink )
 * GetItemFamily( item ) - Returns the bag type that an item can go into, or for bags the type of items that it can contain.
 * GetItemGem( item, index )
 * GetItemIcon( itemId ) - Returns the icon for the item. Works for any valid item even if it's not in the cache.
 * GetItemInfo( item ) - Returns information about an item.
 * GetItemInfoInstant( item ) - Returns basic information about an item.
 * GetItemInventorySlotInfo( inventorySlot )
 * GetItemLevelColor
 * GetItemLevelIncrement
 * GetItemQualityColor( quality ) - Returns the RGB color codes for a quality.
 * GetItemSetInfo( setID )
 * GetItemSpecInfo( item [, specTable] )
 * GetItemSpell( item ) - Returns name, rank.
 * GetItemStatDelta( itemLink1, itemLink2 [, statTable] )
 * GetItemStats( itemLink, statTable ) - Returns a table of stats for an item.
 * GetItemSubClassInfo( itemClassID, itemSubClassID ) - Returns the name of the item subtype.
 * GetItemUniqueness( item )
 * GetItemUpdateLevel
 * GetItemUpgradeEffect( index )
 * GetItemUpgradeItemInfo
 * GetItemUpgradeStats( upgraded )
 * GetNumItemUpgradeEffects
 * IsBattlePayItem( bag, slot )
 * IsConsumableItem( item )
 * IsCurrentItem( item )
 * IsDressableItem( item ) - Returns if the item can be shown in the Dressing room.
 * IsEquippableItem( item ) - Returns whether an item can be equipped.
 * IsEquippedItem( item )
 * IsEquippedItemType( type ) - Where "type" is any valid inventory type, item class, or item subclass.
 * IsHarmfulItem( item ) - Returns whether an item can be used against hostile units
 * IsHelpfulItem( item ) - Returns whether an item can be used on the player or friendly units
 * IsItemInRange( item [, unit] ) - Returns whether the item is in usable range of the unit.
 * IsUsableItem( item ) - Returns usable, noMana.
 * ItemHasRange( item )
 * TargetSpellReplacesBonusTree
 * UpgradeItem
 * PROTECTED UseItemByName( itemName, unit ) - Use an item on the unit specified.

Item Enchants
 * BindEnchant - Confirm the binding of the item when enchanting it.
 * ReplaceEnchant - Confirm the replacement of an enchantment.
 * ReplaceTradeEnchant - Confirm the replacement of an enchantment via trade.

Looting
Relates to Loot.
 * C_Loot.IsLegacyLootModeEnabled : isLegacyLootModeEnabled
 * C_LootHistory.CanMasterLoot( itemIndex, playerIndex )
 * C_LootHistory.GetExpiration
 * C_LootHistory.GetItem( itemIndex )
 * C_LootHistory.GetNumItems
 * C_LootHistory.GetPlayerInfo( itemIndex, playerIndex )
 * C_LootHistory.GiveMasterLoot( itemIndex, playerIndex )
 * C_LootHistory.SetExpiration( numItemsToSave, secondsToSave )
 * C_PlayerInfo.CanPlayerUseAreaLoot : canUseAreaLoot
 * CanLootUnit( unitGUID )
 * CancelMasterLootRoll( slot )
 * CloseLoot( [uiFailedFlag] )
 * ConfirmLootRoll( rollId [, roll] ) - Confirm a loot roll.
 * ConfirmLootSlot( slot ) - Confirm looting of a BoP item.
 * DoMasterLootRoll( slot )
 * GetActiveLootRollIDs
 * GetLootInfo
 * GetLootMethod - Returns the currently active lootMethod.
 * GetLootRollItemInfo( rollId )
 * GetLootRollItemLink( id )
 * GetLootRollTimeLeft( rollid )
 * GetLootSlotInfo( slot ) - Returns icon path, item name, and item quantity for the item in the given loot window slot.
 * GetLootSlotLink( slot ) - Returns an itemLink for the item in the given loot window slot.
 * GetLootSlotType( slot )
 * GetLootSourceInfo( slot ) - Returns information about the source of the objects in a loot slot.
 * GetLootSpecialization
 * GetLootThreshold - Returns the current loot threshold (for group/master loot)
 * GetMasterLootCandidate( index ) - Returns the name of a player who is eligible to receive loot in master mode.
 * GetNumLootItems - Returns amount of objects to loot (number)
 * GetOptOutOfLoot - Returns whether the character is currently automatically passing on all loot.
 * GiveMasterLoot( slot, index )
 * IsFishingLoot
 * IsMasterLooter
 * LootMoneyNotify( money, soleLooter )
 * LootSlotHasItem( slot )
 * LootSlot( slot ) - Used to loot the specified slot.
 * RollOnLoot( rollId [, roll] ) - Roll or pass on a loot event started by the game engine.
 * SetLootMethod( lootMethod [, masterPlayer or threshold] ) - Set the current loot method.
 * SetLootPortrait
 * SetLootSpecialization( specilizationID )
 * SetLootThreshold( itemQuality ) - Set the threshold for group/master loot.
 * SetOptOutOfLoot( optOut ) - Enables or disables automatic passing on all loot.

Macros
Relates to Macros.
 * NOCOMBAT CreateMacro( name, icon, body, perCharacter, isLocal ) - Create a new macro.
 * DeleteMacro( id or name ) - Deletes a macro.
 * NOCOMBAT EditMacro( index, name, iconIndex, body, isLocal, perCharacter ) - Saves a macro.
 * GetLooseMacroIcons
 * GetLooseMacroItemIcons
 * GetMacroBody( id or name ) - Returns the body (macro text) of a macro.
 * GetMacroIcons( table ) - Returns an array of available macro texture paths (but not icons of items).
 * GetMacroIndexByName( name ) - Returns macro index.
 * GetMacroInfo( id or name ) - Returns "name", "iconTexture", "body", isLocal.
 * GetMacroItemIcons( table ) - Returns an array of available macro texture paths (icons of items).
 * GetMacroItem
 * GetMacroSpell
 * GetNumMacros - Returns the number of macros the user has.
 * GetRunningMacroButton
 * GetRunningMacro
 * PROTECTED RunMacro( id or name ) - Runs a macro.
 * PROTECTED RunMacroText( macro ) - Interpret the given string as a macro and run it.
 * SecureCmdOptionParse( command ) - Used for evaluating conditionals in macros, returning the appropriate choice.
 * SetMacroItem( macro, item [, target] )
 * SetMacroSpell( macro, spell [, target] )
 * PROTECTED StopMacro - Stops the currently executing macro.

Mail
Relates to Mail.
 * C_Mail.CanCheckInbox : canCheckInbox, secondsUntilAllowed
 * C_Mail.HasInboxMoney( inboxIndex ) : inboxItemHasMoneyAttached - Returns true if a mail has money attached.
 * C_Mail.IsCommandPending : isCommandPending - Returns true if the current mail command is still processing.
 * AutoLootMailItem( index ) - Loot all items from mail message.
 * CanComplainInboxItem( index ) - Determines if we should show the “report spam” button on a mail item.
 * CheckInbox - Populate client's inbox with mail from server.
 * ClearSendMail - This clears the text in the send mail tab and places the COD item in the inventory.
 * ClickSendMailItemButton( [itemIndex, clearItem] ) - Places or picks up an item from the send mail frame.
 * CloseMail - Closes the mail window.
 * ComplainInboxItem( index ) - Complains about a particular mail item.
 * DeleteInboxItem( index ) - Deletes the inbox item at index. It returns immediately, it does not seem to wait for the deletion to go through, giving the normal problems with rapid mail removal attempts.
 * GetCoinIcon( amount )
 * GetInboxHeaderInfo( index ) - Returns information about a message in the inbox.
 * GetInboxItem( index, itemIndex ) - Returns description of the attachment attached to message at (index).
 * GetInboxItemLink( index, itemIndex ) - Returns link of the attachment attached to message at (index).
 * GetInboxNumItems - Returns the number of messages in your inbox.
 * GetInboxText( index ) - Returns the message text of message at (index).
 * GetInboxInvoiceInfo( index ) - Returns informations about an auction house invoice.
 * GetLatestThreeSenders - Returns the senders of the most recent unread mail.
 * GetSendMailCOD - Determine amount of gold entered in COD box in mail frame when mail is sent.
 * GetSendMailItem( index ) - Get information about an item attached on the send mail frame.
 * GetSendMailItemLink( index ) - Get link for an item attached on the send mail frame.
 * GetSendMailMoney
 * GetSendMailPrice - Gets the cost for sending mail.
 * HasInboxItem
 * HasNewMail - Returns nil if there is no new mail.
 * HasSendMailItem( index ) - Returns boolean if item is attached to send mail frame in specified slot.
 * InboxItemCanDelete( index ) - Boolean check for whether a message is returnable to the sender.
 * RespondMailLockSendItem( slot, keepItem ) - Confirm item wont be refunded, keepItem boolean.
 * ReturnInboxItem( index ) - Returns to the sender the attached item in the mail message at the specified index.
 * SendMail( target, subject, body ) - If the mailbox is open, this sends mail.
 * PROTECTED SetSendMailCOD( amount ) - Make next mail sent using SendMail COD target for amount.
 * PROTECTED SetSendMailMoney( amount ) - Add money to next mail sent using SendMail.
 * SetSendMailShowing
 * TakeInboxItem( index, itemIndex ) - Take the attached item from the mailbox message at index.
 * TakeInboxMoney( index ) - Take the attached money from the mailbox message at index.
 * TakeInboxTextItem( index ) - Creates a permanent copy of letter (readable "Plain Letter").

Maps
The Map API was reworked in Patch 8.0.1. See also MapUtil functions.
 * C_Map.CloseWorldMapInteraction
 * C_Map.GetAreaInfo( areaID ) : name - Returns a map subzone name.
 * C_Map.GetBestMapForUnit( unitToken ) : uiMapID - Returns the current UI map for the given unit. Only works for the player and party members.
 * C_Map.GetBountySetMaps( bountySetID ) : mapIDs - Returns the maps for a bounty.
 * C_Map.GetFallbackWorldMapID : uiMapID - Returns the world map id.
 * C_Map.GetMapArtBackgroundAtlas( uiMapID ) : atlasName - Returns the background atlas for a map.
 * C_Map.GetMapArtHelpTextPosition( uiMapID ) : position - Returns the position for the "Click to Zoom In" hint text on flight maps.
 * C_Map.GetMapArtID( uiMapID ) : uiMapArtID - Returns the art for a (phased) map.
 * C_Map.GetMapArtLayers( uiMapID ) : layerInfo - Returns the art layers for a map.
 * C_Map.GetMapArtLayerTextures( uiMapID, layerIndex ) : textures - Returns the art layer textures for a map.
 * C_Map.GetMapBannersForMap( uiMapID ) : mapBanners - Returns the poi banners for a map.
 * C_Map.GetMapChildrenInfo( uiMapID [, mapType, allDescendants] ) : info - Returns information on the sub-maps of the given uiMapID, optionally restricted to a specific "map type", and/or recursive.
 * C_Map.GetMapDisplayInfo( uiMapID ) : hideIcons - Returns whether group member pins should be hidden.
 * C_Map.GetMapGroupID( uiMapID ) : uiMapGroupID - Returns the map group for a map.
 * C_Map.GetMapGroupMembersInfo( uiMapGroupID ) : info - Returns the floors for a map group.
 * C_Map.GetMapHighlightInfoAtPosition( uiMapID, x, y ) : fileDataID, atlasID, texturePercentageX, texturePercentageY, ... - Returns a map highlight pin for a location.
 * C_Map.GetMapInfo( uiMapID ) : info - Returns map information.
 * C_Map.GetMapInfoAtPosition( uiMapID, x, y ) : info - Returns map info for a location on the map.
 * C_Map.GetMapLevels( uiMapID ) : playerMinLevel, playerMaxLevel, petMinLevel, petMaxLevel - Returns the suggested player and battle pet levels for a map.
 * C_Map.GetMapLinksForMap( uiMapID ) : mapLinks - Returns the map pins that link to another map.
 * C_Map.GetMapPosFromWorldPos( continentID, worldPosition [, overrideUiMapID] ) : uiMapID, mapPosition - Translates a world map position to a map position.
 * C_Map.GetMapRectOnMap( uiMapID, topUiMapID ) : minX, maxX, minY, maxY - Returns the map rectangle location for a map on its parent map.
 * C_Map.GetMapWorldSize( uiMapID ) : width, height
 * C_Map.GetPlayerMapPosition( uiMapID, unitToken ) : position - Returns the location of the given unit. Only works for the player and party members.
 * C_Map.GetWorldPosFromMapPos( uiMapID, mapPosition ) : continentID, worldPosition - Translates a world map position to a map position.
 * C_Map.IsMapValidForNavBarDropDown( uiMapID ) : isValid
 * C_Map.MapHasArt( uiMapID ) : hasArt - Returns true if the map has art and can be displayed by the FrameXML.
 * C_Map.RequestPreloadMap( uiMapID ) - Preloads textures for a map.
 * C_MapExplorationInfo.GetExploredAreaIDsAtPosition( uiMapID, normalizedPosition ) : areaID - Returns the explored areas for the location on a map.
 * C_MapExplorationInfo.GetExploredMapTextures( uiMapID ) : overlayInfo - Returns explored map textures for a map.
 * C_FogOfWar.GetFogOfWarForMap( uiMapID ) : fogOfWarID - Returns the fog of war ID for an (Island Expedition) map.
 * C_FogOfWar.GetFogOfWarInfo( fogOfWarID ) : fogOfWarInfo - Returns fog of war info for an (Island Expedition) map.
 * GetAreaText
 * GetMinimapZoneText - Returns the zone text, that is displayed over the minimap.
 * GetPlayerFacing - Returns the direction the player is facing.
 * GetRealZoneText( [mapID] ) - Returns either instance name or zone name.
 * GetSubZoneText - Returns the subzone text (e.g. "The Canals").
 * GetZonePVPInfo - Returns PVP info for the current zone.
 * GetZoneText - Returns the zone text (e.g. "Stormwind City").
 * UnitPosition( unit ) - Returns the position of a unit within the current world area.
 * UI WorldMapFrame:AddDataProvider( dataProvider ) - Adds a map data provider.
 * UI WorldMapFrame:GetMapID - Returns the currently viewed world map.
 * UI WorldMapFrame:SetMapID( uiMapID ) - Sets the world map.
 * UI WorldMapFrame:EnumerateAllPins - Enumerates through all map pins.

Minimap
The Minimap was reworked in Patch 9.0.1
 * C_Minimap.GetDrawGroundTextures : draw
 * C_Minimap.GetUiMapID : uiMapID
 * C_Minimap.GetViewRadius : yards
 * C_Minimap.IsRotateMinimapIgnored : isIgnored
 * C_Minimap.SetDrawGroundTextures( draw )
 * C_Minimap.SetIgnoreRotateMinimap( ignore )
 * C_Minimap.ShouldUseHybridMinimap : shouldUse

Tracking
Relates to Tracking on the minimap.
 * ClearAllTracking
 * GetNumTrackingTypes - Returns number of available tracking methods.
 * GetTrackingInfo( id ) - Retrieves tracking information from specified id.
 * SetTracking( id, enabled ) - Enables or disables a tracking method.

Points of Interest

 * C_AreaPoiInfo.GetAreaPOIForMap( uiMapID ) : areaPoiIDs - Returns area points of interest for a map.
 * C_AreaPoiInfo.GetAreaPOIInfo( uiMapID, areaPoiID ) : poiInfo - Returns area point of interest info.
 * C_AreaPoiInfo.GetAreaPOISecondsLeft( areaPoiID ) : secondsLeft - Returns the time left for an area poi.
 * C_AreaPoiInfo.IsAreaPOITimed( areaPoiID ) : isTimed - Returns whether an area poi is timed.
 * GetPOITextureCoords( textureIndex )
 * SetPOIIconOverlapDistance( index )
 * SetPOIIconOverlapPushDistance( index )

Vignettes are used for one-time rare mobs and treasure chests.
 * C_VignetteInfo.FindBestUniqueVignette( vignetteGUIDs ) : bestUniqueVignetteIndex
 * C_VignetteInfo.GetVignetteInfo( vignetteGUID ) : vignetteInfo
 * C_VignetteInfo.GetVignettePosition( vignetteGUID, uiMapID ) : vignettePosition
 * C_VignetteInfo.GetVignettes : vignetteGUIDs

Waypoints
Tracked waypoints were added in Patch 9.0.1
 * C_Map.CanSetUserWaypointOnMap( uiMapID ) : canSet
 * C_Map.ClearUserWaypoint
 * C_Map.GetUserWaypoint : point
 * C_Map.GetUserWaypointFromHyperlink( hyperlink ) : point
 * C_Map.GetUserWaypointHyperlink : hyperlink
 * C_Map.GetUserWaypointPositionForMap( uiMapID ) : mapPosition
 * C_Map.HasUserWaypoint : hasUserWaypoint
 * C_Map.SetUserWaypoint( point )
 * C_Navigation.GetDistance : distance
 * C_Navigation.GetFrame : frame
 * C_Navigation.GetTargetState : state
 * C_Navigation.HasValidScreenPosition : hasValidScreenPosition
 * C_Navigation.WasClampedToScreen : wasClamped

Controls what's actively being tracked.
 * C_SuperTrack.GetHighestPrioritySuperTrackingType : type
 * C_SuperTrack.GetSuperTrackedQuestID : questID
 * C_SuperTrack.IsSuperTrackingAnything : isSuperTracking
 * C_SuperTrack.IsSuperTrackingCorpse : isSuperTracking
 * C_SuperTrack.IsSuperTrackingQuest : isSuperTracking
 * C_SuperTrack.IsSuperTrackingUserWaypoint : isSuperTracking
 * C_SuperTrack.SetSuperTrackedQuestID( questID )
 * C_SuperTrack.SetSuperTrackedUserWaypoint( superTracked )
 * C_QuestLog.GetNextWaypoint( questID ) : mapID, x, y
 * C_QuestLog.GetNextWaypointForMap( questID, uiMapID ) : x, y
 * C_QuestLog.GetNextWaypointText( questID ) : waypointText

Flight Master
Relates to Flight master taxi services.
 * C_TaxiMap.GetAllTaxiNodes( uiMapID ) : taxiNodes
 * C_TaxiMap.GetTaxiNodesForMap( uiMapID ) : mapTaxiNodes
 * C_TaxiMap.ShouldMapShowTaxiNodes( uiMapID ) : shouldShowNodes
 * CloseTaxiMap - Closes the Flightpath Map.
 * GetNumRoutes( slot ) - Gets the number of hops between current-slot and slot.
 * GetTaxiBenchmarkMode
 * GetTaxiMapID
 * NumTaxiNodes - Returns the number of nodes (flight paths) on an open taxi map.
 * SetTaxiBenchmarkMode
 * SetTaxiMap( frame )
 * TakeTaxiNode( slot ) - Takes the named taxi node.
 * TaxiGetDestX( slot, hop )
 * TaxiGetDestY( slot, hop )
 * TaxiGetNodeSlot
 * TaxiGetSrcX( slot, hop )
 * TaxiGetSrcY( slot, hop )
 * TaxiIsDirectFlight
 * TaxiNodeCost( slot ) - Returns the cost in copper of a node.
 * TaxiNodeGetType( slot ) - Returns the status of a node.
 * TaxiNodeName( slot ) - Returns the name of a node.
 * TaxiNodePosition( slot ) - Returns position (x,y) of node on the map.
 * TaxiRequestEarlyLanding
 * UnitOnTaxi( unit ) - Returns 1 if unit is on a taxi.

Vendor
Relates to Vendors.
 * C_MerchantFrame.GetBuybackItemID( buybackSlotIndex ) : buybackItemID
 * C_MerchantFrame.IsMerchantItemRefundable( index ) : refundable
 * BuyMerchantItem( index [, qty] ) - Buys an item from a merchant.
 * BuybackItem( index ) - Buys back a sold item.
 * CanAffordMerchantItem( index )
 * CanMerchantRepair - Returns true if the merchant can repair items.
 * CloseMerchant - Closes the merchant window.
 * ContainerRefundItemPurchase( index, slot [, isEquipped] )
 * GetBuybackItemInfo( index ) - Returns information about the buyback item.
 * GetBuybackItemLink( index ) - Returns an itemLink for the buyback item.
 * GetMerchantCurrencies
 * GetMerchantFilter
 * GetMerchantItemCostInfo( index ) - Returns "alternative currency" information about an item.
 * GetMerchantItemCostItem( index, itemIndex ) - Returns information about an "alternative currency" component of the price for a purchasable item.
 * GetMerchantItemID( index )
 * GetMerchantItemInfo( index ) - Returns information about the given purchasable item.
 * GetMerchantItemLink( index ) - Returns an itemLink for the given purchasable item.
 * GetMerchantItemMaxStack( index ) - Returns the maximum number of items in a stack.
 * GetMerchantNumItems - Returns the number of items the merchant sells.
 * GetNumBuybackItems - Returns number of items available for buyback.
 * GetRepairAllCost
 * RepairAllItems( [guildBankRepair] ) - Repairs all equipped and inventory items.
 * ResetSetMerchantFilter
 * SetMerchantFilter

Trainer
Relates to Trainers.
 * BuyTrainerService( index ) - Used for buying new/upgrading professions, profession items and class skills.
 * CloseTrainer - Closes the trainer window.
 * GetNumTrainerServices - Get the number of the trainer services.
 * GetTrainerGreetingText - Get the trainer's greeting text.
 * GetTrainerSelectionIndex - Get the index of the selected trainer service.
 * GetTrainerServiceAbilityReq( trainerIndex, reqIndex ) - Used for displaying the requirements to learn a new profession, profession skill or class skill.
 * GetTrainerServiceCost( index ) - Returns the cost of a specific trainer service.
 * GetTrainerServiceDescription( index ) - Returns the description of a specific trainer service.
 * GetTrainerServiceIcon( index ) - Returns icon texture for a trainer service.
 * GetTrainerServiceInfo( index ) - Returns information about a trainer service.
 * GetTrainerServiceItemLink( index ) - Returns an item link for a trainer service.
 * GetTrainerServiceLevelReq( index ) - Get the required level to learn the skill.
 * GetTrainerServiceNumAbilityReq - Get the maximum number of requirements that GetTrainerServiceAbilityReq has.
 * GetTrainerServiceSkillLine( index )
 * GetTrainerServiceSkillReq( index ) - Returns a String and Variable for the requirements of a specific trainer service.
 * GetTrainerServiceStepIndex
 * GetTrainerServiceTypeFilter( filter ) - Returns the status of a skill filter in the trainer window.
 * GetTrainerTradeskillRankValues
 * IsTradeskillTrainer - Returns 1 if trainer is for a tradeskill.
 * OpenTrainer
 * SelectTrainerService
 * SetTrainerServiceTypeFilter( filter, state ) - Sets the status of a skill filter in the trainer window.

Pet Battles
The Pet Battle System was added in Patch 5.0.4. See also Pet Journal functions.
 * C_PetBattles.AcceptPVPDuel
 * C_PetBattles.AcceptQueuedPVPMatch
 * C_PetBattles.CanAcceptQueuedPVPMatch
 * C_PetBattles.CanActivePetSwapOut
 * C_PetBattles.CanPetSwapIn( petIndex )
 * C_PetBattles.CancelPVPDuel
 * C_PetBattles.ChangePet( petIndex )
 * C_PetBattles.DeclineQueuedPVPMatch
 * C_PetBattles.ForfeitGame
 * C_PetBattles.GetAbilityEffectInfo( abilityID, turnIndex, effectIndex, effectName )
 * C_PetBattles.GetAbilityInfoByID( abilityID )
 * C_PetBattles.GetAbilityInfo( petOwner, petIndex, abilityIndex )
 * C_PetBattles.GetAbilityProcTurnIndex( abilityID, procType )
 * C_PetBattles.GetAbilityStateModification( abilityID, stateID )
 * C_PetBattles.GetAbilityState( petOwner, petIndex, actionIndex )
 * C_PetBattles.GetActivePet( petOwner )
 * C_PetBattles.GetAllEffectNames
 * C_PetBattles.GetAllStates
 * C_PetBattles.GetAttackModifier( petType, enemyPetType )
 * C_PetBattles.GetAuraInfo( petOwner, petIndex, auraIndex )
 * C_PetBattles.GetBattleState
 * C_PetBattles.GetBreedQuality( petOwner, petIndex )
 * C_PetBattles.GetDisplayID( petOwner, petIndex )
 * C_PetBattles.GetForfeitPenalty
 * C_PetBattles.GetHealth( petOwner, petIndex )
 * C_PetBattles.GetIcon( petOwner, petIndex )
 * C_PetBattles.GetLevel( petOwner, petIndex )
 * C_PetBattles.GetMaxHealth( petOwner, petIndex )
 * C_PetBattles.GetName( petOwner, petIndex )
 * C_PetBattles.GetNumAuras( petOwner, petIndex )
 * C_PetBattles.GetNumPets( petOwner )
 * C_PetBattles.GetPVPMatchmakingInfo
 * C_PetBattles.GetPetSpeciesID( petOwner, petIndex )
 * C_PetBattles.GetPetType( petOwner, petIndex )
 * C_PetBattles.GetPlayerTrapAbility
 * C_PetBattles.GetPower( petOwner, petIndex )
 * C_PetBattles.GetSelectedAction
 * C_PetBattles.GetSpeed( petOwner, petIndex )
 * C_PetBattles.GetStateValue( petOwner, petIndex, stateID )
 * C_PetBattles.GetTurnTimeInfo
 * C_PetBattles.GetXP( petOwner, petIndex )
 * C_PetBattles.IsInBattle
 * C_PetBattles.IsPlayerNPC( petOwner )
 * C_PetBattles.IsSkipAvailable
 * C_PetBattles.IsTrapAvailable
 * C_PetBattles.IsWaitingOnOpponent
 * C_PetBattles.IsWildBattle
 * C_PetBattles.SetPendingReportBattlePetTarget( petIndex )
 * C_PetBattles.SetPendingReportTargetFromUnit( unit )
 * C_PetBattles.ShouldShowPetSelect
 * HW C_PetBattles.SkipTurn
 * C_PetBattles.StartPVPDuel
 * C_PetBattles.StartPVPMatchmaking
 * C_PetBattles.StopPVPMatchmaking
 * HW C_PetBattles.UseAbility( actionIndex )
 * HW C_PetBattles.UseTrap
 * CanTrackBattlePets - Returns whether the player can track battle pets.
 * IsTrackingBattlePets - Returns whether the player is currently tracking battle pets.
 * UnitBattlePetLevel
 * UnitBattlePetSpeciesID
 * UnitBattlePetType
 * UnitIsBattlePet( unit )
 * UnitIsBattlePetCompanion( unit )
 * UnitIsOtherPlayersBattlePet( unit )
 * UnitIsWildBattlePet( unit )

Players

 * C_PlayerInfo.GetClass( playerLocation ) : className, classFilename, classID - Returns the class of a player.
 * C_PlayerInfo.GetName( playerLocation ) : name - Returns the name of a player.
 * C_PlayerInfo.GetRace( playerLocation ) : raceID - Returns the race of a player.
 * C_PlayerInfo.GetSex( playerLocation ) : sex - Returns the sex of a player.
 * C_PlayerInfo.GUIDIsPlayer( guid ) : isPlayer - Returns true if the guid belongs to a player.
 * C_PlayerInfo.IsConnected( [playerLocation] ) : isConnected - Returns true if a player is connected.
 * C_PlayerInfo.UnitIsSameServer( playerLocation ) : unitIsSameServer - Returns true if another player is from your own or connected realm.
 * Ambiguate( fullName, context ) - Returns a version of a character-realm string suitable for use in a given context.
 * GetAutoCompleteResults( text, include, exclude, maxResults [, cursorPosition] ) - Returns possible player names matching a given prefix string and specified requirements.
 * GetPlayerInfoByGUID( guid ) - Returns race, class, sex about the guid (client must have seen the guid)
 * IsRecognizedName( text, includeBitField, excludeBitField ) - Returns true if a given character name is recognized by the client.

Inspection

 * CanInspect( unit [, showError] ) - Returns whether you can inspect the specified unit.
 * CheckInteractDistance( unit, interaction ) - Returns whether you're in range to perform various interactions with the specified unit.
 * ClearInspectPlayer - Reset inspect data once finished with it.
 * GetInspectArenaData( bracketIndex )
 * GetInspectGuildInfo( unit )
 * GetInspectHonorData - Returns honor information about the inspected player.
 * GetInspectRatedBGData
 * GetInspectSpecialization( unit ) - Returns a number representing the current active specialization of a given unit.
 * GetInspectTalent
 * NotifyInspect( unit ) - Requests information about a unit's inventory and talents from the server.
 * UI InspectUnit( unit ) - Instructs FrameXML to inspect a particular unit (query server; show UI).

Trading
Relates to Trading.
 * HW AcceptTrade - A pending trade will be accepted.
 * AddTradeMoney - Adds the money dropped into the player's trade frame.
 * BeginTrade
 * CancelTrade - Declines the offer to trade with the other player.
 * CancelTradeAccept - Cancels the trade attempt which required an accept.
 * ClickTargetTradeButton( index )
 * ClickTradeButton( index ) - Equivalent of a mouseclick on the trade window buttons [1-7].
 * CloseTrade - Closes the trade.
 * GetPlayerTradeMoney - Returns the amount of money the player has in the trade window.
 * GetTargetTradeMoney - Returns the amount of money in the trade frame of the target player.
 * GetTradePlayerItemInfo( id ) - Returns information about a trade item.
 * GetTradePlayerItemLink( id ) - Returns an itemLink for the given item in your side of the trade window (if open)
 * GetTradeTargetItemInfo( id ) - Returns information about a trade item.
 * GetTradeTargetItemLink( id ) - Returns an itemLink for the given item in the other player's side of the trade window (if open)
 * InitiateTrade( UnitId ) - Asks the specified unit to trade.
 * SetTradeMoney( copper ) - Sets the amount of money offered as part of the player's trade offer.

Summoning

 * C_IncomingSummon.HasIncomingSummon( unit ) : summon - Returns whether a group member has an incoming summon.
 * C_IncomingSummon.IncomingSummonStatus( unit ) : status - Returns the status of an group member's incoming summon.
 * C_SummonInfo.CancelSummon - Rejects a summon request.
 * C_SummonInfo.ConfirmSummon - Accepts a summon request.
 * C_SummonInfo.GetSummonConfirmAreaName : areaName - Returns the name of the area you're being summoned to.
 * C_SummonInfo.GetSummonConfirmSummoner : summoner - Returns the name of the player summoning you.
 * C_SummonInfo.GetSummonConfirmTimeLeft : timeLeft - Returns the amount of time left before the pending summon expires.
 * C_SummonInfo.GetSummonReason : summonReason
 * C_SummonInfo.IsSummonSkippingStartExperience : isSummonSkippingStartExperience
 * PlayerCanTeleport

Death

 * C_DeathInfo.GetCorpseMapPosition( uiMapID ) : position - Returns the location of the player's corpse on the map.
 * C_DeathInfo.GetDeathReleasePosition( uiMapID ) : position - Returns the death release location.
 * C_DeathInfo.GetGraveyardsForMap( uiMapID ) : graveyards - Returns graveyard info and location for a map.
 * C_DeathInfo.GetSelfResurrectOptions : options - Returns self resurrect options for your character, including from soulstones.
 * C_DeathInfo.UseSelfResurrectOption( optionType, id ) - Uses a soulstone or similar means of self resurrection.
 * AcceptResurrect - The player accepts the request from another player to resurrect him/herself.
 * AcceptXPLoss - Accept the durability loss to be reborn by a spirit healer. (The name is a remnant from when sprit res was an XP loss instead.)
 * CannotBeResurrected
 * DeathRecap_GetEvents
 * DeathRecap_HasEvents
 * DeclineResurrect - Decline the request from another player to resurrect him/herself.
 * GetCemeteryPreference
 * GetCorpseRecoveryDelay - Time left before a player can accept a resurrection.
 * GetDeathRecapLink( recapID )
 * GetReleaseTimeRemaining - Returns the amount of time left before your ghost is pulled from your body.
 * GetResSicknessDuration
 * HasNoReleaseAura
 * IsCemeterySelectionAvailable
 * IsEncounterLimitingResurrections
 * IsEncounterSuppressingRelease
 * NotWhileDeadError - Generates an error message saying you cannot do that while dead.
 * PortGraveyard
 * RepopMe - The "Release Spirit" button. Sends you to the graveyard when dead.
 * ResurrectGetOfferer - Returns the name of the person offering to resurrect you.
 * ResurrectHasSickness - Appears to be used when accepting a resurrection will give you resurrection sickessness.
 * ResurrectHasTimer - Does the player have to wait before accepting a resurrection.
 * RetrieveCorpse - Resurrects when near corpse. e.g., The "Accept" button one sees after running back to your body.
 * SetCemeteryPreference( cemeteryID )
 * TimeoutResurrect

Professions
Relates to Professions.
 * C_TradeSkillUI.AnyRecipeCategoriesFiltered
 * C_TradeSkillUI.AreAnyInventorySlotsFiltered
 * C_TradeSkillUI.CanObliterateCursorItem
 * C_TradeSkillUI.CanTradeSkillListLink
 * C_TradeSkillUI.ClearInventorySlotFilter
 * C_TradeSkillUI.ClearPendingObliterateItem
 * C_TradeSkillUI.ClearRecipeCategoryFilter
 * C_TradeSkillUI.ClearRecipeSourceTypeFilter
 * C_TradeSkillUI.CloseObliterumForge
 * C_TradeSkillUI.CloseTradeSkill - Closes an open trade skill window.
 * C_TradeSkillUI.CraftRecipe( recipeSpellID [, numCasts, optionalReagents, recipeLevel] ) - Performs the tradeskill a specified number of times.
 * C_TradeSkillUI.DropPendingObliterateItemFromCursor
 * C_TradeSkillUI.GetAllFilterableInventorySlots
 * C_TradeSkillUI.GetAllProfessionTradeSkillLines : skillLineID
 * C_TradeSkillUI.GetAllRecipeIDs - Returns a table containing all the recipe IDs for the current trade skill.
 * C_TradeSkillUI.GetCategories
 * C_TradeSkillUI.GetCategoryInfo( categoryID [, returnTable] )
 * C_TradeSkillUI.GetFilterableInventorySlots
 * C_TradeSkillUI.GetFilteredRecipeIDs
 * C_TradeSkillUI.GetObliterateSpellID
 * C_TradeSkillUI.GetOnlyShowLearnedRecipes
 * C_TradeSkillUI.GetOnlyShowMakeableRecipes
 * C_TradeSkillUI.GetOnlyShowSkillUpRecipes
 * C_TradeSkillUI.GetOnlyShowUnlearnedRecipes
 * C_TradeSkillUI.GetOptionalReagentBonusText( recipeSpellID, optionalReagentIndex, optionalReagents ) : bonusText
 * C_TradeSkillUI.GetOptionalReagentInfo( recipeSpellID ) : slots
 * C_TradeSkillUI.GetPendingObliterateItemID
 * C_TradeSkillUI.GetPendingObliterateItemLink
 * C_TradeSkillUI.GetRecipeCooldown( recipeID ) - Returns the number of seconds left for a skill to cooldown.
 * C_TradeSkillUI.GetRecipeDescription( recipeID ) - Returns the description text of the indicated trade skill.
 * C_TradeSkillUI.GetRecipeInfo( recipeSpellID [, recipeLevel] ) : recipeInfo - Returns information for a recipe.
 * C_TradeSkillUI.GetRecipeItemLevelFilter
 * C_TradeSkillUI.GetRecipeItemLink( recipeID ) - Returns the itemLink for a trade skill item.
 * C_TradeSkillUI.GetRecipeItemNameFilter
 * C_TradeSkillUI.GetRecipeLink( recipeID )
 * C_TradeSkillUI.GetRecipeNumItemsProduced( recipeID ) - Gets the number of items made in a single use of a skill.
 * C_TradeSkillUI.GetRecipeNumReagents( recipeSpellID [, recipeLevel] ) : numReagents - Returns the number of distinct reagents needed for the specified recipe.
 * C_TradeSkillUI.GetRecipeReagentInfo( recipeSpellID, reagentIndex [, recipeLevel] ) : reagentName, reagentFileID, reagentCount, playerReagentCount - Returns the information for a reagent needed by a recipe.
 * C_TradeSkillUI.GetRecipeReagentItemLink( recipeID, reagentIndex ) - Returns a link for a reagent needed by a recipe.
 * C_TradeSkillUI.GetRecipeRepeatCount : recastTimes - Returns the number of times the current item is being crafted.
 * C_TradeSkillUI.GetRecipeSourceText( recipeID )
 * C_TradeSkillUI.GetRecipeTools( recipeID ) - Returns information about the tools needed for a tradeskill.
 * C_TradeSkillUI.GetSubCategories( categoryID )
 * C_TradeSkillUI.GetTradeSkillDisplayName( skillLineID ) : professionDisplayName
 * C_TradeSkillUI.GetTradeSkillLine : skillLineID, skillLineDisplayName, skillLineRank, skillLineMaxRank, ... - Returns information about the selected skill line.
 * C_TradeSkillUI.GetTradeSkillLineForRecipe( recipeID )
 * C_TradeSkillUI.GetTradeSkillLineInfoByID( skillLineID ) : skillLineDisplayName, skillLineRank, skillLineMaxRank, skillLineModifier, ...
 * C_TradeSkillUI.GetTradeSkillListLink - Returns the TradeSkillLink for a trade skill.
 * C_TradeSkillUI.GetTradeSkillTexture( tradeSkillID )
 * C_TradeSkillUI.IsAnyRecipeFromSource( sourceType )
 * C_TradeSkillUI.IsDataSourceChanging
 * C_TradeSkillUI.IsEmptySkillLineCategory( categoryID ) : effectivelyKnown
 * C_TradeSkillUI.IsInventorySlotFiltered( index )
 * C_TradeSkillUI.IsNPCCrafting - Checks if the Trade Skill UI is open for crafting by an NPC.
 * C_TradeSkillUI.IsRecipeCategoryFiltered( categoryID [, subCategoryID] )
 * C_TradeSkillUI.IsRecipeFavorite( recipeID )
 * C_TradeSkillUI.IsRecipeRepeating
 * C_TradeSkillUI.IsRecipeSearchInProgress
 * C_TradeSkillUI.IsRecipeSourceTypeFiltered( sourceType )
 * C_TradeSkillUI.IsTradeSkillGuild - Checks if the Trade Skill UI is open for a profession in the guild.
 * C_TradeSkillUI.IsTradeSkillGuildMember
 * C_TradeSkillUI.IsTradeSkillLinked - Checks if the Trade Skill UI is open for a profession linked by another character.
 * C_TradeSkillUI.IsTradeSkillReady
 * C_TradeSkillUI.ObliterateItem
 * C_TradeSkillUI.OpenTradeSkill( tradeSkillID )
 * C_TradeSkillUI.SetInventorySlotFilter( index [, enable, exclusive] )
 * C_TradeSkillUI.SetOnlyShowLearnedRecipes
 * C_TradeSkillUI.SetOnlyShowMakeableRecipes( onlyMakable ) - Controls whether only recipes you have the reagents to craft are shown.
 * C_TradeSkillUI.SetOnlyShowSkillUpRecipes
 * C_TradeSkillUI.SetOnlyShowUnlearnedRecipes
 * C_TradeSkillUI.SetRecipeCategoryFilter( categoryID [, subCategoryID] )
 * C_TradeSkillUI.SetRecipeFavorite( recipeID, favorite )
 * C_TradeSkillUI.SetRecipeItemLevelFilter( minLevel, maxLevel )
 * C_TradeSkillUI.SetRecipeItemNameFilter
 * C_TradeSkillUI.SetRecipeRepeatCount( recipeSpellID [, numCasts, optionalReagents] )
 * C_TradeSkillUI.SetRecipeSourceTypeFilter( sourceType, filtered )
 * C_TradeSkillUI.StopRecipeRepeat - Stops creating additional queued items.
 * AbandonSkill( index ) - The player abandons a skill.
 * GetProfessionInfo( index ) - Gets details on a profession from its index including name, icon, and skill level.
 * GetProfessions - Gives all of the current character's professions.
 * GetSpellRank( recipeID ) - Returns recipe rank.

Archaeology
Archaeology was added in Patch 4.0.1
 * C_ResearchInfo.GetDigSitesForMap( uiMapID ) : digSites - Returns the dig sites on a map.
 * ArchaeologyMapUpdateAll - Updates the digsites and returns the number of digsites in the current map-zone.
 * ArchaeologyGetIconInfo( index )
 * ArcheologyGetVisibleBlobID( index ) - Returns BlobID of a digsite in the current map-zone.
 * CanItemBeSocketedToArtifact( itemID ) - Returns 1 if item could be added to the selected artifact.
 * CanScanResearchSite - Returns whether the player is currently on a digsite.
 * CanSolveArtifact - Returns true if artifact can be solved.
 * CloseResearch
 * GetActiveArtifactByRace( raceIndex ) - Returns the information for the active artifact of raceIndex.
 * GetArchaeologyInfo - Returns localized name of Archaeology skill.
 * GetArchaeologyRaceInfo( raceIndex ) - Returns the information for a specific race used in Archaeology.
 * GetArchaeologyRaceInfoByID( researchBranchID ) - Returns Racename and texture.
 * GetArtifactInfoByRace( raceIndex, artifactIndex ) - Returns the information for a specific race's artifact.
 * GetNumArchaeologyRaces - Returns the amount of Archaeology races in the game.
 * GetNumArtifactsByRace( raceIndex ) - Returns the amount of artifacts the player has acquired from the provided race.
 * GetSelectedArtifactInfo - Returns the information for the selected race.
 * GetArtifactProgress - Returns fragment-information about the selected artifact.
 * IsArtifactCompletionHistoryAvailable
 * ItemAddedToArtifact( keystoneindex ) - Returns if there is a keystone in the artifact.
 * SetSelectedArtifact( raceIndex ) - Sets the selected artifact to raceIndex.
 * RemoveItemFromArtifact - Remove a keystone from the selected artifact.
 * RequestArtifactCompletionHistory
 * SocketItemToArtifact - Add a keystone to the selected artifact.
 * SolveArtifact - Solve the selected artifact.

Glyphs
Glyphs were added in Patch 3.0.2. After the Glyph interface was removed in Patch 7.0.3 they were streamlined into the Spellbook.
 * AttachGlyphToSpell( spellID )
 * GetCurrentGlyphNameForSpell( spellID )
 * GetPendingGlyphName
 * HasAttachedGlyph( spellID )
 * HasPendingGlyphCast
 * IsCastingGlyph
 * IsPendingGlyphRemoval
 * IsSpellValidForPendingGlyph( spellID )

Item Socketing
The following were added along with socketed items and gems in Patch 2.0. ID refers to a 1-based index of the sockets in the item being considered for socketing.
 * C_ItemSocketInfo.CompleteSocketing - Completes socketing an item, binding it to the player.
 * AcceptSockets - Sockets tentative gems into the sockets, replacing existing gems if necessary.
 * CloseSocketInfo - Stops considering the item for socketing, without applying changes.
 * GetExistingSocketInfo( id ) - Returns information about the existing gem in the socket.
 * GetExistingSocketLink( id ) - Returns an item link for the existing gem in the socket.
 * GetNewSocketInfo( id ) - Returns information about the new (tentative) gem in the socket.
 * GetNewSocketLink( id ) - Returns an item link for the new (tentative) gem in the socket.
 * GetNumSockets - Returns the number of sockets in the item currently being socketed.
 * GetSocketItemBoundTradeable - Returns whether the item currently being socketed is temporarily tradable (BoP boss loot).
 * GetSocketItemInfo - Returns information about the item currently being socketed.
 * GetSocketItemRefundable - Returns whether the item currently being socketed is refundable.
 * GetSocketTypes( id ) - Returns the type (color) of a socket in the item.
 * HasBoundGemProposed
 * SocketContainerItem( bag, slot ) - Consider an item in a container slot for socketing.
 * SocketInventoryItem( slot ) - Considers the item in the inventory slot for socketing.

PvP
Relates to Player vs. Player.
 * C_PvP.CanDisplayDeaths : canDisplay
 * C_PvP.CanDisplayHonorableKills : canDisplay
 * C_PvP.CanPlayerUseRatedPVPUI : canUse, failureReason
 * C_PvP.DoesMatchOutcomeAffectRating : doesAffect
 * C_PvP.GetActiveMatchBracket : bracket
 * C_PvP.GetActiveMatchDuration : seconds
 * C_PvP.GetActiveMatchState : state
 * C_PvP.GetActiveMatchWinner : winner
 * C_PvP.GetGlobalPvpScalingInfoForSpecID( specializationID ) : pvpScalingData
 * C_PvP.GetHonorRewardInfo( honorLevel ) : info
 * C_PvP.GetMatchPVPStatColumn( pvpStatID ) : info
 * C_PvP.GetMatchPVPStatColumns : columns
 * C_PvP.GetNextHonorLevelForReward( honorLevel ) : nextHonorLevelWithReward
 * C_PvP.GetOutdoorPvPWaitTime( uiMapID ) : pvpWaitTime - Returns the number of seconds until the next battle in a given world PvP zone.
 * C_PvP.GetPostMatchCurrencyRewards : rewards
 * C_PvP.GetPostMatchItemRewards : rewards
 * C_PvP.GetPVPActiveMatchPersonalRatedInfo : info
 * C_PvP.GetPvpTierID( tierEnum, bracketEnum ) : id
 * C_PvP.GetPvpTierInfo( tierID ) : pvpTierInfo
 * C_PvP.GetRewardItemLevelsByTierEnum( pvpTierEnum ) : activityItemLevel, weeklyItemLevel
 * C_PvP.GetScoreInfo( offsetIndex ) : info
 * C_PvP.GetScoreInfoByPlayerGuid( guid ) : info
 * C_PvP.GetSeasonBestInfo : tierID, nextTierID
 * C_PvP.GetSkirmishInfo( pvpBracket ) : battlemasterListInfo
 * C_PvP.GetSpecialEventDetails : info
 * C_PvP.GetSpecialEventInfo : info
 * C_PvP.GetTeamInfo( factionIndex ) : info
 * C_PvP.GetWeeklyChestInfo : rewardAchieved, lastWeekRewardAchieved, lastWeekRewardClaimed, ...
 * C_PvP.IsActiveMatchRegistered : registered
 * C_PvP.IsMatchFactional : isFactional
 * C_PvP.IsPVPMap : isPVPMap
 * C_PvP.IsRatedMap : isRatedMap
 * C_PvP.RequestCrowdControlSpell( playerToken )
 * AcceptDuel - The player accepts the challenge to duel.
 * CancelDuel - Refuse the invitation to fight a duel.
 * ClearBattlemaster
 * ForfeitDuel
 * GetPVPDesired - Returns whether the player has permanently turned on their PvP flag.
 * GetPVPLifetimeStats - Get your PvP/Honor statistics for your lifetime.
 * GetPVPRoles
 * GetPVPSessionStats - Get your PvP/Honor statistics for this session.
 * GetPVPTimer - Returns the amount of time until your PvP flag fades.
 * GetPVPYesterdayStats - Get your PvP/Honor statistics for yesterday.
 * GetRewardPackArtifactPower( rewardPackID )
 * GetRewardPackCurrencies( rewardPackID )
 * GetRewardPackItems( rewardPackID )
 * GetRewardPackMoney( rewardPackID )
 * GetRewardPackTitleName( titleID )
 * GetRewardPackTitle( rewardPackID )
 * IsCompetitiveModeEnabled
 * IsInActiveWorldPVP
 * IsPartyWorldPVP
 * IsSubZonePVPPOI
 * PlayerIsPVPInactive( unit )
 * RequestPVPOptionsEnabled
 * RequestPVPRewards
 * SetPVP( enable ) - Sets the players PVP mode (1 to enable, nil to toggle off eventually).
 * SetPVPRoles
 * SortBGList
 * StartDuel( name ) - Challenge someone to a duel (by name)
 * TogglePVP - Toggles PVP status.
 * UnitHonor( unit ) - Returns the amount of honor the unit has for the current rank.
 * UnitHonorLevel( unit ) - Returns the current honor rank for the unit.
 * UnitHonorMax( unit ) - Returns the maximum amount of honor for the current rank.
 * UnitIsMercenary
 * UnitIsPVPFreeForAll( unit ) - Returns true if the specified unit is flagged for free-for-all PVP, false otherwise.
 * UnitIsPVPSanctuary( unit ) - Returns whether the unit is in a PvP sanctuary, and therefore cannot be attacked by other players.
 * UnitIsPVP( unit ) - Returns true if the specified unit is flagged for PVP, false otherwise.
 * UnitPVPName( unit ) - Returns unit's name with PvP rank prefix (e.g., "Corporal Allianceguy").
 * UnitPvpClassification( unit ) : classification - Returns whether the unit is a flag/orb carrier or cart runner.

Arena

 * C_PvP.GetArenaCrowdControlInfo( playerToken ) : spellID, startTime, duration
 * C_PvP.GetArenaRewards( teamSize ) : honor, experience, itemRewards, currencyRewards
 * C_PvP.GetArenaSkirmishRewards : honor, experience, itemRewards, currencyRewards
 * C_PvP.HasArenaSkirmishWinToday : hasArenaSkirmishWinToday
 * C_PvP.IsArena : isArena
 * C_PvP.IsMatchConsideredArena : asArena
 * C_PvP.IsRatedArena : isRatedArena
 * CanSurrenderArena
 * GetArenaOpponentSpec
 * GetBattlefieldArenaFaction
 * GetBattlefieldTeamInfo( index ) - Gets info about a registered Arena Team at the end of an arena match.
 * GetCurrentArenaSeason - Gets the current Arena season.
 * GetMaxArenaCurrency
 * GetNumArenaOpponents
 * GetNumArenaOpponentSpecs
 * GetPreviousArenaSeason - Gets the previous Arena season.
 * IsActiveBattlefieldArena - Returns true if in an Arena Match, also Returns true for the second argument if it's a registered match.
 * IsArenaSkirmish
 * IsArenaTeamCaptain( teamIndex ) - Returns a value based on whether the player is the arena team captain.
 * IsInArenaTeam - Returns true if you are a member of an arena team.
 * JoinArena
 * JoinSkirmish( arenaID, joinAsGroup ) - Queue for a arena either solo or as a group.
 * RequeueSkirmish - Requeues for an arena skirmish.
 * SurrenderArena

Battlegrounds

 * C_PvP.GetLevelUpBattlegrounds( level ) : battlefields
 * C_PvP.GetRandomBGInfo : info
 * C_PvP.GetRandomBGRewards : honor, experience, itemRewards, currencyRewards
 * C_PvP.GetRandomEpicBGInfo : info
 * C_PvP.GetRandomEpicBGRewards : honor, experience, itemRewards, currencyRewards
 * C_PvP.GetRatedBGRewards : honor, experience, itemRewards, currencyRewards
 * C_PvP.IsBattleground : isBattleground
 * C_PvP.IsBattlegroundEnlistmentBonusActive : battlegroundActive, brawlActive
 * C_PvP.IsRatedBattleground : isRatedBattleground
 * AcceptAreaSpiritHeal - Accept a spirit heal.
 * AcceptBattlefieldPort( index [, acceptFlag] ) - Accept or reject an offered battlefield port.
 * BattlefieldSetPendingReportTarget( index )
 * CanJoinBattlefieldAsGroup - Returns nil if the player can not do a group join for a battlefield.
 * CancelAreaSpiritHeal - Cancel a spirit heal.
 * CheckSpiritHealerDist - Returns true if you are in range with spirit healer while dead.
 * GetAreaSpiritHealerTime - Returns the time left until the next resurrection by the Sprit Guide.
 * GetBattlefieldEstimatedWaitTime( index ) - Get the estimated wait for entry into the battlefield.
 * GetBattlefieldFlagPosition( index ) - Get the map position and texture of the flag.
 * GetBattlefieldInstanceExpiration - Get shutdown timer for the battlefield instance.
 * GetBattlefieldInstanceRunTime - In milliseconds, the time since battleground started (seems to be queried from server because it is not in sync with time).
 * GetBattlefieldMapIconScale - Scale of the landmark icons on the battlefield minimap.
 * GetBattlefieldPortExpiration( index ) - Get the remaining seconds before the battlefield port expires.
 * GetBattlefieldScore( index ) - Get score information about a player.
 * GetBattlefieldStatData( playerIndex, slotIndex ) - Get information for a player from a column thats specific to a battleground (like Warsong Gulch flag captures).
 * GetBattlefieldStatus( index ) - Get the battlefield's current status.
 * GetBattlefieldTimeWaited( index ) - Get time waited in queue in milliseconds.
 * GetBattlefieldWinner - Get the battlefields winner.
 * GetBattlegroundInfo( index ) - Returns information about a battleground type.
 * GetBattlegroundPoints
 * GetMaxBattlefieldID - Returns the max number of battlefields you can queue for.
 * GetNumBattlefieldFlagPositions - Get the number of flag positions available from GetBattlefieldFlagPosition.
 * GetNumBattlefieldScores - Returns the number of scores(players) listed in the battlefield scoreboard.
 * GetNumBattlegroundTypes
 * GetPersonalRatedInfo( bracketIndex )
 * GetRatedBattleGroundInfo
 * IsPVPTimerRunning
 * PROTECTED JoinBattlefield( index [, joinAs] ) - Queue for a battleground either solo or as a group.
 * PROTECTED JoinRatedBattlefield
 * LeaveBattlefield - Leave the current battlefield.
 * ReportPlayerIsPVPAFK( unit ) - Reports the specified player as AFK in a battleground.
 * RequestBattlefieldScoreData - Request new data for GetBattlefieldScore.
 * RequestRandomBattlegroundInstanceInfo
 * RequestRatedInfo
 * SetBattlefieldScoreFaction( [faction] ) - Set the faction to show on the battlefield scoreboard.
 * SortBattlefieldScoreData( type )
 * UnitInBattleground( unit ) - Returns the unit index if the unit is in your battleground, nil otherwise.

World Battlefields
The following functions are used for population-limited world PvP zones, like Lake Wintergrasp or Tol Barad.
 * C_PvP.IsActiveBattlefield : isActiveBattlefield
 * BattlefieldMgrEntryInviteResponse( queueId, accept )
 * BattlefieldMgrExitRequest( queueId )
 * BattlefieldMgrQueueInviteResponse( queueId, accept )
 * BattlefieldMgrQueueRequest
 * CanHearthAndResurrectFromArea - Returns whether you can currently be resurrected and teleported out of the world PvP zone.
 * HearthAndResurrectFromArea - Resurrects the player, and ports them out of the world PvP zone.
 * GetNumWorldPVPAreas - Returns the number of world PvP zones available.
 * GetWorldPVPAreaInfo( index ) - Returns information about a world PvP zone.
 * GetWorldPVPQueueStatus( queueId )

Brawl

 * C_PvP.GetActiveBrawlInfo : brawlInfo
 * C_PvP.GetAvailableBrawlInfo : brawlInfo
 * C_PvP.GetBrawlRewards( brawlType ) : honor, experience, itemRewards, currencyRewards, hasWon
 * C_PvP.IsInBrawl : isInBrawl
 * C_PvP.JoinBrawl

War Games
War Games were added in Patch 4.0.1
 * CanInitiateWarGame
 * CollapseWarGameHeader( index )
 * ExpandWarGameHeader( index )
 * GetNumWarGameTypes
 * GetSelectedWarGameType
 * GetWarGameQueueStatus
 * GetWarGameTypeInfo( index )
 * IsWargame
 * SetSelectedWarGameType( index )
 * StartSpectatorWarGame( target1, target2, size, area, isTournamentMode )
 * StartWarGameByName( msg ) - Starts a War Game. Parameters are  but passed as a whitespace delimited string.
 * StartWarGame( target, name [, isTournament] )
 * UpdateWarGamesList
 * WarGameRespond( accept )

War Mode
War Mode was added in Patch 8.0.1
 * C_PvP.CanToggleWarMode( toggle ) : canTogglePvP
 * C_PvP.CanToggleWarModeInArea : canTogglePvPInArea
 * C_PvP.GetWarModeRewardBonus : rewardBonus
 * C_PvP.GetWarModeRewardBonusDefault : defaultBonus
 * C_PvP.IsWarModeActive : warModeActive
 * C_PvP.IsWarModeDesired : warModeDesired
 * C_PvP.IsWarModeFeatureEnabled : warModeEnabled
 * C_PvP.SetWarModeDesired( warModeDesired )
 * C_PvP.ToggleWarMode

Quests
Relates to Quests.
 * C_QuestLine.GetAvailableQuestLines( uiMapID ) : questLines
 * C_QuestLine.GetQuestLineInfo( questID, uiMapID ) : questLineInfo
 * C_QuestLine.GetQuestLineQuests( questLineID ) : questIDs
 * C_QuestLine.IsComplete( questLineID ) : isComplete
 * C_QuestLine.RequestQuestLinesForMap( uiMapID )
 * AcknowledgeAutoAcceptQuest
 * AddAutoQuestPopUp( QuestID, Type ) - Adds quest to an internal list of quests for offer/completion popup notification.
 * ClearAutoAcceptQuestSound
 * CollapseQuestHeader - Collapses a quest header.
 * ConfirmAcceptQuest - Accepts an offered quest that has been started by a party member; usually escort quests. (Might only be available after QUEST_ACCEPT_CONFIRM event.)
 * ExpandQuestHeader - Expands a quest header.
 * GetAutoQuestPopUp( Index ) - Retrieves quest info by index that added using AddAutoQuestPopUp.
 * GetCriteriaSpell
 * GetDailyQuestsCompleted - Returns the current number of daily quests completed today.
 * GetMaxRewardCurrencies
 * GetNumAutoQuestPopUps - Retrieves number of quests added via AddAutoQuestPopUp.
 * GetNumQuestCurrencies
 * GetNumQuestItemDrops
 * GetNumQuestItems - Returns the number of items necessary to complete a particular quest.
 * GetNumQuestLeaderBoards( [questIndex] ) - Returns the number of available quest objectives.
 * GetNumQuestPOIWorldEffects
 * GetQuestBackgroundMaterial - Returns the material string associated with the particular quest.
 * GetQuestCurrencyID( type, index )
 * GetQuestCurrencyInfo( type, index )
 * GetQuestExpansion( questID )
 * GetQuestFactionGroup( questID )
 * GetQuestLink( index ) - Returns a QuestLink for a quest.
 * GetQuestObjectiveInfo( questID, index, displayComplete )
 * GetQuestPOIBlobCount( questID )
 * GetQuestPOILeaderBoard( index )
 * GetQuestPOIs
 * GetQuestProgressBarPercent( questID )
 * GetQuestResetTime - Returns number of seconds until quest reset.
 * GetQuestReward( rewardIndex ) - Completes the quest with the specified quest reward.
 * GetQuestSortIndex( questIndex )
 * GetQuestSpellLink( rewardSpellIndex )
 * GetQuestUiMapID( questID )
 * GetSuggestedGroupSize
 * HaveQuestData( questID )
 * HaveQuestRewardData( questID )
 * IsBreadcrumbQuest( questID )
 * IsCurrentQuestFailed
 * IsQuestCompletable - Returns true if a quest is possible to complete.
 * IsQuestIDValidSpellTarget( questID )
 * IsQuestItemHidden( index )
 * IsQuestSequenced( questID )
 * IsStoryQuest( questID )
 * IsTrackingHiddenQuests
 * PlayAutoAcceptQuestSound
 * QuestChooseRewardError - Throws an error when the quest choose reward method doesn't work.
 * QuestFlagsPVP - Determine if the quest will flag you you for PvP when accepted.
 * QuestGetAutoAccept - Returns whether the last-offered quest was automatically accepted.
 * QuestGetAutoLaunched
 * QuestHasPOIInfo( questID )
 * QuestIsDaily - Returns whether the offered quest is a daily quest.
 * QuestIsFromAreaTrigger
 * QuestIsWeekly - Returns whether the offered quest is a weekly quest.
 * QuestMapUpdateAllQuests
 * QuestPOIGetIconInfo( questID )
 * QuestPOIGetSecondaryLocations( questID [, table] )
 * QuestPOIUpdateIcons
 * RemoveAutoQuestPopUp
 * ShowQuestComplete( index )
 * ShowQuestOffer( index )
 * SortQuests
 * SortQuestSortTypes
 * UnitQuestTrivialLevelRangeScaling( unit ) : levelRange
 * UI PVPGetConquestLevelInfo
 * UI QuestUtils_GetQuestName - Returns the name for a quest ID.

Quest Log

 * C_QuestLog.AbandonQuest - Abandon the specified quest.
 * C_QuestLog.AddQuestWatch( questID [, watchType] ) : wasWatched - Add a quest to the watch list.
 * C_QuestLog.AddWorldQuestWatch( questID [, watchType] ) : wasWatched - Adds a world quest to the watch list.
 * C_QuestLog.CanAbandonQuest( questID ) : canAbandon
 * C_QuestLog.GetAbandonQuest : questID - Returns the ID of the quest being abandoned.
 * C_QuestLog.GetAbandonQuestItems : itemIDs
 * C_QuestLog.GetActiveThreatMaps : uiMapIDs
 * C_QuestLog.GetAllCompletedQuestIDs : quests - Returns all completed quests for a character.
 * C_QuestLog.GetBountiesForMapID( uiMapID ) : bounties
 * C_QuestLog.GetBountySetInfoForMapID( uiMapID ) : displayLocation, lockQuestID, bountySetID
 * C_QuestLog.GetDistanceSqToQuest( questID ) : distanceSq, onContinent
 * C_QuestLog.GetInfo( questLogIndex ) : info - Returns information about a quest in the player's quest log.
 * C_QuestLog.GetLogIndexForQuestID( questID ) : questLogIndex - Returns the index of the specified questID in the quest log.
 * C_QuestLog.GetMapForQuestPOIs : uiMapID
 * C_QuestLog.GetMaxNumQuests : maxNumQuests - This is the maximum number of quests a player can be on, including hidden quests, world quests, emissaries etc
 * C_QuestLog.GetMaxNumQuestsCanAccept : maxNumQuestsCanAccept - This is the maximum number of standard quests a player can accept. These are quests that are normally visible in the quest log.
 * C_QuestLog.GetNumQuestLogEntries : numShownEntries, numQuests - Returns the number of entries in the quest log.
 * C_QuestLog.GetNumQuestObjectives( questID ) : leaderboardCount
 * C_QuestLog.GetNumQuestWatches : numQuestWatches - Returns the number of quest watches active.
 * C_QuestLog.GetNumWorldQuestWatches : numQuestWatches
 * C_QuestLog.GetQuestAdditionalHighlights( questID ) : uiMapID, worldQuests, worldQuestsElite, dungeons, treasures
 * C_QuestLog.GetQuestDetailsTheme( questID ) : theme
 * C_QuestLog.GetQuestDifficultyLevel( questID ) : level
 * C_QuestLog.GetQuestIDForLogIndex( questLogIndex ) : questID
 * C_QuestLog.GetQuestIDForQuestWatchIndex( questWatchIndex ) : questID
 * C_QuestLog.GetQuestIDForWorldQuestWatchIndex( questWatchIndex ) : questID
 * C_QuestLog.GetQuestObjectives( questID ) : objectives - Returns information about objective status for a quest.
 * C_QuestLog.GetQuestsOnMap( uiMapID ) : quests
 * C_QuestLog.GetQuestTagInfo( questID ) : info - Returns tag information about the specified quest.
 * C_QuestLog.GetQuestWatchType( questID ) : watchType
 * C_QuestLog.GetRequiredMoney( [questID] ) : requiredMoney - Returns amount of money required for quest completion from quest log.
 * C_QuestLog.GetSelectedQuest : questID - Returns a number associated with the QuestLogSelection index.
 * C_QuestLog.GetSuggestedGroupSize( questID ) : suggestedGroupSize - Returns suggested number of players for quest selected currently in log or 0 if there's no suggestion.
 * C_QuestLog.GetTimeAllowed( questID ) : totalTime, elapsedTime - Returns the time available to complete a quest.
 * C_QuestLog.GetTitleForLogIndex( questLogIndex ) : title
 * C_QuestLog.GetTitleForQuestID( questID ) : title - Returns the name for a Quest ID.
 * C_QuestLog.GetZoneStoryInfo( uiMapID ) : achievementID, storyMapID
 * C_QuestLog.HasActiveThreats : hasActiveThreats
 * C_QuestLog.IsAccountQuest( questID ) : isAccountQuest
 * C_QuestLog.IsComplete( questID ) : isComplete
 * C_QuestLog.IsFailed( questID ) : isFailed
 * C_QuestLog.IsLegendaryQuest( questID ) : isLegendaryQuest
 * C_QuestLog.IsOnMap( questID ) : onMap, hasLocalPOI
 * C_QuestLog.IsOnQuest( questID ) : isOnQuest
 * C_QuestLog.IsPushableQuest( questID ) : isPushable - Returns true if the currently loaded quest in the quest window can be shared.
 * C_QuestLog.IsQuestBounty( questID ) : isBounty
 * C_QuestLog.IsQuestCalling( questID ) : isCalling
 * C_QuestLog.IsQuestCriteriaForBounty( questID, bountyQuestID ) : isCriteriaForBounty
 * C_QuestLog.IsQuestFlaggedCompleted( questID ) : isCompleted - Returns if a quest has been completed.
 * C_QuestLog.IsQuestInvasion( questID ) : isInvasion
 * C_QuestLog.IsQuestTrivial( questID ) : isTrivial
 * C_QuestLog.IsRepeatableQuest( questID ) : isRepeatable
 * C_QuestLog.IsThreatQuest( questID ) : isThreat
 * C_QuestLog.IsUnitOnQuest( unit, questID ) : isOnQuest - Determine if the specified unit is on the given quest.
 * C_QuestLog.QuestCanHaveWarModeBonus( questID ) : hasBonus
 * C_QuestLog.QuestHasWarModeBonus( questID ) : hasBonus
 * C_QuestLog.ReadyForTurnIn( questID ) : readyForTurnIn
 * C_QuestLog.RemoveQuestWatch( questID ) : wasRemoved - Removes a quest watch.
 * C_QuestLog.RemoveWorldQuestWatch( questID ) : wasRemoved - Removes a world quest from the watch.
 * C_QuestLog.RequestLoadQuestByID( questID )
 * C_QuestLog.SetAbandonQuest - Called before AbandonQuest.
 * C_QuestLog.SetMapForQuestPOIs( uiMapID )
 * C_QuestLog.SetSelectedQuest( questID ) - Sets the selected quest, required for most GetQuest functions.
 * C_QuestLog.ShouldDisplayTimeRemaining( questID ) : displayTimeRemaining
 * C_QuestLog.ShouldShowQuestRewards( questID ) : shouldShow
 * C_QuestLog.SortQuestWatches - Sorts watched quests by proximity to the player character.
 * C_PlayerInfo.GetContentDifficultyQuestForPlayer( questID ) : difficulty
 * GetNumQuestLogChoices - Returns the number of options someone has when getting a quest item.
 * GetNumQuestLogRewardCurrencies
 * GetNumQuestLogRewardFactions
 * GetNumQuestLogRewards - Returns the count of the rewards for a particular quest. (7.0.3)
 * GetNumQuestLogRewardSpells - Returns the number of spell rewards for the current selected quest.
 * GetNumTreasurePickerItems
 * GetQuestLogChoiceInfoLootType( index )
 * GetQuestLogCompletionText
 * GetQuestLogCriteriaSpell
 * GetQuestLogItemDrop( index )
 * GetQuestLogItemLink( type, index ) - Returns item link for selected quest reward/choice/required item from quest log.
 * GetQuestLogLeaderBoard( ldrIndex [, questIndex] ) - Gets information about the objectives for a quest.
 * GetQuestLogPortraitGiver
 * GetQuestLogPortraitTurnIn
 * GetQuestLogQuestText - Returns the description and objectives required for the specified quest.
 * GetQuestLogQuestType
 * GetQuestLogRewardArtifactXP
 * GetQuestLogRewardCurrencyInfo( index [, questID] )
 * GetQuestLogRewardFactionInfo( questIndex )
 * GetQuestLogRewardHonor
 * GetQuestLogRewardInfo - Returns a pile of reward item info from the quest log.
 * GetQuestLogRewardMoney - Returns a number representing the amount of copper returned by a particular quest.
 * GetQuestLogRewardSkillPoints
 * GetQuestLogRewardSpell - Returns name and texture of spell awarded for quest completion from quest log.
 * GetQuestLogRewardTitle
 * GetQuestLogRewardXP
 * GetQuestLogSpecialItemCooldown( index )
 * GetQuestLogSpecialItemInfo( index )
 * GetQuestLogSpellLink( rewardSpellIndex )
 * GetQuestLogTimeLeft - Returns the seconds remaining on the current quest timer.
 * GetTreasurePickerItemInfo( index [, questID] )
 * IsQuestLogSpecialItemInRange( index [, target] )
 * ProcessQuestLogRewardFactions
 * QuestLogPushQuest - Initiates the sharing of the currently viewed quest in the quest log.
 * QuestLogRewardHasTreasurePicker
 * QuestLogShouldShowPortrait
 * UseQuestLogSpecialItem( index )

Gossip
Gossip refers to interaction with an NPC.
 * C_GossipInfo.CloseGossip - Dismiss the gossip window.
 * C_GossipInfo.ForceGossip : forceGossip - Returns whether the gossip text must be displayed.
 * C_GossipInfo.GetActiveQuests : info - Retrieves a list of quests which can be turned in on the NPC you are talking to.
 * C_GossipInfo.GetAvailableQuests : info - Retrieves a list of the available quests on the NPC you are talking to.
 * C_GossipInfo.GetCustomGossipDescriptionString : description
 * C_GossipInfo.GetNumActiveQuests : numQuests - Returns the number of active quests that you should eventually turn in to this NPC.
 * C_GossipInfo.GetNumAvailableQuests : numQuests - Returns the number of quests (that you are not already on) offered by this NPC.
 * C_GossipInfo.GetNumOptions : numOptions - Returns the number of conversation options available with this NPC.
 * C_GossipInfo.GetOptions : info - Retrieves a list of the available gossip items on the NPC you are talking to.
 * C_GossipInfo.GetPoiForUiMapID( uiMapID ) : gossipPoiID - Returns gossip poi for a map.
 * C_GossipInfo.GetPoiInfo( uiMapID, gossipPoiID ) : gossipPoiInfo - Returns gossip poi info.
 * C_GossipInfo.GetText : gossipText - Retrieves the gossip text.
 * C_GossipInfo.RefreshOptions
 * C_GossipInfo.SelectActiveQuest( index ) - Selects an active quest.
 * C_GossipInfo.SelectAvailableQuest( index ) - Selects an available quest.
 * C_GossipInfo.SelectOption( index [, text, confirmed] ) - Selects a gossip (conversation) option.
 * AcceptQuest - Accept the specified quest.
 * CloseQuest - Closes the shown quest.
 * CompleteQuest - Complete the specified quest.
 * DeclineQuest - Declines the currently offered quest.
 * GetActiveLevel( index ) - Gets the level of an active quest (only available after QUEST_GREETING event).
 * GetActiveQuestID( index )
 * GetActiveTitle( index ) - Gets the title of an active quest (only available after QUEST_GREETING event).
 * GetAvailableLevel( index ) - Gets the level of an available quest (only available after QUEST_GREETING event).
 * GetAvailableQuestInfo( index ) - Returns metadata (quest type) about an available quest.
 * GetAvailableTitle( index ) - Gets the title of an available quest (only available after QUEST_GREETING event).
 * GetGreetingText
 * GetNumActiveQuests - Gets the number of currently active quests from this NPC (only available after QUEST_GREETING event).
 * GetNumAvailableQuests - Gets the number of currently available quests from this NPC (only available after QUEST_GREETING event).
 * GetNumQuestRewards - Returns number of reward items (those that you always get) for quest currently in gossip window.
 * GetNumRewardCurrencies
 * GetNumRewardSpells
 * GetObjectiveText - Gets the objective of the current quest.
 * GetProgressText - Returns quest progress text, displayed by the NPC before the player pressed "Continue".
 * GetQuestID - Returns the ID of the quest most recently displayed in a gossip frame, even after that frame is closed.
 * GetQuestItemInfo - Returns basic information about the reward/choice/required item for quest currently in gossip window.
 * GetQuestItemInfoLootType( type, index )
 * GetQuestItemLink( type, index ) - Returns an itemLink for a selected quest reward/choice/required item for quest currently in gossip window.
 * GetQuestMoneyToGet - Returns amount of money required for quest currently displayed in gossip.
 * GetQuestPortraitGiver
 * GetQuestPortraitTurnIn
 * GetQuestText - Gets the description of the current quest.
 * GetRewardArtifactXP
 * GetRewardHonor
 * GetRewardMoney - Returns a amount of copper rewarded for completion of quest displayed in gossip.
 * GetRewardNumSkillUps
 * GetRewardSkillLineID
 * GetRewardSkillPoints
 * GetRewardSpell - Returns name and texture of spell awarded for quest completion for quest currently in gossip window.
 * GetRewardText - Returns quest reward text, displayed by the NPC before the player hits "Complete Quest".
 * GetRewardTitle - Returns the title awarded by the currently displayed quest.
 * GetRewardXP - Returns the amount of experience awarded by the currently displayed text.
 * GetTitleText - Retrieves the title of the quest while talking to the NPC about it.
 * IsActiveQuestLegendary( index )
 * IsActiveQuestTrivial( index )
 * IsAvailableQuestTrivial( index )
 * SelectActiveQuest - Selects an active quest from the NPC (only available after QUEST_GREETING event).
 * SelectAvailableQuest - Selects an available quest from the NPC (only available after QUEST_GREETING event).

Quest Choices
Relates to multiple quest choices, for instance at the Hero's Call Board and Warchief's Command Board.
 * C_PlayerChoice.GetPlayerChoiceInfo : choiceInfo - Returns information about a quest choice fork.
 * C_PlayerChoice.GetPlayerChoiceOptionInfo( optionIndex ) : info - Returns information about an offered quest choice option.
 * C_PlayerChoice.GetPlayerChoiceRewardInfo( rewardIndex ) : rewardInfo - Returns reward info on a quest option.
 * C_PlayerChoice.IsWaitingForPlayerChoiceResponse : isWaitingForResponse
 * ClosePlayerChoice
 * GetNumQuestChoices - Returns the number of rewards available for choice for quest currently in gossip window.
 * GetQuestLogChoiceInfo - Returns a bunch of data about a quest reward choice from the quest log.
 * SendPlayerChoiceResponse( responseID )

World Quests
Task Quests refer to World Quests or Bonus Objective quests.
 * C_TaskQuest.DoesMapShowTaskQuestObjectives( uiMapID ) : showsTaskQuestObjectives
 * C_TaskQuest.GetQuestInfoByQuestID( questID ) : questTitle, factionID, capped, displayAsObjective
 * C_TaskQuest.GetQuestLocation( questID, uiMapID ) : locationX, locationY
 * C_TaskQuest.GetQuestProgressBarInfo( questID ) : progress
 * C_TaskQuest.GetQuestTimeLeftMinutes( questID ) : minutesLeft
 * C_TaskQuest.GetQuestTimeLeftSeconds( questID ) : secondsLeft
 * C_TaskQuest.GetQuestZoneID( questID ) : uiMapID
 * C_TaskQuest.GetQuestsForPlayerByMapID( uiMapID ) : taskPOIs
 * C_TaskQuest.GetThreatQuests : quests
 * C_TaskQuest.IsActive( questID ) : active
 * C_TaskQuest.RequestPreloadRewardData( questID )
 * C_QuestLog.IsQuestTask( questID ) : isTask
 * C_QuestLog.IsWorldQuest( questID ) : isWorldQuest
 * GetNumQuestLogTasks
 * GetTaskInfo( questID )
 * GetTaskPOIs
 * GetTasksTable

Adventure Map
The Scouting Map was added in Patch 7.0.3
 * C_AdventureMap.Close
 * C_AdventureMap.GetMapID
 * C_AdventureMap.GetMapInsetDetailTileInfo( insetIndex, tileIndex )
 * C_AdventureMap.GetMapInsetInfo( insetIndex )
 * C_AdventureMap.GetNumMapInsets
 * C_AdventureMap.GetNumQuestOffers
 * C_AdventureMap.GetNumZoneChoices
 * C_AdventureMap.GetQuestInfo( questID )
 * C_AdventureMap.GetQuestOfferInfo( offerIndex )
 * C_AdventureMap.GetZoneChoiceInfo( choiceIndex )
 * C_AdventureMap.StartQuest( questID )
 * QuestIsFromAdventureMap

War Campaigns
War Campaigns were added in Patch 8.0.1
 * C_CampaignInfo.GetAvailableCampaigns : campaignIDs
 * C_CampaignInfo.GetCampaignChapterInfo( campaignChapterID ) : campaignChapterInfo
 * C_CampaignInfo.GetCampaignID( questID ) : campaignID
 * C_CampaignInfo.GetCampaignInfo( campaignID ) : campaignInfo
 * C_CampaignInfo.GetChapterIDs( campaignID ) : chapterIDs
 * C_CampaignInfo.GetCurrentChapterID( campaignID ) : currentChapterID
 * C_CampaignInfo.GetFailureReason( campaignID ) : failureReason
 * C_CampaignInfo.GetState( campaignID ) : state
 * C_CampaignInfo.IsCampaignQuest( questID ) : isCampaignQuest
 * C_CampaignInfo.UsesNormalQuestIcons( campaignID ) : useNormalQuestIcons
 * C_LoreText.RequestLoreTextForCampaignID( campaignID )

Talking Head
These functions were added in Patch 7.0.3
 * C_TalkingHead.GetConversationsDeferred
 * C_TalkingHead.GetCurrentLineAnimationInfo
 * C_TalkingHead.GetCurrentLineInfo
 * C_TalkingHead.IgnoreCurrentTalkingHead
 * C_TalkingHead.IsCurrentTalkingHeadIgnored
 * C_TalkingHead.SetConversationsDeferred( deferred )

Races

 * C_CreatureInfo.GetFactionInfo( raceID ) : factionInfo - Returns the faction name for a race.
 * C_CreatureInfo.GetRaceInfo( raceID ) : raceInfo - Returns both localized and locale-independent race names.
 * NeutralPlayerSelectFaction - Allows Pandaren to choose a faction.

Allied Races were added in Patch 7.3.5
 * C_AlliedRaces.ClearAlliedRaceDetailsGiver
 * C_AlliedRaces.GetAllRacialAbilitiesFromID( raceID ) : allDisplayInfo - Returns the racial spells from an allied race.
 * C_AlliedRaces.GetRaceInfoByID( raceID ) : info - Returns allied race info.
 * UnitAlliedRaceInfo( unit ) : isAlliedRace, hasHeritageArmorUnlocked

Realms
Relates to Realms.
 * GetAutoCompleteRealms
 * GetCurrentRegion
 * GetCurrentRegionName : regionName
 * GetNormalizedRealmName - Returns the name of the server, but omitting spaces and hyphens.
 * GetRealmID
 * GetRealmName - Returns the name of the server a user is logged in to.
 * IsOnTournamentRealm - Returns true if currently on a tournament realm, nil otherwise.

Reputation
Relates to Reputation.
 * C_Reputation.GetFactionParagonInfo( factionID ) : currentValue, threshold, rewardQuestID, hasRewardPending, ... - Gets Paragon information.
 * C_Reputation.IsFactionParagon( factionID ) : hasParagon - Returns true/false if a factionID is a Paragon.
 * C_Reputation.RequestFactionParagonPreloadRewardData( factionID ) - Queries the server to pre-load Paragon reward data.
 * CollapseFactionHeader( index ) - Collapse a faction header row.
 * CollapseAllFactionHeaders - Collapse all faction header rows.
 * ExpandFactionHeader( index ) - Expand a faction header row.
 * ExpandAllFactionHeaders - Expand all faction header rows.
 * FactionToggleAtWar( index ) - Toggle the At War flag for a faction.
 * GetFactionInfo( index ) - Gets details for a specific faction/faction header.
 * GetFactionInfoByID( factionID ) - Gets details for a specific faction by factionID.
 * GetFriendshipReputation( factionID ) - Gets details about an NPC friend.
 * GetFriendshipReputationRanks( factionID ) - Gets rank data about an NPC friend.
 * GetNumFactions - Returns the number of lines in the faction display.
 * GetSelectedFaction - Returns the row index of the currently selected faction in reputation window.
 * GetWatchedFactionInfo - Returns information about the currently watched faction.
 * IsFactionInactive( index ) - Returns true if the faction is marked inactive.
 * SetFactionActive( index ) - Remove a faction from inactive group.
 * SetFactionInactive( index ) - Move a faction to inactive group.
 * SetSelectedFaction( index ) - Sets the currently selected faction in reputation window.
 * SetWatchedFactionIndex( index ) - Sets which faction should be watched in Blizzard reputation bar.

Spells

 * C_Spell.DoesSpellExist( spellID ) : spellExists
 * C_Spell.IsSpellDataCached( spellID ) : isCached
 * C_Spell.RequestLoadSpellData( spellID )
 * C_ZoneAbility.GetActiveAbilities : zoneAbilities
 * AcceptSpellConfirmationPrompt( spellID )
 * NOCOMBAT CancelSpellByName( name )
 * PROTECTED CastSpellByID( spellID [, target] )
 * PROTECTED CastSpellByName( name [, target] ) - Cast the specified spell by display name.
 * PROTECTED CastSpell( spellIndex, bookType ) - Cast the spell in the specified spell book slot.
 * DeclineSpellConfirmationPrompt( spellID )
 * DoesSpellExist( spellName )
 * FindBaseSpellByID( spellID )
 * FindSpellOverrideByID( spellID )
 * GetMaxSpellStartRecoveryOffset
 * GetSchoolString( schoolMask )
 * GetSpellAutocast( spellName | spellId, bookType ) - Check whether the specified spell autocasts or not.
 * GetSpellBaseCooldown( spellID )
 * GetSpellCharges( spellId | spellName ) - Returns information about the charges of a charge-accumulating player ability.
 * GetSpellConfirmationPromptsInfo
 * GetSpellCooldown( spellName | spellID, bookType ) - Retrieves data on the cooldown of a specific spell.
 * GetSpellCount
 * GetSpellDescription( spellId ) - Returns the spell description.
 * GetSpellInfo( spellId | spellName | spellLink ) - Returns the spell's name, rank, iconFileDataID, cast time, min and max ranges, and spellID.
 * GetSpellLink( spellName, spellRank ) - Returns the spell's link.
 * GetSpellPowerCost( spellId | spellName ) - Returns information about a spell's resource cost.
 * GetSpellQueueWindow
 * GetSpellSubtext
 * GetSpellTexture( spellId | spellName ) - Returns the fileId used for the spell's icon.
 * GetSpellTradeSkillLink
 * IsAttackSpell( spell ) - Returns 1 if the spell is the "Attack" spell.
 * IsAutoRepeatSpell( spell )
 * IsConsumableSpell
 * IsCurrentSpell( spellID ) - Returns true if the spell is currently being casted by the player or is placed in the queue to be casted next. False otherwise.
 * IsHarmfulSpell( spellSlot ) - Returns whether a spell can be used against hostile units
 * IsHelpfulSpell( spellSlot ) - Returns whether an item can be used on the player or friendly units
 * IsPassiveSpell( spellID, bookType ) - Returns whether the icon in your spellbook is a Passive ability. Formerly IsSpellPassive(spell).
 * IsPlayerSpell( spellID )
 * IsSpellInRange( spellName [, unit] ) - Is nil for no valid target, 0 for out of range, 1 for in range.
 * IsSpellKnown( spellID, isPetSpell ) - Returns whether the player (or pet) knows the given spell.
 * IsSpellKnownOrOverridesKnown( spellID [, isPet] )
 * IsSpellOverlayed( spellID ) - Returns whether the spell is currently affected by a proc (glow highlighting).
 * IsUsableSpell( spellName | spellID | spellIndex, bookType ) - Determines whether a spell can be used by the player character.
 * SpellCancelQueuedSpell
 * SpellCanTargetItem
 * SpellCanTargetItemID
 * SpellCanTargetQuest
 * SpellCanTargetUnit( unit ) - Returns true if the spell awaiting target selection can be cast on the specified unit.
 * SpellGetVisibilityInfo( spellID, visType )
 * SpellHasRange( spell ) - Returns true if the specified spell has a ranged effect (i.e. requires a target).
 * SpellIsAlwaysShown( spellID )
 * SpellIsPriorityAura( spellID )
 * SpellIsSelfBuff( spellID )
 * SpellIsTargeting - Returns true if a spell has been cast and is awaiting target selection.
 * PROTECTED SpellStopCasting - Stops the current spellcast.
 * PROTECTED SpellStopTargeting - Cancels the spell awaiting target selection.
 * PROTECTED SpellTargetUnit( unit ) - Casts the spell awaiting target selection on the specified unit.
 * PROTECTED SpellTargetItem( item )
 * UI QueryCastSequence( sequence ) - Returns index, item, spell for the spell/item that will be used next if the cast sequence is executed.

Spell Book

 * C_SpellBook.ContainsAnyDisenchantSpell : contains
 * C_SpellBook.GetSkillLineIndexByID( skillLineID ) : skillIndex
 * C_SpellBook.IsSpellDisabled( spellID ) : disabled
 * FindSpellBookSlotBySpellID( spellID [, isPet] )
 * GetNumSpellTabs - Returns the total number of tabs in the user's spellbook.
 * GetSpellAvailableLevel( spellSlot )
 * GetSpellBookItemInfo( spellName or index, bookType ) - Returns the spell's type and spellID for a spell in the player's spellbook.
 * GetSpellBookItemName( spellName or index, bookType ) - Returns the spell name and spell rank for a spell in the player's spellbook.
 * GetSpellBookItemTexture( spellName or index, bookType ) - Returns the spell icon fileId for a spell in the player's spellbook.
 * GetSpellLevelLearned
 * GetSpellTabInfo( spellbookTabNum ) - Returns information about the specified spellbook tab.
 * IsSelectedSpellBookItem( spellSlot )

Store
The In-Game Store was added in Patch 5.4.0
 * C_StorePublic.DoesGroupHavePurchaseableProducts( groupID ) : hasPurchaseableProducts
 * C_StorePublic.IsDisabledByParentalControls : disabled - Returns whether access to the in-game shop is disabled by parental controls.
 * C_StorePublic.IsEnabled : enabled - Returns whether the In-Game Store is available for the player.

Character Boosts were added in Patch 5.4.7
 * PROTECTED C_CharacterServices.AssignUpgradeDistribution
 * PROTECTED C_CharacterServices.GetActiveCharacterUpgradeBoostType
 * PROTECTED C_CharacterServices.GetActiveClassTrialBoostType
 * PROTECTED C_CharacterServices.GetAutomaticBoost
 * PROTECTED C_CharacterServices.GetAutomaticBoostCharacter
 * PROTECTED C_CharacterServices.GetCharacterServiceDisplayData
 * PROTECTED C_CharacterServices.GetCharacterServiceDisplayOrder
 * PROTECTED C_CharacterServices.HasRequiredBoostForClassTrial
 * PROTECTED C_CharacterServices.HasRequiredBoostForUnrevoke
 * PROTECTED C_CharacterServices.SetAutomaticBoost
 * PROTECTED C_CharacterServices.SetAutomaticBoostCharacter
 * IsCharacterNewlyBoosted

Class Trials were added in Patch 6.0.2
 * C_ClassTrial.GetClassTrialLogoutTimeSeconds
 * C_ClassTrial.IsClassTrialCharacter
 * C_CharacterServicesPublic.ShouldSeeControlPopup
 * C_SharedCharacterServices.GetLastSeenCharacterUpgradePopup
 * C_SharedCharacterServices.GetLastSeenExpansionTrialPopup
 * C_SharedCharacterServices.GetUpgradeDistributions
 * C_SharedCharacterServices.HasFreePromotionalUpgrade
 * C_SharedCharacterServices.HasSeenFreePromotionalUpgradePopup
 * C_SharedCharacterServices.IsPurchaseIDPendingUpgrade
 * C_SharedCharacterServices.QueryClassTrialBoostResult
 * C_SharedCharacterServices.SetCharacterUpgradePopupSeen( expansion_id )
 * C_SharedCharacterServices.SetExpansionTrialPopupSeen( expansion_id )
 * C_SharedCharacterServices.SetPromotionalPopupSeen( seen )

System

 * HW C_UI.Reload - Reloads the UI from source files.
 * C_System.GetFrameStack : objects
 * CancelLogout - Cancels the logout timer (from camping or quitting).
 * PROTECTED CopyToClipboard( text ) - Copies text to the clipboard.
 * DetectWowMouse - Attempts to detect the world of warcraft MMO mouse.
 * FlashClientIcon - Flashes the game client icon in the Operating System.
 * PROTECTED ForceLogout
 * PROTECTED ForceQuit - Instantly quits the game, bypassing the timer.
 * GetBuildInfo - Returns information about current client build.
 * GetFramerate - Returns the current framerate (full precision)
 * GetTickTime - Returns the time in seconds since the end of the previous frame and the start of the current frame.
 * Is64BitClient
 * IsDebugBuild
 * IsGMClient
 * IsLinuxClient - Boolean - Returns true if WoW is being run on Linux.
 * IsLoggedIn - Returns nil before the PLAYER_LOGIN event has fired, 1 afterwards.
 * IsMacClient - Returns true if WoW is being run on Mac.
 * IsOnGlueScreen
 * IsPublicBuild
 * IsTestBuild
 * IsUsingFixedTimeStep - Whether the UI is updating at a fixed rate independent of the framerate.
 * IsWindowsClient - Returns true if WoW is being run on Windows.
 * LoadURLIndex( index )
 * PROTECTED Logout - Logs the user out of the game.
 * ProcessExceptionClient
 * PROTECTED Quit - Quits the game.
 * Screenshot - Takes a screenshot.
 * SendSystemMessage( message ) - Fires a CHAT_MSG_SYSTEM event for yourself.
 * PROTECTED Stuck - Informs the game engine that the player is Stuck.
 * UI ToggleFramerate - Show/Hide the FPS.

Network

 * GetAvailableBandwidth
 * GetBackgroundLoadingStatus
 * GetDownloadedPercentage
 * GetFileStreamingStatus
 * GetNetIpTypes
 * GetNetStats - Get bandwidth and latency network information.

Console
Relates to Console variables and commands.
 * C_CVar.GetCVar( name ) : value - Returns the current value of a console variable.
 * C_CVar.GetCVarBitfield( name, index ) : value - Returns the bitfield of a console variable.
 * C_CVar.GetCVarBool( name ) : value - Returns the boolean value of a console variable.
 * C_CVar.GetCVarDefault( name ) : defaultValue - Returns the default value of a console variable.
 * C_CVar.RegisterCVar( name [, value] ) - Registers a custom cvar (temporarily).
 * C_CVar.ResetTestCVars - Resets the cvars.
 * C_CVar.SetCVar( name [, value, scriptCVar] ) : success - Sets a console variable.
 * C_CVar.SetCVarBitfield( name, index, value [, scriptCVar] ) : success - Sets the bitfield of a console variable.
 * C_Console.GetAllCommands : commands - Returns all console variables and commands.
 * C_Console.GetColorFromType( colorType ) : color - Returns color info for a color type.
 * C_Console.GetFontHeight : fontHeightInPixels - Returns the console's currently used font height.
 * C_Console.PrintAllMatchingCommands( partialCommandText ) - Prints all matching console commands.
 * C_Console.SetFontHeight( fontHeightInPixels ) - Sets the console's font height.
 * ConsoleAddMessage( message ) - Prints a message to the console window.
 * ConsoleExec( command ) - Execute a console command.
 * GetCVarInfo( name ) - Returns information on a console variable.
 * SetConsoleKey( key ) - Sets the console key (normally ~ ).

Date & Time

 * C_DateAndTime.AdjustTimeByDays( date, days ) : newDate - Returns the date after a given amount of days.
 * C_DateAndTime.AdjustTimeByMinutes( date, minutes ) : newDate - Returns the date after a given amount of minutes.
 * C_DateAndTime.CompareCalendarTime( lhsCalendarTime, rhsCalendarTime ) : comparison - Compares two dates with eachother.
 * C_DateAndTime.GetCalendarTimeFromEpoch( epoch ) : date - Returns the date of a given amount of time since the UNIX epoch.
 * C_DateAndTime.GetCurrentCalendarTime : date - Returns the realm's current date and time.
 * C_DateAndTime.GetSecondsUntilDailyReset : seconds
 * C_DateAndTime.GetSecondsUntilWeeklyReset : seconds
 * C_DateAndTime.GetServerTimeLocal : serverTimeLocal - Returns the server's Unix time offset by the server's UTC timezone.
 * GetGameTime - Returns the realm's current time in hours and minutes.
 * GetLocalGameTime
 * GetServerTime - Returns the server's Unix time.
 * GetSessionTime - Returns the time since you opened the game client.
 * GetTime - Returns the system uptime in seconds (millisecond precision).
 * GetTimePreciseSec - Returns a monotonic timestamp in seconds, with millisecond precision.
 * RequestTimePlayed - Request a summary of time played from the server.
 * Lua date( format, time ) - Returns the current date according to the user's machine.
 * Lua time( table ) - Returns a timestamp for the specified time or the current Unix time.

Timers

 * C_Timer.After( duration, callback ) - Runs callback after given duration.
 * UI C_Timer.NewTimer( duration, callback ) - Runs callback after given duration. (Cancelable)
 * UI C_Timer.NewTicker( duration, callback [, iterations] ) - Runs callback multiple times iterating every given duration. (Cancelable)

Debugging

 * AreDangerousScriptsAllowed
 * DumpMovementCapture - Used in the protected Commentator UI.
 * FrameXML_Debug( flag ) - Sets FrameXML logging state which is output to "/WoW Folder/Logs/FrameXML.log".
 * GetCurrentEventID
 * GetEventTime( eventProfileIndex )
 * GetGameMessageInfo( gameMessageType ) - Returns the error message for an id.
 * HandleAtlasMemberCommand
 * RunScript( script ) - Execute "script" as a block of Lua code.
 * ScriptsDisallowedForBeta
 * SetAllowDangerousScripts
 * ToggleAnimKitDisplay
 * ToggleDebugAIDisplay
 * addframetext( text )
 * debuglocals
 * debugprofilestart - Starts a timer for profiling during debugging.
 * debugprofilestop - Returns the time in milliseconds since the last call to debugprofilestart
 * debugstack( start, count1, count2 ) - Returns a string representation of the current calling stack.
 * geterrorhandler - Returns the currently set error handler.
 * seterrorhandler( errFunc ) - Set the error handler to the given parameter.
 * UI DevTools_Dump( value [, startKey] ) - Pretty prints a variable or value.
 * UI print( ... ) - Calls the current print output handler with the provided values; by default printing the values to the default chat frame.
 * UI getprinthandler - Returns the function currently handling print output.
 * UI setprinthandler( func ) - Changes the function handling print output.
 * UI message( text ) - Displays a message box with your text message and an "Okay" button.
 * PROTECTED C_Debug.DashboardIsEnabled
 * PROTECTED C_Debug.GetAllPortLocsForMap( uiMapID )
 * PROTECTED C_Debug.GetMapDebugObjects( uiMapID )
 * PROTECTED C_Debug.TeleportToMapDebugObject( pinIndex )
 * PROTECTED C_Debug.TeleportToMapLocation( uiMapID, mapX, mapY )

Graphics

 * C_ScriptedAnimations.GetAllScriptedAnimationEffects : scriptedAnimationEffects
 * C_VideoOptions.GetGxAdapterInfo : adapters - Returns info about the system's graphics adapter.
 * AntiAliasingSupported
 * AutoChooseCurrentGraphicsSetting
 * GetCurrentGraphicsSetting
 * GetCurrentResolution - Get the index of the current screen resolution.
 * GetCurrentScaledResolution
 * GetCVarSettingValidity( cvar, settingsCount [, isRaid] )
 * GetDefaultGraphicsQuality
 * GetDefaultVideoOption
 * GetDefaultVideoOptions
 * GetDefaultVideoQualityOption
 * GetGraphicsAPIs - Returns the supported graphics APIs for the system, D3D11_LEGACY, D3D11, D3D12, etc.
 * GetGraphicsDropdownIndexByMasterIndex
 * GetMaxRenderScale
 * GetMinRenderScale
 * GetMonitorAspectRatio
 * GetMonitorCount
 * GetMonitorName
 * GetPhysicalScreenSize
 * GetScreenDPIScale
 * GetScreenHeight - Returns the height of the window in pixels.
 * GetScreenResolutions
 * GetScreenWidth - Returns the width of the window in pixels.
 * GetToolTipInfo( 1, size-1, cvar, validValue1, ... ) - Returns validity info for a graphics cvar.
 * GetVideoCaps
 * GetVideoOptions
 * IsDesaturateSupported
 * IsOutlineModeSupported
 * MultiSampleAntiAliasingSupported
 * RestartGx - Restarts the graphical engine. Needed for things such as resolution changes to take effect.
 * SetCurrentGraphicsSetting( setting{0=normal, 1=raid/BG} )
 * SetDefaultVideoOptions( value )
 * SetScreenResolution( width, height, fullscreen )
 * SetSelectedScreenResolutionIndex( integerIndex )
 * SupportsClipCursor
 * ToggleSelfHighlight
 * ToggleWindowed
 * UpdateWindow - When in windowed mode, updates the window. This also aligns it to the top of the screen and increases the size to max widowed size.

Locales

 * BreakUpLargeNumbers( number [, natural] ) - Converts a number into a localized string, grouping digits as required.
 * DeclineName( name, gender, declensionSet ) - Returns suggested declensions for a German or Russian name.
 * GetAvailableLocaleInfo( ignoreLocaleRestrictions )
 * GetAvailableLocales
 * GetLocale - Returns client locale, example 'enUS'.
 * GetNumDeclensionSets( name, gender ) - Returns the number of suggested declension sets for a German or Russian name.
 * GetOSLocale
 * GetText - Used to localize some client text.
 * IsEuropeanNumbers
 * SetEuropeanNumbers( flag ) - Sets the decimal separator to a comma instead of a dot.

Script Profiling
Note: CPU profiling is disabled by default since it has some overhead. CPU profiling is controlled by the scriptProfile cvar, which persists across sessions, and takes effect after a UI reload. Memory profiling is always available. These functions have been added in Patch 2.1.
 * GetAddOnCPUUsage( index or name ) - Returns the total time used by the specified AddOn. This returns a cached value calculated by UpdateAddOnCPUUsage.
 * GetAddOnMemoryUsage( index or name ) - Query an addon's memory use (in K, precision to 1 byte) - This returns a cached value calculated by UpdateAddOnMemoryUsage.
 * GetEventCPUUsage( [event] ) - Returns the time used and number of times the specified event has been triggered. If 'event' is omitted, the time and count will be totals across all events.
 * GetFrameCPUUsage( frame [, includeChildren] ) - Returns the time used and number of function calls of any of the frame's script handlers. If 'includeChildren' is true or omitted, the time and call count will include the handlers for all of the frame's children as well.
 * GetFunctionCPUUsage( func [, includeSubroutines] ) - Returns the time used and number of times the specified function was called. If 'includeSubroutines' is true or omitted, the time includes both the time spent in the function and subroutines called by the function. If it is false, then time is only the time actually spent by the code in the function itself.
 * GetScriptCPUUsage - Returns the total time used by the scripting system.
 * ResetCPUUsage - Reset all CPU profiling statistics to zero.
 * UpdateAddOnCPUUsage - Scan through the profiling data and update the per-addon statistics.
 * UpdateAddOnMemoryUsage - Scan through memory profiling data and update the per-addon statistics.

Secure Execution
Relates to Secure Execution and Tainting.
 * InCombatLockdown - Returns true if the in-combat AddOn restrictions are active.
 * StoreSecureReference( name, obj )
 * forceinsecure - Taint the current execution path.
 * hooksecurefunc( [table,] funcName, hookfunc ) - Creates a secure 'post hook' for the named function. The hookfunc is invoked after the original function, and receives the same parameters. Return values from hookfunc are discarded. This is the only safe way to hook functions that execute protected functionality.
 * issecure - Determine if the current environment is secure.
 * issecurevariable( [table,] name ) - Determine if the specified variable is secure.
 * scrub( ... ) - Returns the argument list with non-number/boolean/string values changed to nil.
 * securecall( function or functionName, ... ) - Call a function from a secure environment without risking secure status.
 * UI CanAccessObject( obj ) - Returns true if an object is secure and not forbidden.

Sound

 * MuteSoundFile( soundFile or fileDataID ) - Mutes a sound file.
 * PlayMusic( musicfile or fileDataID ) - Plays the specified sound file on loop to the "Music" sound channel.
 * PlaySound( soundKitID [, channel, forceNoDuplicates, runFinishCallback] ) - Plays the specified sound by SoundKitID.
 * PlaySoundFile( soundFile or soundFileID [, channel] ) - Plays the specified sound by FileDataID or by addon file path.
 * PlayVocalErrorSoundID( vocalErrorSoundID )
 * StopMusic - Stops the currently playing music.
 * StopSound( soundHandleID [, fadeoutTime] )
 * UnmuteSoundFile( soundFile or fileDataID ) - Unmutes a sound file.

Sound Drivers
 * Sound_ChatSystem_GetInputDriverNameByIndex( InputDriverIndex )
 * Sound_ChatSystem_GetNumInputDrivers
 * Sound_ChatSystem_GetNumOutputDrivers
 * Sound_ChatSystem_GetOutputDriverNameByIndex( OutputDriverIndex )
 * Sound_GameSystem_GetInputDriverNameByIndex( InputDriverIndex )
 * Sound_GameSystem_GetNumInputDrivers
 * Sound_GameSystem_GetNumOutputDrivers
 * Sound_GameSystem_GetOutputDriverNameByIndex( OutputDriverIndex )
 * Sound_GameSystem_RestartSoundSystem

Util

 * CalculateStringEditDistance( firstString, secondString ) - Returns Levenshtein distance.
 * CaseAccentInsensitiveParse( string )

Spectator Mode

 * C_Commentator.AddPlayerOverrideName( playerName, overrideName )
 * C_Commentator.AddTrackedDefensiveAuras( spellIDs )
 * C_Commentator.AddTrackedOffensiveAuras( spellIDs )
 * C_Commentator.AreTeamsSwapped : teamsAreSwapped
 * C_Commentator.AssignPlayersToTeam( playerName, teamName )
 * C_Commentator.AssignPlayersToTeamInCurrentInstance( teamIndex, teamName )
 * C_Commentator.AssignPlayerToTeam( playerName, teamName )
 * C_Commentator.CanUseCommentatorCheats : canUseCommentatorCheats
 * C_Commentator.ClearCameraTarget
 * C_Commentator.ClearFollowTarget
 * C_Commentator.ClearLookAtTarget( [lookAtIndex] )
 * C_Commentator.EnterInstance
 * C_Commentator.ExitInstance
 * C_Commentator.FindSpectatedUnit( unitToken ) : playerIndex, teamIndex, isPet
 * C_Commentator.FindTeamNameInCurrentInstance( teamIndex ) : teamName
 * C_Commentator.FindTeamNameInDirectory( playerNames ) : teamName
 * C_Commentator.FlushCommentatorHistory
 * C_Commentator.FollowPlayer( factionIndex, playerIndex [, forceInstantTransition] )
 * C_Commentator.FollowUnit( token )
 * C_Commentator.ForceFollowTransition
 * C_Commentator.GetAdditionalCameraWeight : teamIndex, playerIndex
 * C_Commentator.GetAdditionalCameraWeightByToken( unitToken ) : weight
 * C_Commentator.GetAllPlayerOverrideNames : nameEntries
 * C_Commentator.GetCamera : xPos, yPos, zPos, yaw, pitch, roll, fov
 * C_Commentator.GetCameraCollision : isColliding
 * C_Commentator.GetCameraPosition : xPos, yPos, zPos
 * C_Commentator.GetCommentatorHistory : history
 * C_Commentator.GetCurrentMapID : mapID
 * C_Commentator.GetDampeningPercent : percentage
 * C_Commentator.GetDistanceBeforeForcedHorizontalConvergence : distance
 * C_Commentator.GetDurationToForceHorizontalConvergence : ms
 * C_Commentator.GetExcludeDistance : excludeDistance
 * C_Commentator.GetHardlockWeight : weight
 * C_Commentator.GetHorizontalAngleThresholdToSmooth : angle
 * C_Commentator.GetIndirectSpellID( trackedSpellID ) : indirectSpellID
 * C_Commentator.GetInstanceInfo( mapIndex, instanceIndex ) : mapID, mapName, status, instanceIDLow, instanceIDHigh
 * C_Commentator.GetLookAtLerpAmount : amount
 * C_Commentator.GetMapInfo( mapIndex ) : teamSize, minLevel, maxLevel, numInstances
 * C_Commentator.GetMatchDuration : seconds
 * C_Commentator.GetMaxNumPlayersPerTeam : maxNumPlayersPerTeam
 * C_Commentator.GetMaxNumTeams : maxNumTeams
 * C_Commentator.GetMode : commentatorMode
 * C_Commentator.GetMsToHoldForHorizontalMovement : ms
 * C_Commentator.GetMsToHoldForVerticalMovement : ms
 * C_Commentator.GetMsToSmoothHorizontalChange : ms
 * C_Commentator.GetMsToSmoothVerticalChange : ms
 * C_Commentator.GetNumMaps : numMaps
 * C_Commentator.GetNumPlayers( factionIndex ) : numPlayers
 * C_Commentator.GetOrCreateSeries( teamName1, teamName2 ) : data
 * C_Commentator.GetPlayerAuraInfo( teamIndex, playerIndex, spellID ) : startTime, duration, enable
 * C_Commentator.GetPlayerAuraInfoByUnit( token, spellID ) : startTime, duration, enable
 * C_Commentator.GetPlayerCooldownInfo( teamIndex, playerIndex, spellID ) : startTime, duration, enable
 * C_Commentator.GetPlayerCooldownInfoByUnit( unitToken, spellID ) : startTime, duration, enable
 * C_Commentator.GetPlayerCrowdControlInfo( teamIndex, playerIndex ) : spellID, expiration, duration
 * C_Commentator.GetPlayerCrowdControlInfoByUnit( token ) : spellID, expiration, duration
 * C_Commentator.GetPlayerData( teamIndex, playerIndex ) : info
 * C_Commentator.GetPlayerFlagInfo( teamIndex, playerIndex ) : hasFlag
 * C_Commentator.GetPlayerFlagInfoByUnit( unitToken ) : hasFlag
 * C_Commentator.GetPlayerOverrideName( originalName ) : overrideName
 * C_Commentator.GetPlayerSpellCharges( teamIndex, playerIndex, spellID ) : charges, maxCharges, startTime, duration
 * C_Commentator.GetPlayerSpellChargesByUnit( unitToken, spellID ) : charges, maxCharges, startTime, duration
 * C_Commentator.GetPositionLerpAmount : amount
 * C_Commentator.GetSmoothFollowTransitioning : enabled
 * C_Commentator.GetSoftlockWeight : weight
 * C_Commentator.GetSpeedFactor : factor
 * C_Commentator.GetStartLocation( mapID ) : pos
 * C_Commentator.GetTeamColor( teamIndex ) : color
 * C_Commentator.GetTeamColorByUnit( unitToken ) : color
 * C_Commentator.GetTimeLeftInMatch : timeLeft
 * C_Commentator.GetTrackedSpellID( indirectSpellID ) : trackedSpellID
 * C_Commentator.GetTrackedSpells( teamIndex, playerIndex, category ) : spells
 * C_Commentator.GetTrackedSpellsByUnit( unitToken, category ) : spells
 * C_Commentator.GetUnitData( unitToken ) : data
 * C_Commentator.GetWargameInfo( listID ) : name, minPlayers, maxPlayers, isArena
 * C_Commentator.HasTrackedAuras( token ) : hasOffensiveAura, hasDefensiveAura
 * C_Commentator.IsSmartCameraLocked : isSmartCameraLocked
 * C_Commentator.IsSpectating : isSpectating
 * C_Commentator.IsTrackedDefensiveAura( spellID ) : isDefensiveTrigger
 * C_Commentator.IsTrackedOffensiveAura( spellID ) : isOffensiveTrigger
 * C_Commentator.IsTrackedSpell( teamIndex, playerIndex, spellID, category ) : isTracked
 * C_Commentator.IsTrackedSpellByUnit( unitToken, spellID, category ) : isTracked
 * C_Commentator.IsUsingSmartCamera : isUsingSmartCamera
 * C_Commentator.LookAtPlayer( factionIndex, playerIndex [, lookAtIndex] )
 * C_Commentator.RemoveAllOverrideNames
 * C_Commentator.RemovePlayerOverrideName( originalPlayerName )
 * C_Commentator.RequestPlayerCooldownInfo( teamIndex, playerIndex )
 * C_Commentator.ResetFoVTarget
 * C_Commentator.ResetSeriesScores( teamName1, teamName2 )
 * C_Commentator.ResetSettings
 * C_Commentator.ResetTrackedAuras
 * C_Commentator.SetAdditionalCameraWeight( teamIndex, playerIndex, weight )
 * C_Commentator.SetAdditionalCameraWeightByToken( unitToken, weight )
 * C_Commentator.SetBlacklistedAuras( spellIDs )
 * C_Commentator.SetBlacklistedCooldowns( specID, spellIDs )
 * C_Commentator.SetCamera( xPos, yPos, zPos, yaw, pitch, roll, fov )
 * C_Commentator.SetCameraCollision( collide )
 * C_Commentator.SetCameraPosition( xPos, yPos, zPos, snapToLocation )
 * C_Commentator.SetCheatsEnabled( enableCheats )
 * C_Commentator.SetCommentatorHistory( history )
 * C_Commentator.SetDistanceBeforeForcedHorizontalConvergence( distance )
 * C_Commentator.SetDurationToForceHorizontalConvergence( ms )
 * C_Commentator.SetExcludeDistance( excludeDistance )
 * C_Commentator.SetFollowCameraSpeeds( elasticSpeed, minSpeed )
 * C_Commentator.SetHardlockWeight( weight )
 * C_Commentator.SetHorizontalAngleThresholdToSmooth( angle )
 * C_Commentator.SetLookAtLerpAmount( amount )
 * C_Commentator.SetMapAndInstanceIndex( mapIndex, instanceIndex )
 * C_Commentator.SetMouseDisabled( disabled )
 * C_Commentator.SetMoveSpeed( newSpeed )
 * C_Commentator.SetMsToHoldForHorizontalMovement( ms )
 * C_Commentator.SetMsToHoldForVerticalMovement( ms )
 * C_Commentator.SetMsToSmoothHorizontalChange( ms )
 * C_Commentator.SetMsToSmoothVerticalChange( ms )
 * C_Commentator.SetPositionLerpAmount( amount )
 * C_Commentator.SetRequestedDebuffCooldowns( specID, spellIDs )
 * C_Commentator.SetRequestedDefensiveCooldowns( specID, spellIDs )
 * C_Commentator.SetRequestedOffensiveCooldowns( specID, spellIDs )
 * C_Commentator.SetSeriesScore( teamName1, teamName2, scoringTeamName, score )
 * C_Commentator.SetSeriesScores( teamName1, teamName2, score1, score2 )
 * C_Commentator.SetSmartCameraLocked( locked )
 * C_Commentator.SetSmoothFollowTransitioning( enabled )
 * C_Commentator.SetSoftlockWeight( weight )
 * C_Commentator.SetSpeedFactor( factor )
 * C_Commentator.SetTargetHeightOffset( offset )
 * C_Commentator.SetUseSmartCamera( useSmartCamera )
 * C_Commentator.SnapCameraLookAtPoint
 * C_Commentator.StartWargame( listID, teamSize, tournamentRules, teamOneCaptain, teamTwoCaptain )
 * C_Commentator.SwapTeamSides
 * C_Commentator.ToggleCheats
 * C_Commentator.UpdateMapInfo( [targetPlayer] )
 * C_Commentator.UpdatePlayerInfo
 * C_Commentator.ZoomIn
 * C_Commentator.ZoomOut

Tutorials

 * C_PlayerInfo.IsPlayerEligibleForNPE : isEligible, failureReason
 * C_PlayerInfo.IsPlayerEligibleForNPEv2 : isEligible, failureReason
 * C_PlayerInfo.IsPlayerNPERestricted : isRestricted
 * C_SplashScreen.AcknowledgeSplash
 * C_SplashScreen.CanViewSplashScreen : canView
 * C_SplashScreen.RequestLatestSplashScreen( fromGameMenu )
 * C_StableInfo.GetNumActivePets : numActivePets
 * C_StableInfo.GetNumStablePets : numStablePets
 * C_Tutorial.AbandonTutorialArea
 * C_Tutorial.ReturnToTutorialArea
 * CanResetTutorials
 * ClearTutorials
 * ClosestGameObjectPosition( gameObjectID )
 * ClosestUnitPosition( creatureID ) - Returns the unit position of the closest creature by ID. Only works for mobs in the starting zones.
 * FlagTutorial( tutorial )
 * GetNextCompleatedTutorial( tutorial )
 * GetPrevCompleatedTutorial( tutorial )
 * GetTutorialsEnabled
 * IsSplashFramePrimaryFeatureUnlocked
 * IsTutorialFlagged( tutorial )
 * RequestBottomLeftActionBar
 * ResetTutorials
 * ShouldShowSpecialSplashScreen
 * SplashFrameCanBeShown
 * TriggerTutorial( tutorial )

UI Objects

 * GetFileIDFromPath( filePath ) - Returns the fileID corresponding to the given game file path (texture, sound, model, etc.).
 * SetUIVisibility( visible ) - Hides or shows the entire UI.
 * UI EasyMenu( menuList, menuFrame, anchor, x, y, displayMode, autoHideDelay )
 * UI ToggleDropDownMenu( level, value, dropDownFrame, anchorName, xOffset, yOffset )

Frame

 * CreateFrame( frameType [, frameName, parentFrame, inheritsFrame, id] ) - Create a new frame of the specified type.
 * DoesTemplateExist( template ) - Returns if a virtual frame template exists.
 * EnumerateFrames( currentFrame ) - Get the Frame which follows currentFrame.
 * GetClickFrame( name )
 * GetCurrentKeyBoardFocus - Returns the [editbox] widget currently handling keyboard events.
 * GetDefaultScale
 * GetFramesRegisteredForEvent( event ) - Returns a list of frames that are registered for the given event.
 * GetMouseButtonName
 * GetMouseClickFocus
 * GetMouseFocus - Returns the frame that currently has the mouse focus.
 * GetMouseMotionFocus
 * GetNumFrames - Get the current number of Frame (and derivative) objects.
 * SetupFullscreenScale( frame ) - Configures scale of full-screen views, such as the world map, to best fill screen.
 * UI MouseIsOver( region, topOffset, bottomOffset, leftOffset, rightOffset ) - Checks whether the mouse is over the frame (or within specified offsets).
 * UI UIFrameFadeIn( frame, timeToFade, startAlpha, endAlpha ) - Fades a frame in.
 * UI UIFrameFadeOut( frame, timeToFade, startAlpha, endAlpha ) - Fades a frame out.

Font

 * CreateFont( name ) - Dynamically creates a font object.
 * GetFontInfo( font or name )
 * GetFonts - Returns all available fonts.

Texture

 * C_Texture.GetAtlasInfo( atlas ) : info - Returns atlas info.
 * GetObjectIconTextureCoords( textureIndex )
 * SetPortraitTexture( textureObject, unitToken ) - Sets a texture to a unit's 2D portrait.
 * SetPortraitToTexture( textureObject, texturePath ) - Applies a circular mask to a texture, making it resemble a portrait.
 * UI CreateAtlasMarkup( atlasName [, height, width, offsetX, offsetY] ) - Returns a texture fontstring for an atlas.
 * UI CreateTextureMarkup( file, fileWidth, fileHeight, width, height, left, right, top, bottom [, xOffset, yOffset] ) - Returns a texture fontstring.
 * UI GetTextureInfo( obj ) - Returns the type and info of a texture.

ModelScene

 * C_ModelInfo.AddActiveModelScene( modelSceneFrame, modelSceneID )
 * C_ModelInfo.AddActiveModelSceneActor( modelSceneFrameActor, modelSceneActorID )
 * C_ModelInfo.ClearActiveModelScene( modelSceneFrame )
 * C_ModelInfo.ClearActiveModelSceneActor( modelSceneFrameActor )
 * C_ModelInfo.GetModelSceneActorDisplayInfoByID( modelActorDisplayID ) : actorDisplayInfo
 * C_ModelInfo.GetModelSceneActorInfoByID( modelActorID ) : actorInfo
 * C_ModelInfo.GetModelSceneCameraInfoByID( modelSceneCameraID ) : modelSceneCameraInfo
 * C_ModelInfo.GetModelSceneInfoByID( modelSceneID ) : modelSceneType, modelCameraIDs, modelActorsIDs
 * GetUICameraInfo( uiCameraID )

Blizzard
Used internally for the Blizzard_PrototypeDialog addon.
 * C_PrototypeDialog.EnsureRemoved( instanceID )
 * C_PrototypeDialog.SelectOption( instanceID, optionIndex )

UI Widget Manager
The UI widget system was added in Patch 8.0.1 to replace the WorldStateFrame. It renders the UI elements used for e.g. PvP objectives.

Position
 * C_UIWidgetManager.GetAllWidgetsBySetID( setID ) : widgets - Returns all widgets for a widget set ID.
 * C_UIWidgetManager.GetBelowMinimapWidgetSetID : setID
 * C_UIWidgetManager.GetObjectiveTrackerWidgetSetID : setID
 * C_UIWidgetManager.GetPowerBarWidgetSetID : setID
 * C_UIWidgetManager.GetTopCenterWidgetSetID : setID - Returns the widget set ID for the top center part of the screen.
 * C_UIWidgetManager.GetWidgetSetInfo( widgetSetID ) : widgetSetInfo

Visualization
 * C_UIWidgetManager.GetBulletTextListWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetCaptureBarWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetCaptureZoneVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetDiscreteProgressStepsVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetDoubleIconAndTextWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetDoubleStateIconRowVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetDoubleStatusBarWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetHorizontalCurrenciesWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetIconAndTextWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetIconTextAndBackgroundWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetIconTextAndCurrenciesWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetScenarioHeaderCurrenciesAndBackgroundWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetScenarioHeaderTimerWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetSpellDisplayVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetStackedResourceTrackerWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetStatusBarWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetTextureAndTextRowVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetTextureAndTextVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetTextureWithAnimationVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetTextWithStateWidgetVisualizationInfo( widgetID ) : widgetInfo
 * C_UIWidgetManager.GetZoneControlVisualizationInfo( widgetID ) : widgetInfo


 * C_UIWidgetManager.RegisterUnitForWidgetUpdates( unitToken )
 * C_UIWidgetManager.SetProcessingUnit( [unit] )
 * C_UIWidgetManager.UnregisterUnitForWidgetUpdates( unitToken )
 * C_TaskQuest.GetUIWidgetSetIDFromQuestID( questID ) : UiWidgetSetID
 * C_Widget.IsFrameWidget
 * C_Widget.IsRenderableWidget
 * C_Widget.IsWidget( object )
 * UnitWidgetSet( unit ) : uiWidgetSet

Units
These are functions which act on one or more units. Units are identified by UnitIds.
 * C_PlayerInfo.GetContentDifficultyCreatureForPlayer( unitToken ) : difficulty
 * GetThreatStatusColor( status ) - Returns RGB values for a given UnitThreatSituation return value.
 * GetUnitChargedPowerPoints( unit ) : pointIndices
 * GetUnitSpeed( unit ) - Returns the moving speed of the unit.
 * UnitAffectingCombat( unit ) - Determine if the unit is in combat or has aggro. (returns nil if "false" and 1 if "true")
 * UnitArmor( unit ) - Returns the armor statistics relevant to the specified unit.
 * UnitAttackPower( unit ) - Returns the unit's melee attack power and modifiers.
 * UnitAttackSpeed( unit ) - Returns the unit's melee attack speed for each hand.
 * UnitCanAssist( unit, otherUnit ) - Indicates whether the first unit can assist the second unit.
 * UnitCanAttack( unit, otherUnit ) - Returns true if the first unit can attack the second, false otherwise.
 * UnitCanCooperate( unit, otherUnit ) - Returns true if the first unit can cooperate with the second, false otherwise.
 * UnitCanPetBattle
 * UnitCastingInfo( unit ) - Returns information about the spell currently being cast by the specified unit.
 * UnitChannelInfo( unit ) - Returns information about the spell currently being channeled by the specified unit.
 * UnitClass( unit ) : className, classFilename, classID - Returns the class name of the specified unit (e.g., "Warrior" or "Shaman").
 * UnitClassBase( unit ) : classFilename, classID
 * UnitClassification( unit ) - Returns the classification of the specified unit (e.g., "elite" or "worldboss").
 * UnitCreatureFamily( unit ) - Returns the type of creature of the specified unit (e.g., "Crab").
 * UnitCreatureType( unit ) - Returns the classification type of creature of the specified unit (e.g., "Beast").
 * UnitDamage( unit ) - Returns the damage statistics relevant to the specified unit.
 * UnitDetailedThreatSituation( unit, unitMob ) - Returns detailed information about the specified unit's threat on a mob.
 * UnitDistanceSquared( unit ) - Returns the squared distance to a unit in your group.
 * UnitEffectiveLevel( unit ) - Returns the unit's effective (scaled) level.
 * UnitExists( unit ) - Returns 1 if the specified unit exists, nil otherwise.
 * UnitFactionGroup( unit ) - Returns the faction group id and name of the specified unit. (eg. "Alliance") - string returned is localization-independent (used in filepath)
 * UnitFullName( unit ) - Returns the player's (unit's) name and server.
 * UnitGetAvailableRoles
 * UnitGetIncomingHeals( unit [, healer] ) - Returns the predicted heals cast on the specified unit.
 * UnitGetTotalAbsorbs( unit ) - Returns the total amount of damage the unit can absorb before losing health.
 * UnitGetTotalHealAbsorbs( unit ) - Returns the total amount of healing the unit can absorb without gaining health.
 * UnitGroupRolesAssigned( unit ) - Returns the assigned role in a group formed via the Dungeon Finder Tool.
 * UnitGUID( unit ) - Returns the GUID as a string for the specified unit matching the GUIDs used by the new combat logs.
 * UnitHasIncomingResurrection( unit ) - Returns whether the unit is currently being resurrected.
 * UnitHasLFGDeserter( unit ) - Returns whether the unit is currently unable to use the dungeon finder due to leaving a group prematurely.
 * UnitHasLFGRandomCooldown( unit ) - Returns whether the unit is currently under the effects of the random dungeon cooldown.
 * UnitHasRelicSlot( unit )
 * UnitHealth( unit ) - Returns the current health, in points, of the specified unit.
 * UnitHealthMax( unit ) - Returns the maximum health, in points, of the specified unit.
 * UnitHPPerStamina
 * UnitInOtherParty
 * UnitInRange( unit ) - Returns true if the unit (party or raid only) is in range of a typical spell such as flash heal.
 * UnitIsAFK( unit ) - Only works for friendly units.
 * UnitIsCharmed( unit ) - Returns true if the specified unit is charmed, false otherwise.
 * UnitIsConnected( unit ) : isConnected - Returns 1 if the specified unit is connected or npc, nil if offline or not a valid unit.
 * UnitIsControlling( unit ) - Returns true if the local player is directly controlling the specified unit.
 * UnitIsCorpse( unit ) - Returns true if the specified unit is a corpse, false otherwise.
 * UnitIsDead( unit ) - Returns true if the specified unit is dead, nil otherwise.
 * UnitIsDeadOrGhost( unit ) - Returns true if the specified unit is dead or a ghost, nil otherwise.
 * UnitIsDND( unit ) - Only works for friendly units.
 * UnitIsEnemy( unit, otherUnit ) - Returns true if the specified units are enemies, false otherwise.
 * UnitIsFeignDeath( unit ) - Returns true if the specified unit (must be a member of your group) is feigning death.
 * UnitIsFriend( unit, otherUnit ) - Returns true if the specified units are friends (PC of same faction or friendly NPC), false otherwise.
 * UnitIsGhost( unit ) - Returns true if the specified unit is a ghost, false otherwise.
 * UnitIsGroupAssistant
 * UnitIsInMyGuild( unit ) - Returns whether the specified unit is in the same guild as the player's character.
 * UnitIsOtherPlayersPet
 * UnitIsOwnerOrControllerOfUnit( controllingUnit, controlledUnit ) : unitIsOwnerOrControllerOfUnit
 * UnitIsPlayer( unit ) - Returns true if the specified unit is a player character, false otherwise.
 * UnitIsPossessed( unit ) - Returns whether the specified unit is currently under control of another (i.e. "pet" when casting Mind Control).
 * UnitIsQuestBoss( unit ) - Returns true if the specified unit is the "boss" (objective) of a kill quest. If true, then the default UI displays a shield with a yellow "!" on it on the unit's unitframe.
 * UnitIsRaidOfficer( unit ) - Returns whether the specified unit is an officer in your raid.
 * UnitIsSameServer( unit ) - Returns whether the specified unit is from the same server as the player's character.
 * UnitIsTapDenied
 * UnitIsTrivial( unit ) - Returns true if the specified unit is trivial (Trivial means the unit is "grey" to the player. false otherwise.
 * UnitIsUnconscious
 * UnitIsUnit( unit, otherUnit ) - Determine if two units are the same unit.
 * UnitIsVisible( unit ) - 1 if visible, nil if not.
 * UnitLeadsAnyGroup
 * UnitLevel( unit ) - Returns the level of a unit.
 * UnitName( unit ) - Returns the name (and realm name) of a unit.
 * UnitNameUnmodified
 * UnitPlayerControlled( unit ) - Returns true if the specified unit is controlled by a player, false otherwise.
 * UnitPlayerOrPetInParty( unit ) - Returns 1 if the specified unit/pet is a member of the player's party, nil otherwise (returns nil for "player" and "pet")
 * UnitPlayerOrPetInRaid( unit ) - Returns 1 if the specified unit/pet is a member of the player's raid, nil otherwise (returns nil for "player" and "pet")
 * UnitPower( unitToken [, powerType, unmodified] ) : power - Returns current power of the specified unit (Replaces UnitMana)
 * UnitPowerDisplayMod( powerType ) : displayMod
 * UnitPowerMax( unitToken [, powerType, unmodified] ) : maxPower - Returns max power of the specified unit (Replaces UnitManaMax)
 * UnitPowerType( unit ) - Returns a number corresponding to the power type (e.g., mana, rage or energy) of the specified unit.
 * UnitQuestTrivialLevelRange( unit ) : levelRange - Returns the difference between the units' current level and the level at which fixed-level quests are of trivial difficulty.
 * UnitRace( unit ) - Returns the race name of the specified unit (e.g., "Human" or "Troll").
 * UnitRangedAttackPower( unit ) - Returns the ranged attack power of the unit.
 * UnitRangedDamage( unit ) - Returns the ranged attack speed and damage of the unit.
 * UnitReaction( unit, otherUnit ) - Returns a number corresponding to the reaction (aggressive, neutral or friendly) of the first unit towards the second unit.
 * UnitRealmRelationship
 * UnitSelectionColor( unit [, useExtendedColors] ) - Returns RGBA values for the color of a unit's selection (the outline around and the circle underneath a player character or an NPC).
 * UnitSelectionType( unit [, useExtendedColors] ) - Returns a number corresponding to the type of a unit's selection (the outline around and the circle underneath a player character or an NPC).
 * UnitSetRole
 * UnitSex( unit ) : sex - Returns a code indicating the gender of the specified unit, if known. (1=unknown, 2=male, 3=female)
 * UnitShouldDisplayName
 * UnitSpellHaste( unit ) - Returns the current spell haste percentage for a unit.
 * UnitStagger
 * UnitStat( unit, statIndex ) - Returns the statistics relevant to the specified unit and basic attribute (e.g., strength or intellect).
 * UnitThreatPercentageOfLead
 * UnitThreatSituation( unit, mobUnit ) - Returns the specified unit's threat status on a mob.
 * UnitTreatAsPlayerForDisplay( unit ) : treatAsPlayer - Whether a unit should be treated as if it was an actual player.
 * UnitTrialBankedLevels( unit )
 * UnitTrialXP( unit )
 * UnitWeaponAttackPower( unit )
 * UnitXP( unit ) - Returns the number of experience points the specified unit has in their current level. (only works on your player)
 * UnitXPMax( unit ) - Returns the number of experience points the specified unit needs to reach their next level. (only works on your player)
 * UI GetUnitName( unit, showServerName ) - Returns the name and optionally the realm of the unit.

Buffs

 * NOCOMBAT CancelUnitBuff( unit, index or spell [, filter or rank] ) - Removes a specific buff from the player.
 * GetPlayerAuraBySpellID( spellID ) - Returns an active buff/debuff by spell ID on the player character.
 * UnitAura( unit, index [, filter] ) - Returns info about buffs and debuffs of a unit.
 * UnitAuraBySlot( unit, slot )
 * UnitAuraSlots( unit [, filter, maxSlots, continuationToken] )
 * UnitBuff( unit, index [, raidFilter] ) - Shorthand for
 * UnitDebuff( unit, index [, raidFilter] ) - Shorthand for
 * UI AuraUtil.FindAura( predicate, unit, filter, predicateArg1, predicateArg2, predicateArg3 )
 * UI AuraUtil.FindAuraByName( auraName, unit, filter ) - Finds the first aura that matches the name.
 * UI AuraUtil.ForEachAura( unit, filter, maxCount, func )

Weapon Enchants
 * PROTECTED CancelItemTempEnchantment( weaponHand ) - Cancels a temporary weapon enchant on weaponHand (1 for Main hand, 2 for Off hand).
 * GetWeaponEnchantInfo - Returns information about main and offhand weapon enchantments.

Nameplates
Nameplates were reworked in Patch 7.0.3
 * C_NamePlate.GetNamePlateEnemyClickThrough
 * C_NamePlate.GetNamePlateEnemyPreferredClickInsets
 * C_NamePlate.GetNamePlateEnemySize
 * C_NamePlate.GetNamePlateForUnit( unitToken [, includeForbidden] )
 * C_NamePlate.GetNamePlateFriendlyClickThrough
 * C_NamePlate.GetNamePlateFriendlyPreferredClickInsets
 * C_NamePlate.GetNamePlateFriendlySize
 * C_NamePlate.GetNamePlates( [includeForbidden] )
 * C_NamePlate.GetNamePlateSelfClickThrough
 * C_NamePlate.GetNamePlateSelfPreferredClickInsets
 * C_NamePlate.GetNamePlateSelfSize
 * C_NamePlate.GetNumNamePlateMotionTypes
 * C_NamePlate.GetTargetClampingInsets
 * C_NamePlate.SetNamePlateEnemyClickThrough( clickthrough )
 * C_NamePlate.SetNamePlateEnemyPreferredClickInsets
 * C_NamePlate.SetNamePlateEnemySize( width, height )
 * C_NamePlate.SetNamePlateFriendlyClickThrough
 * C_NamePlate.SetNamePlateFriendlyPreferredClickInsets( left, right, top, bottom )
 * C_NamePlate.SetNamePlateFriendlySize( width, height )
 * C_NamePlate.SetNamePlateSelfClickThrough( clickthrough )
 * C_NamePlate.SetNamePlateSelfPreferredClickInsets( left, right, top, bottom )
 * C_NamePlate.SetNamePlateSelfSize( width, height )
 * C_NamePlate.SetTargetClampingInsets( clickthrough )
 * SetInWorldUIVisibility( visible ) - Allows nameplates to be shown even while the UI is hidden (with Alt-Z)
 * UnitNameplateShowsWidgetsOnly( unit ) : nameplateShowsWidgetsOnly

Loss of Control

 * C_LossOfControl.GetActiveLossOfControlData( index ) : event - Returns info about an active loss-of-control effect.
 * C_LossOfControl.GetActiveLossOfControlDataByUnit( unitToken, index ) : event
 * C_LossOfControl.GetActiveLossOfControlDataCount : count - Returns the number of active loss-of-control effects.
 * C_LossOfControl.GetActiveLossOfControlDataCountByUnit( unitToken ) : count
 * GetActionLossOfControlCooldown( slot )
 * GetSpellLossOfControlCooldown( spellSlot )

Phasing
Players in different Phases cannot see eachother.
 * UnitInPartyShard( unit ) : inPartyShard
 * UnitPhaseReason( unit ) : reason - Returns the reason if a unit is NOT in the same phase.

Power Bar

 * GetUnitPowerBarInfo( unitToken ) : info
 * GetUnitPowerBarInfoByID( barID ) : info
 * GetUnitPowerBarStrings( unitToken ) : name, tooltip, cost
 * GetUnitPowerBarStringsByID( barID ) : name, tooltip, cost
 * GetUnitPowerBarTextureInfo( unitToken, textureIndex [, timerIndex] ) : texture, colorR, colorG, colorB, colorA
 * GetUnitPowerBarTextureInfoByID( barID, textureIndex ) : texture, colorR, colorG, colorB, colorA
 * UnitNumPowerBarTimers
 * UnitPowerBarID( unitToken ) : barID
 * UnitPowerBarTimerInfo

Vehicles
These functions were added in Patch 3.0.2
 * C_PvP.GetBattlefieldVehicleInfo( vehicleIndex, uiMapID ) : info
 * C_PvP.GetBattlefieldVehicles( uiMapID ) : vehicles
 * CanEjectPassengerFromSeat( seat ) - Returns 1 if the player can eject a passenger from a seat.
 * CanExitVehicle - Returns 1 if the player can be exit the Vehicle.
 * CanSwitchVehicleSeat
 * CanSwitchVehicleSeats - Returns 1 if the player can Switch Seats in the Vehicle.
 * EjectPassengerFromSeat( seat ) - Ejects a passenger from a seat.
 * GetNumBattlefieldVehicles( index )
 * GetVehicleUIIndicator( indicatorID )
 * GetVehicleUIIndicatorSeat( indicatorID, indicatorSeatIndex )
 * IsUsingVehicleControls
 * IsVehicleAimAngleAdjustable - Returns 1 if the player can adjust the Aim Angle of the Vehicle.
 * IsVehicleAimPowerAdjustable - Returns 1 if the player can adjust the Aim Power of the Vehicle.
 * PlayerVehicleHasComboPoints : vehicleHasComboPoints
 * UnitControllingVehicle( unit )
 * UnitHasVehiclePlayerFrameUI
 * UnitHasVehicleUI( unit )
 * UnitInVehicle( unit )
 * UnitInVehicleControlSeat( unit )
 * UnitInVehicleHidesPetFrame
 * UnitSwitchToVehicleSeat( unit, seatId )
 * UnitTargetsVehicleInRaidUI( unit )
 * UnitUsingVehicle( unit ) - Returns whether the specified unit is currently using a vehicle (including transitioning between seats).
 * UnitVehicleSeatCount( unit )
 * UnitVehicleSeatInfo( unit, seatId )
 * UnitVehicleSkin( unit )
 * VehicleAimDecrement
 * VehicleAimDownStart
 * VehicleAimDownStop
 * VehicleAimGetAngle
 * VehicleAimGetNormAngle
 * VehicleAimGetNormPower
 * VehicleAimIncrement
 * VehicleAimRequestAngle
 * VehicleAimRequestNormAngle
 * VehicleAimSetNormPower
 * VehicleAimUpStart
 * VehicleAimUpStop
 * VehicleExit - Exit the current Vehicle.
 * VehicleNextSeat
 * VehiclePrevSeat

Garrison Tech
Garrisons were added in Patch 6.0.2 and also utilized in later expanions.
 * C_Garrison.CanUpgradeGarrison
 * C_Garrison.ClearCompleteTalent( garrisonType )
 * C_Garrison.CloseArchitect
 * C_Garrison.CloseGarrisonTradeskillNPC
 * C_Garrison.CloseTalentNPC
 * C_Garrison.CloseTradeskillCrafter
 * C_Garrison.GetAllBonusAbilityEffects
 * C_Garrison.GetCompleteTalent( garrisonType )
 * C_Garrison.GetCurrencyTypes( garrType )
 * C_Garrison.GetCurrentGarrTalentTreeFriendshipFactionID : currentGarrTalentTreeFriendshipFactionID
 * C_Garrison.GetCurrentGarrTalentTreeID : currentGarrTalentTreeID
 * C_Garrison.GetGarrisonInfo( garrisonType )
 * C_Garrison.GetGarrisonTalentTreeCurrencyTypes( garrTalentTreeID ) : garrTalentTreeCurrencyType
 * C_Garrison.GetGarrisonTalentTreeType( garrTalentTreeID ) : garrTalentTreeType
 * C_Garrison.GetGarrisonUpgradeCost( followerType )
 * C_Garrison.GetLandingPageGarrisonType
 * C_Garrison.GetLandingPageItems( garrTypeID [, noSort] )
 * C_Garrison.GetLandingPageShipmentCount
 * C_Garrison.GetLandingPageShipmentInfoByContainerID( shipmentContainerID )
 * C_Garrison.GetLooseShipments( garrTypeID )
 * C_Garrison.GetNumPendingShipments
 * C_Garrison.GetNumShipmentCurrencies
 * C_Garrison.GetNumShipmentReagents
 * C_Garrison.GetPendingShipmentInfo( index )
 * C_Garrison.GetShipmentContainerInfo
 * C_Garrison.GetShipmentItemInfo
 * C_Garrison.GetShipmentReagentCurrencyInfo( currencyIndex )
 * C_Garrison.GetShipmentReagentInfo( reagentIndex )
 * C_Garrison.GetShipmentReagentItemLink( reagentIndex )
 * C_Garrison.GetSpecChangeCost
 * C_Garrison.GetTalentInfo( talentID ) : info
 * C_Garrison.GetTalentPointsSpentInTalentTree( garrTalentTreeID ) : talentPoints
 * C_Garrison.GetTalentTreeIDsByClassID( garrType, classID ) : treeIDs
 * C_Garrison.GetTalentTreeInfo( treeID ) : info
 * C_Garrison.GetTalentTreeResetInfo( garrTalentTreeID ) : goldCost, currencyCosts
 * C_Garrison.GetTalentTreeTalentPointResearchInfo( garrTalentTreeID, talentPointIndex, isRespec ) : goldCost, currencyCosts, durationSecs
 * C_Garrison.GetTalentUnlockWorldQuest( talentID ) : worldQuestID
 * C_Garrison.HasAdventures : hasAdventures
 * C_Garrison.HasGarrison( garrisonType )
 * C_Garrison.IsFollowerOnCompletedMission( followerID ) : followerOnCompletedMission
 * C_Garrison.IsInvasionAvailable
 * C_Garrison.IsOnGarrisonMap
 * C_Garrison.IsOnShipmentQuestForNPC
 * C_Garrison.IsPlayerInGarrison( garrType )
 * C_Garrison.IsTalentConditionMet( talentID ) : isMet, failureString
 * C_Garrison.IsUsingPartyGarrison
 * C_Garrison.IsVisitGarrisonAvailable
 * C_Garrison.RequestGarrisonUpgradeable( followerType )
 * C_Garrison.RequestLandingPageShipmentInfo
 * C_Garrison.RequestShipmentCreation
 * C_Garrison.RequestShipmentInfo
 * C_Garrison.ResearchTalent( garrTalentID )
 * C_Garrison.SetUsingPartyGarrison( enabled )
 * C_Garrison.ShouldShowMapTab( garrType )
 * C_Garrison.UpgradeGarrison( followerType )
 * GetEquipmentNameFromSpell - returns a garrison equipment for a spell.
 * GetFollowerTypeIDFromSpell - Returns the Garrison expansion type.
 * ReopenInteraction - Reopens the order hall talents interaction.

Buildings

 * C_Garrison.CancelConstruction( plotInstanceID )
 * C_Garrison.GetBuildingInfo( buildingID )
 * C_Garrison.GetBuildingLockInfo
 * C_Garrison.GetBuildingSizes
 * C_Garrison.GetBuildingSpecInfo
 * C_Garrison.GetBuildingTimeRemaining( plotInstanceID )
 * C_Garrison.GetBuildingTooltip( buildingID )
 * C_Garrison.GetBuildingUpgradeInfo( buildingID )
 * C_Garrison.GetBuildingsForPlot( plotInstanceID )
 * C_Garrison.GetBuildingsForSize( garrisonType, uiCategoryID )
 * C_Garrison.GetBuildings( garrisonType )
 * C_Garrison.GetGarrisonPlotsInstancesForMap( uiMapID ) : garrisonPlotInstances
 * C_Garrison.GetLandingPageShipmentInfo( buildingID )
 * C_Garrison.GetOwnedBuildingInfoAbbrev( plotInstanceID )
 * C_Garrison.GetOwnedBuildingInfo( plotInstanceID )
 * C_Garrison.GetPlotsForBuilding( buildingID )
 * C_Garrison.GetPlots( followerType )
 * C_Garrison.GetShipDeathAnimInfo
 * C_Garrison.GetTabForPlot( plotInstanceID )
 * C_Garrison.HasShipyard
 * C_Garrison.IsOnShipyardMap
 * C_Garrison.PlaceBuilding( plotInstanceID, buildingID )
 * C_Garrison.SetBuildingActive( plotInstanceID )
 * C_Garrison.SetBuildingSpecialization
 * C_Garrison.SwapBuildings( plotInstanceID1, plotInstanceID2 )
 * C_Garrison.UpgradeBuilding( plotInstanceID )

Trophies
 * C_Trophy.MonumentChangeAppearanceToTrophyID( trophyID )
 * C_Trophy.MonumentCloseMonumentUI
 * C_Trophy.MonumentGetCount
 * C_Trophy.MonumentGetSelectedTrophyID
 * C_Trophy.MonumentGetTrophyInfoByIndex( index )
 * C_Trophy.MonumentLoadList
 * C_Trophy.MonumentLoadSelectedTrophyID
 * C_Trophy.MonumentRevertAppearanceToSaved
 * C_Trophy.MonumentSaveSelection( trophyID )

Missions
Relates to Followers and Missions.
 * C_Garrison.AddFollowerToMission( missionID, followerID [, boardIndex] ) : followerAdded
 * C_Garrison.AllowMissionStartAboveSoftCap( garrFollowerTypeID )
 * C_Garrison.AreMissionFollowerRequirementsMet( missionRecID )
 * C_Garrison.AssignFollowerToBuilding( plotInstanceID, followerID )
 * C_Garrison.CanGenerateRecruits
 * C_Garrison.CanOpenMissionChest( missionID )
 * C_Garrison.CanSetRecruitmentPreference
 * C_Garrison.CanSpellTargetFollowerIDWithAddAbility( followerID )
 * C_Garrison.CastItemSpellOnFollowerAbility( followerID, abilityID )
 * C_Garrison.CastSpellOnFollower( followerID )
 * C_Garrison.CastSpellOnFollowerAbility( followerID, abilityID )
 * C_Garrison.CastSpellOnMission( missionID )
 * C_Garrison.CloseMissionNPC
 * C_Garrison.CloseRecruitmentNPC
 * C_Garrison.GenerateRecruits( mechanicTypeID, traitID )
 * C_Garrison.GetAllEncounterThreats( garrFollowerTypeID )
 * C_Garrison.GetAvailableMissions( [missionList,] garrFollowerTypeID )
 * C_Garrison.GetAvailableRecruits
 * C_Garrison.GetBasicMissionInfo( missionID )
 * C_Garrison.GetBuffedFollowersForMission( missionID, displayingAbilities )
 * C_Garrison.GetClassSpecCategoryInfo( garrFollowerType )
 * C_Garrison.GetCombatAllyMission( garrFollowerTypeID )
 * C_Garrison.GetCompleteMissions( [missionList,] garrFollowerTypeID )
 * C_Garrison.GetFollowerAbilities( guid|id )
 * C_Garrison.GetFollowerAbilityAtIndex( followerID, index )
 * C_Garrison.GetFollowerAbilityAtIndexByID( garrFollowerID, index )
 * C_Garrison.GetFollowerAbilityCounterMechanicInfo( garrAbilityID )
 * C_Garrison.GetFollowerAbilityCountersForMechanicTypes( garrFollowerTypeID )
 * C_Garrison.GetFollowerAbilityDescription( garrAbilityID )
 * C_Garrison.GetFollowerAbilityIcon( garrAbilityID )
 * C_Garrison.GetFollowerAbilityInfo( garrAbilityID )
 * C_Garrison.GetFollowerAbilityIsTrait( garrAbilityID )
 * C_Garrison.GetFollowerAbilityLink( abilityID )
 * C_Garrison.GetFollowerAbilityName( garrAbilityID )
 * C_Garrison.GetFollowerActivationCost
 * C_Garrison.GetFollowerBiasForMission( missionID, followerID )
 * C_Garrison.GetFollowerClassSpec( followerID )
 * C_Garrison.GetFollowerClassSpecAtlas( garrSpecID )
 * C_Garrison.GetFollowerClassSpecByID( garrFollowerID )
 * C_Garrison.GetFollowerClassSpecName( garrFollowerID )
 * C_Garrison.GetFollowerDisplayID( followerID )
 * C_Garrison.GetFollowerInfo( guid|id )
 * C_Garrison.GetFollowerInfoForBuilding
 * C_Garrison.GetFollowerIsTroop( guid|id )
 * C_Garrison.GetFollowerItemLevelAverage( followerID )
 * C_Garrison.GetFollowerItems( followerID )
 * C_Garrison.GetFollowerLevel( followerID )
 * C_Garrison.GetFollowerLevelXP( followerID )
 * C_Garrison.GetFollowerLink( followerID )
 * C_Garrison.GetFollowerLinkByID( garrFollowerID )
 * C_Garrison.GetFollowerMissionCompleteInfo( followerID ) : followerMissionCompleteInfo
 * C_Garrison.GetFollowerMissionTimeLeft( followerID )
 * C_Garrison.GetFollowerMissionTimeLeftSeconds( followerID )
 * C_Garrison.GetFollowerModelItems( followerID )
 * C_Garrison.GetFollowerName( followerID )
 * C_Garrison.GetFollowerNameByID( garrFollowerID )
 * C_Garrison.GetFollowerPortraitIconID( followerID )
 * C_Garrison.GetFollowerPortraitIconIDByID( garrFollowerID )
 * C_Garrison.GetFollowerQuality( followerID )
 * C_Garrison.GetFollowerQualityTable( garrFollowerTypeID )
 * C_Garrison.GetFollowerRecentlyGainedAbilityIDs( followerID )
 * C_Garrison.GetFollowerRecentlyGainedTraitIDs( followerID )
 * C_Garrison.GetFollowers - Returns a table of followers and their attributes.
 * C_Garrison.GetFollowerShipments( garrTypeID )
 * C_Garrison.GetFollowerSoftCap( garrFollowerTypeID )
 * C_Garrison.GetFollowerSourceTextByID( garrFollowerID )
 * C_Garrison.GetFollowerSpecializationAtIndex( followerID, index )
 * C_Garrison.GetFollowersSpellsForMission( missionID )
 * C_Garrison.GetFollowerStatus( followerID )
 * C_Garrison.GetFollowersTraitsForMission( missionID )
 * C_Garrison.GetFollowerTraitAtIndex( followerID, index )
 * C_Garrison.GetFollowerTraitAtIndexByID( garrFollowerID, index )
 * C_Garrison.GetFollowerTypeByID( garrFollowerID )
 * C_Garrison.GetFollowerTypeByMissionID( missionID )
 * C_Garrison.GetFollowerUnderBiasReason( missionID, followerID )
 * C_Garrison.GetFollowerXP( followerID )
 * C_Garrison.GetFollowerXPTable( garrFollowerTypeID )
 * C_Garrison.GetFollowerZoneSupportAbilities( guid|id )
 * C_Garrison.GetInProgressMissions( [missionList,] garrFollowerTypeID )
 * C_Garrison.GetMissionBonusAbilityEffects( missionID )
 * C_Garrison.GetMissionCompleteEncounters( missionID ) : encounters
 * C_Garrison.GetMissionCost( missionID )
 * C_Garrison.GetMissionDeploymentInfo( missionID ) : missionDeploymentInfo
 * C_Garrison.GetMissionDisplayIDs( missionID )
 * C_Garrison.GetMissionEncounterIconInfo( missionID ) : missionEncounterIconInfo
 * C_Garrison.GetMissionLink( missionID )
 * C_Garrison.GetMissionMaxFollowers( garrMissionID )
 * C_Garrison.GetMissionName( garrMissionID )
 * C_Garrison.GetMissionRewardInfo( garrMissionID [, missionDBID] )
 * C_Garrison.GetMissionSuccessChance( missionID )
 * C_Garrison.GetMissionTexture( offeredGarrMissionTextureID )
 * C_Garrison.GetMissionTimes( missionID )
 * C_Garrison.GetMissionUncounteredMechanics( missionID )
 * C_Garrison.GetNumActiveFollowers
 * C_Garrison.GetNumFollowerActivationsRemaining( garrTypeID )
 * C_Garrison.GetNumFollowerDailyActivations
 * C_Garrison.GetNumFollowers
 * C_Garrison.GetNumFollowersForMechanic( followerType, mechanicID )
 * C_Garrison.GetNumFollowersOnMission( missionID )
 * C_Garrison.GetPartyBuffs( missionID )
 * C_Garrison.GetPartyMentorLevels( missionID )
 * C_Garrison.GetPartyMissionInfo( missionID )
 * C_Garrison.GetPossibleFollowersForBuilding( followerType, plotInstanceID )
 * C_Garrison.GetRecruitAbilities( index )
 * C_Garrison.GetRecruiterAbilityCategories
 * C_Garrison.GetRecruiterAbilityList( traits )
 * C_Garrison.GetRecruitmentPreferences
 * C_Garrison.IsAboveFollowerSoftCap( garrFollowerTypeID )
 * C_Garrison.IsAtGarrisonMissionNPC : atGarrisonMissionNPC
 * C_Garrison.IsEnvironmentCountered( missionID ) : environmentCountered
 * C_Garrison.IsFollowerCollected( garrFollowerID )
 * C_Garrison.IsMechanicFullyCountered( missionID, followerID, mechanicID )
 * C_Garrison.MarkMissionComplete( missionID )
 * C_Garrison.MissionBonusRoll( missionID )
 * C_Garrison.RecruitFollower( followerIndex )
 * C_Garrison.RemoveFollower( dbID )
 * C_Garrison.RemoveFollowerFromBuilding
 * C_Garrison.RemoveFollowerFromMission( missionID, followerID [, boardIndex] )
 * C_Garrison.RenameFollower( followerID, name )
 * C_Garrison.RequestClassSpecCategoryInfo( garrFollowerTypeID )
 * C_Garrison.RushHealAllFollowers( followerType )
 * C_Garrison.RushHealFollower( garrFollowerID )
 * C_Garrison.SearchForFollower( guid|id, searchString )
 * C_Garrison.SetFollowerFavorite
 * C_Garrison.SetFollowerInactive( followerID, inactive )
 * C_Garrison.SetRecruitmentPreferences( mechanicTypeID, traitID )
 * C_Garrison.ShowFollowerNameInErrorMessage( missionRecID )
 * C_Garrison.StartMission( missionID )
 * C_Garrison.TargetSpellHasFollowerItemLevelUpgrade
 * C_Garrison.TargetSpellHasFollowerReroll
 * C_Garrison.TargetSpellHasFollowerTemporaryAbility
 * ItemCanTargetGarrisonFollowerAbility
 * SpellCanTargetGarrisonFollowerAbility
 * SpellCanTargetGarrisonFollower
 * SpellCanTargetGarrisonMission

Auto Missions

 * C_Garrison.GetAutoCombatDamageClassValues : damageClassStrings
 * C_Garrison.GetAutoMissionBoardState( missionID ) : targetInfo
 * C_Garrison.GetAutoMissionEnvironmentEffect( missionID ) : autoMissionEnvEffect
 * C_Garrison.GetAutoMissionTargetingInfo( missionID, followerID, casterBoardIndex ) : targetInfo
 * C_Garrison.GetAutoTroops( followerType ) : autoTroopInfo
 * C_Garrison.GetCombatLogSpellInfo( autoCombatSpellID ) : spellInfo
 * C_Garrison.GetFollowerAutoCombatSpells( garrFollowerID, followerLevel ) : spellInfo
 * C_Garrison.GetFollowerAutoCombatStats( garrFollowerID ) : autoCombatInfo
 * C_Garrison.RegenerateCombatLog( missionID ) : success
 * C_Garrison.SetAutoCombatSpellFastForward( state )

Artifacts
Artifacts were added in Patch 7.0.3
 * C_ArtifactUI.AddPower( powerID ) : success
 * C_ArtifactUI.ApplyCursorRelicToSlot( relicSlotIndex )
 * C_ArtifactUI.CanApplyArtifactRelic( relicItemID, onlyUnlocked ) : canApply
 * C_ArtifactUI.CanApplyCursorRelicToSlot( relicSlotIndex ) : canApply
 * C_ArtifactUI.CanApplyRelicItemIDToEquippedArtifactSlot( relicItemID, relicSlotIndex ) : canApply
 * C_ArtifactUI.CanApplyRelicItemIDToSlot( relicItemID, relicSlotIndex ) : canApply
 * C_ArtifactUI.CheckRespecNPC : canRespec
 * C_ArtifactUI.Clear - Clear artifact data of last opened artifact weapon.
 * C_ArtifactUI.ClearForgeCamera
 * C_ArtifactUI.ConfirmRespec
 * C_ArtifactUI.DoesEquippedArtifactHaveAnyRelicsSlotted : hasAnyRelicsSlotted
 * C_ArtifactUI.GetAppearanceInfo( appearanceSetIndex, appearanceIndex ) : artifactAppearanceID, appearanceName, displayIndex, unlocked, ... - Returns information about a selected artifact appearance.
 * C_ArtifactUI.GetAppearanceInfoByID( artifactAppearanceID ) : artifactAppearanceSetID, artifactAppearanceID, appearanceName, ... - Returns information about a selected artifact appearance.
 * C_ArtifactUI.GetAppearanceSetInfo( appearanceSetIndex ) : artifactAppearanceSetID, appearanceSetName, appearanceSetDescription, ...
 * C_ArtifactUI.GetArtifactArtInfo : artifactArtInfo - Returns information about the currently equipped artifact weapon.
 * C_ArtifactUI.GetArtifactInfo : itemID, altItemID, name, icon, xp, pointsSpent, quality, artifactAppearanceID, ...
 * C_ArtifactUI.GetArtifactItemID : itemID
 * C_ArtifactUI.GetArtifactTier : tier
 * C_ArtifactUI.GetArtifactXPRewardTargetInfo( artifactCategoryID ) : name, icon
 * C_ArtifactUI.GetCostForPointAtRank( rank, tier ) : cost
 * C_ArtifactUI.GetEquippedArtifactArtInfo : artifactArtInfo
 * C_ArtifactUI.GetEquippedArtifactInfo : itemID, altItemID, name, icon, xp, pointsSpent, quality, artifactAppearanceID, ...
 * C_ArtifactUI.GetEquippedArtifactItemID : itemID
 * C_ArtifactUI.GetEquippedArtifactNumRelicSlots( [onlyUnlocked] ) : numRelicSlots
 * C_ArtifactUI.GetEquippedArtifactRelicInfo( relicSlotIndex ) : name, icon, slotTypeName, link
 * C_ArtifactUI.GetEquippedRelicLockedReason( relicSlotIndex ) : lockedReason
 * C_ArtifactUI.GetForgeRotation : forgeRotationX, forgeRotationY, forgeRotationZ
 * C_ArtifactUI.GetItemLevelIncreaseProvidedByRelic( itemLinkOrID ) : itemIevelIncrease
 * C_ArtifactUI.GetMetaPowerInfo : spellID, powerCost, currentRank
 * C_ArtifactUI.GetNumAppearanceSets : numAppearanceSets
 * C_ArtifactUI.GetNumObtainedArtifacts : numObtainedArtifacts
 * C_ArtifactUI.GetNumRelicSlots( [onlyUnlocked] ) : numRelicSlots
 * C_ArtifactUI.GetPointsRemaining : pointsRemaining
 * C_ArtifactUI.GetPowerHyperlink( powerID ) : link
 * C_ArtifactUI.GetPowerInfo( powerID ) : powerInfo
 * C_ArtifactUI.GetPowerLinks( powerID ) : linkingPowerID
 * C_ArtifactUI.GetPowers : powerID
 * C_ArtifactUI.GetPowersAffectedByRelic( relicSlotIndex ) : powerIDs
 * C_ArtifactUI.GetPowersAffectedByRelicItemLink( relicItemInfo ) : powerIDs
 * C_ArtifactUI.GetPreviewAppearance : artifactAppearanceID
 * C_ArtifactUI.GetRelicInfo( relicSlotIndex ) : name, icon, slotTypeName, link
 * C_ArtifactUI.GetRelicInfoByItemID( itemID ) : name, icon, slotTypeName, link
 * C_ArtifactUI.GetRelicLockedReason( relicSlotIndex ) : lockedReason
 * C_ArtifactUI.GetRelicSlotType( relicSlotIndex ) : slotTypeName
 * C_ArtifactUI.GetRespecArtifactArtInfo : artifactArtInfo
 * C_ArtifactUI.GetRespecArtifactInfo : itemID, altItemID, name, icon, xp, pointsSpent, quality, artifactAppearanceID, ...
 * C_ArtifactUI.GetRespecCost : cost
 * C_ArtifactUI.GetTotalPowerCost( startingTrait, numTraits, artifactTier ) : totalArtifactPowerCost
 * C_ArtifactUI.GetTotalPurchasedRanks : totalPurchasedRanks
 * C_ArtifactUI.IsArtifactDisabled : artifactDisabled
 * C_ArtifactUI.IsAtForge : isAtForge
 * C_ArtifactUI.IsEquippedArtifactDisabled : artifactDisabled
 * C_ArtifactUI.IsEquippedArtifactMaxed : artifactMaxed
 * C_ArtifactUI.IsMaxedByRulesOrEffect : isEffectivelyMaxed
 * C_ArtifactUI.IsPowerKnown( powerID ) : known
 * C_ArtifactUI.IsViewedArtifactEquipped : isViewedArtifactEquipped
 * C_ArtifactUI.SetAppearance( artifactAppearanceID )
 * C_ArtifactUI.SetForgeCamera
 * C_ArtifactUI.SetForgeRotation( forgeRotationX, forgeRotationY, forgeRotationZ )
 * C_ArtifactUI.SetPreviewAppearance( [artifactAppearanceID] )
 * C_ArtifactUI.ShouldSuppressForgeRotation : shouldSuppressForgeRotation
 * HasArtifactEquipped
 * IsArtifactPowerItem
 * IsArtifactRelicItem( item )

Invasions
Invasions were added in Patch 7.0.3
 * C_InvasionInfo.AreInvasionsAvailable : areInvasionsAvailable - Returns true if invasions are active in the same physical area as the player.
 * C_InvasionInfo.GetInvasionForUiMapID( uiMapID ) : invasionID - Returns any invasion for a map.
 * C_InvasionInfo.GetInvasionInfo( invasionID ) : invasionInfo - Returns invasion info.
 * C_InvasionInfo.GetInvasionTimeLeft( invasionID ) : timeLeftMinutes - Returns the time left for an invasion.

Contribution
Relates to buildings on the Broken Shore or Warfronts; added in Patch 7.2.0.
 * C_ContributionCollector.Close - Closes the contribution collector API state.
 * C_ContributionCollector.Contribute( contributionID ) - Contributes resources to a building.
 * C_ContributionCollector.GetActive : contributionID - Returns the currently active buildings.
 * C_ContributionCollector.GetAtlases( contributionID ) : atlasName - Returns a table listing the possible states for a building.
 * C_ContributionCollector.GetBuffs( contributionID ) : spellID - Returns the buffs provided when a building is active.
 * C_ContributionCollector.GetContributionAppearance( contributionID, contributionState ) : appearance - Returns contribution appearance info.
 * C_ContributionCollector.GetContributionCollectorsForMap( uiMapID ) : contributionCollectors - Returns contribution buildings on a map.
 * C_ContributionCollector.GetContributionResult( contributionID ) : result - Returns a value indicating the result of a contribution.
 * C_ContributionCollector.GetDescription( contributionID ) : description - Returns the description of a building.
 * C_ContributionCollector.GetManagedContributionsForCreatureID( creatureID ) : contributionID - Returns contributions for a creature.
 * C_ContributionCollector.GetName( contributionID ) : name - Returns the name of a building.
 * C_ContributionCollector.GetOrderIndex( contributionID ) : orderIndex - Returns the order in which buildings are displayed.
 * C_ContributionCollector.GetRequiredContributionCurrency( contributionID ) : currencyID, currencyAmount - Returns the currencyID and amount needed to contribute to a building.
 * C_ContributionCollector.GetRequiredContributionItem( contributionID ) : itemID, itemCount - Returns the itemID and amount needed to contribute to a building.
 * C_ContributionCollector.GetRewardQuestID( contributionID ) : questID - Returns the hidden quest that is flagged completed when a contribution is made.
 * C_ContributionCollector.GetState( contributionID ) : contributionState, contributionPercentageComplete, timeOfNextStateChange, ... - Returns the current state of a building, its completion percentage, and time until next state change.
 * C_ContributionCollector.HasPendingContribution( contributionID ) : hasPending - Returns whether there is a pending contribution.
 * C_ContributionCollector.IsAwaitingRewardQuestData( contributionID ) : awaitingData - Returns whether the contribution API is waiting for quest data.

Azerite
Azerite was added in Patch 8.0.1
 * C_AzeriteItem.FindActiveAzeriteItem : activeAzeriteItemLocation
 * C_AzeriteItem.GetAzeriteItemXPInfo( azeriteItemLocation ) : xp, totalLevelXP
 * C_AzeriteItem.GetPowerLevel( azeriteItemLocation ) : powerLevel
 * C_AzeriteItem.GetUnlimitedPowerLevel( azeriteItemLocation ) : powerLevel
 * C_AzeriteItem.HasActiveAzeriteItem : hasActiveAzeriteItem
 * C_AzeriteItem.IsAzeriteItem( itemLocation ) : isAzeriteItem
 * C_AzeriteItem.IsAzeriteItemAtMaxLevel : isAtMax
 * C_AzeriteItem.IsAzeriteItemByID( itemInfo ) : isAzeriteItem
 * C_AzeriteItem.IsAzeriteItemEnabled( azeriteItemLocation ) : isEnabled
 * C_AzeriteEmpoweredItem.CanSelectPower( azeriteEmpoweredItemLocation, powerID ) : canSelect
 * C_AzeriteEmpoweredItem.CloseAzeriteEmpoweredItemRespec
 * C_AzeriteEmpoweredItem.ConfirmAzeriteEmpoweredItemRespec( azeriteEmpoweredItemLocation )
 * C_AzeriteEmpoweredItem.GetAllTierInfo( azeriteEmpoweredItemLocation ) : tierInfo
 * C_AzeriteEmpoweredItem.GetAllTierInfoByItemID( itemInfo [, classID] ) : tierInfo
 * C_AzeriteEmpoweredItem.GetAzeriteEmpoweredItemRespecCost : cost
 * C_AzeriteEmpoweredItem.GetPowerInfo( powerID ) : powerInfo
 * C_AzeriteEmpoweredItem.GetPowerText( azeriteEmpoweredItemLocation, powerID, level ) : powerText
 * C_AzeriteEmpoweredItem.GetSpecsForPower( powerID ) : specInfo
 * C_AzeriteEmpoweredItem.HasAnyUnselectedPowers( azeriteEmpoweredItemLocation ) : hasAnyUnselectedPowers
 * C_AzeriteEmpoweredItem.HasBeenViewed( azeriteEmpoweredItemLocation ) : hasBeenViewed
 * C_AzeriteEmpoweredItem.IsAzeriteEmpoweredItem( itemLocation ) : isAzeriteEmpoweredItem
 * C_AzeriteEmpoweredItem.IsAzeriteEmpoweredItemByID( itemInfo ) : isAzeriteEmpoweredItem
 * C_AzeriteEmpoweredItem.IsAzeritePreviewSourceDisplayable( itemInfo [, classID] ) : isAzeritePreviewSourceDisplayable
 * C_AzeriteEmpoweredItem.IsHeartOfAzerothEquipped : isHeartOfAzerothEquipped
 * C_AzeriteEmpoweredItem.IsPowerAvailableForSpec( powerID, specID ) : isPowerAvailableForSpec
 * C_AzeriteEmpoweredItem.IsPowerSelected( azeriteEmpoweredItemLocation, powerID ) : isSelected
 * C_AzeriteEmpoweredItem.SelectPower( azeriteEmpoweredItemLocation, powerID ) : success
 * C_AzeriteEmpoweredItem.SetHasBeenViewed( azeriteEmpoweredItemLocation )
 * C_PaperDollInfo.GetInspectAzeriteItemEmpoweredChoices( unit, equipmentSlotIndex ) : azeritePowerIDs

Azerite Essences were added in Patch 8.2.0
 * C_AzeriteEssence.ActivateEssence( essenceID, milestoneID )
 * C_AzeriteEssence.CanActivateEssence( essenceID, milestoneID ) : canActivate
 * C_AzeriteEssence.CanDeactivateEssence( milestoneID ) : canDeactivate
 * C_AzeriteEssence.CanOpenUI : canOpen
 * C_AzeriteEssence.ClearPendingActivationEssence
 * C_AzeriteEssence.CloseForge
 * C_AzeriteEssence.GetEssenceHyperlink( essenceID, rank ) : link
 * C_AzeriteEssence.GetEssenceInfo( essenceID ) : info
 * C_AzeriteEssence.GetEssences : essences
 * C_AzeriteEssence.GetMilestoneEssence( milestoneID ) : essenceID
 * C_AzeriteEssence.GetMilestoneInfo( milestoneID ) : info
 * C_AzeriteEssence.GetMilestones : milestones
 * C_AzeriteEssence.GetMilestoneSpell( milestoneID ) : spellID
 * C_AzeriteEssence.GetNumUnlockedEssences : numUnlockedEssences
 * C_AzeriteEssence.GetNumUsableEssences : numUsableEssences
 * C_AzeriteEssence.GetPendingActivationEssence : essenceID
 * C_AzeriteEssence.HasNeverActivatedAnyEssences : hasNeverActivatedAnyEssences
 * C_AzeriteEssence.HasPendingActivationEssence : hasEssence
 * C_AzeriteEssence.IsAtForge : isAtForge
 * C_AzeriteEssence.SetPendingActivationEssence( essenceID )
 * C_AzeriteEssence.UnlockMilestone( milestoneID )

Corruption
Corrupted items were added in Patch 8.3.0
 * C_Item.IsItemCorrupted( itemLoc ) : isCorrupted
 * C_Item.IsItemCorruptionRelated( itemLoc ) : isCorruptionRelated
 * C_Item.IsItemCorruptionResistant( itemLoc ) : isCorruptionResistant
 * C_ItemInteraction.SetCorruptionReforgerItemTooltip
 * GetCorruption
 * GetCorruptionResistance
 * GetNegativeCorruptionEffectInfo : corruptionEffects
 * IsCorruptedItem( item )

Island Expeditions
Island Expeditions were added in Patch 8.0.1
 * C_IslandsQueue.CloseIslandsQueueScreen - Closes the islands queue screen.
 * C_IslandsQueue.GetIslandDifficultyInfo : islandDifficultyInfo - Returns the island expedition modes.
 * C_IslandsQueue.GetIslandsMaxGroupSize : maxGroupSize - Returns the max group size for expeditions.
 * C_IslandsQueue.GetIslandsWeeklyQuestID : questID - Returns the weekly island quest.
 * C_IslandsQueue.QueueForIsland( difficultyID ) - Queues for an island expedition.
 * C_IslandsQueue.RequestPreloadRewardData( questId ) - Preloads reward data for a quest id.
 * C_PartyPose.GetPartyPoseInfoByMapID( mapID ) : info - Returns party pose info for a map.
 * ShouldShowIslandsWeeklyPOI

Scrapping Machine
The Scrapper was added in Patch 8.0.1
 * C_Item.CanScrapItem( itemLoc ) : canBeScrapped
 * C_ScrappingMachineUI.CloseScrappingMachine
 * C_ScrappingMachineUI.DropPendingScrapItemFromCursor( index )
 * C_ScrappingMachineUI.GetCurrentPendingScrapItemLocationByIndex( index ) : itemLoc
 * C_ScrappingMachineUI.GetScrapSpellID : spellID
 * C_ScrappingMachineUI.GetScrappingMachineName : name
 * C_ScrappingMachineUI.HasScrappableItems : hasScrappableItems
 * C_ScrappingMachineUI.RemoveAllScrapItems
 * C_ScrappingMachineUI.RemoveCurrentScrappingItem
 * C_ScrappingMachineUI.RemoveItemToScrap( index )
 * C_ScrappingMachineUI.ScrapItems
 * C_ScrappingMachineUI.SetScrappingMachine( gameObject )
 * C_ScrappingMachineUI.ValidateScrappingList

Shadowlands
Ardenweald
 * C_ArdenwealdGardening.GetGardenData : data
 * C_ArdenwealdGardening.IsGardenAccessible : accessible

The Maw
 * C_Spell.GetMawPowerBorderAtlasBySpellID( spellID ) : rarityBorderAtlas
 * GetMawPowerLinkBySpellID( spellID )

Torghast
 * C_PartyInfo.IsPartyInJailersTower : isPartyInJailersTower
 * C_ScenarioInfo.GetJailersTowerTypeString( runType ) : typeString
 * GetJailersTowerLevel
 * IsInJailersTower
 * IsJailersTowerLayerTimeLocked
 * IsOnGroundFloorInJailersTower

Anima
Anima was added in Patch 9.0.1
 * C_AnimaDiversion.CloseUI
 * C_AnimaDiversion.GetAnimaDiversionNodes : animaNodes
 * C_AnimaDiversion.GetOriginPosition : normalizedPosition
 * C_AnimaDiversion.GetReinforceProgress : progress
 * C_AnimaDiversion.GetTextureKit : textureKit
 * C_AnimaDiversion.OpenAnimaDiversionUI
 * C_AnimaDiversion.SelectAnimaNode( talentID, temporary )
 * C_Item.IsAnimaItemByID( itemInfo ) : isAnimaItem

Covenants
Covenants were added in Patch 9.0.1
 * C_Covenants.GetActiveCovenantID : covenantID
 * C_Covenants.GetCovenantData( covenantID ) : data
 * C_Covenants.GetCovenantIDs : covenantID
 * C_CovenantCallings.AreCallingsUnlocked : unlocked
 * C_CovenantCallings.RequestCallings
 * C_CovenantPreview.CloseFromUI
 * C_CovenantPreview.GetCovenantInfoForPlayerChoiceResponseID( playerChoiceResponseID ) : previewInfo
 * C_CovenantSanctumUI.CanAccessReservoir : canAccess
 * C_CovenantSanctumUI.CanDepositAnima : canDeposit
 * C_CovenantSanctumUI.DepositAnima
 * C_CovenantSanctumUI.EndInteraction
 * C_CovenantSanctumUI.GetAnimaInfo : currencyID, maxDisplayableValue
 * C_CovenantSanctumUI.GetCurrentTalentTreeID : currentTalentTreeID
 * C_CovenantSanctumUI.GetFeatures : features
 * C_CovenantSanctumUI.GetRenownLevel : level
 * C_CovenantSanctumUI.GetRenownLevels( covenantID ) : levels
 * C_CovenantSanctumUI.GetRenownRewardsForLevel( covenantID, renownLevel ) : rewards
 * C_CovenantSanctumUI.GetSanctumType : sanctumType
 * C_CovenantSanctumUI.GetSoulCurrencies : currencyIDs
 * C_CovenantSanctumUI.HasMaximumRenown : hasMaxRenown
 * C_CovenantSanctumUI.IsPlayerInRenownCatchUpMode : isInCatchUpMode
 * C_CovenantSanctumUI.IsWeeklyRenownCapped : isWeeklyCapped
 * C_CovenantSanctumUI.RequestCatchUpState

Legendary Crafting
Shadowlands legendaries can be crafted in the Forge of Domination.
 * C_LegendaryCrafting.CloseRuneforgeInteraction
 * C_LegendaryCrafting.CraftRuneforgeLegendary( description )
 * C_LegendaryCrafting.GetRuneforgeItemPreviewInfo( baseItem [, runeforgePowerID, modifiers] ) : info
 * C_LegendaryCrafting.GetRuneforgeLegendaryComponentInfo( runeforgeLegendary ) : componentInfo
 * C_LegendaryCrafting.GetRuneforgeLegendaryCost( baseItem ) : cost
 * C_LegendaryCrafting.GetRuneforgeLegendaryCraftSpellID : spellID
 * C_LegendaryCrafting.GetRuneforgeLegendaryCurrencies : currencies
 * C_LegendaryCrafting.GetRuneforgeLegendaryUpgradeCost( runeforgeLegendary, upgradeItem ) : cost
 * C_LegendaryCrafting.GetRuneforgeModifierInfo( baseItem, [powerID], addedModifierIndex, modifiers ) : name, description
 * C_LegendaryCrafting.GetRuneforgeModifiers : modifiedReagentItemIDs
 * C_LegendaryCrafting.GetRuneforgePowerInfo( runeforgePowerID ) : power
 * C_LegendaryCrafting.GetRuneforgePowers( [baseItem, filter] ) : specRuneforgePowerIDs, otherSpecRuneforgePowerIDs
 * C_LegendaryCrafting.GetRuneforgePowersByClassAndSpec( [classID, specID, filter] ) : runeforgePowerIDs
 * C_LegendaryCrafting.GetRuneforgePowerSlots( runeforgePowerID ) : slotNames
 * C_LegendaryCrafting.IsRuneforgeLegendary( item ) : isRuneforgeLegendary
 * C_LegendaryCrafting.IsRuneforgeLegendaryMaxLevel( runeforgeLegendary ) : isMaxLevel
 * C_LegendaryCrafting.IsUpgradeItemValidForRuneforgeLegendary( runeforgeLegendary, upgradeItem ) : isValid
 * C_LegendaryCrafting.IsValidRuneforgeBaseItem( baseItem ) : isValid
 * C_LegendaryCrafting.MakeRuneforgeCraftDescription( baseItem, runeforgePowerID, modifiers ) : description
 * C_LegendaryCrafting.UpgradeRuneforgeLegendary( runeforgeLegendary, upgradeItem )

Soulbinds
Relates to Soulbinding and Conduits.
 * C_Soulbinds.ActivateSoulbind( soulbindID )
 * C_Soulbinds.CanActivateSoulbind( soulbindID ) : result, errorDescription
 * C_Soulbinds.CanModifySoulbind : result
 * C_Soulbinds.CanResetConduitsInSoulbind( soulbindID ) : result, errorDescription
 * C_Soulbinds.CanSwitchActiveSoulbindTreeBranch : result
 * C_Soulbinds.CloseUI
 * C_Soulbinds.CommitPendingConduitsInSoulbind( soulbindID )
 * C_Soulbinds.FindNodeIDActuallyInstalled( soulbindID, conduitID ) : nodeID
 * C_Soulbinds.FindNodeIDAppearingInstalled( soulbindID, conduitID ) : nodeID
 * C_Soulbinds.FindNodeIDPendingInstall( soulbindID, conduitID ) : nodeID
 * C_Soulbinds.FindNodeIDPendingUninstall( soulbindID, conduitID ) : nodeID
 * C_Soulbinds.GetActiveSoulbindID : soulbindID
 * C_Soulbinds.GetConduitCharges : charges
 * C_Soulbinds.GetConduitChargesCapacity : charges
 * C_Soulbinds.GetConduitCollection( conduitType ) : collectionData
 * C_Soulbinds.GetConduitCollectionCount : count
 * C_Soulbinds.GetConduitCollectionData( conduitID ) : collectionData
 * C_Soulbinds.GetConduitCollectionDataAtCursor : collectionData
 * C_Soulbinds.GetConduitCollectionDataByVirtualID( virtualID ) : collectionData
 * C_Soulbinds.GetConduitDisplayed( nodeID ) : conduitID
 * C_Soulbinds.GetConduitHyperlink( conduitID, rank ) : link
 * C_Soulbinds.GetConduitIDPendingInstall( nodeID ) : conduitID
 * DEPRECATED C_Soulbinds.GetConduitItemLevel( conduitID, rank ) : itemLevel
 * C_Soulbinds.GetConduitQuality( conduitID, rank ) : quality
 * C_Soulbinds.GetConduitRank( conduitID ) : conduitRank
 * C_Soulbinds.GetConduitSpellID( conduitID, conduitRank ) : spellID
 * C_Soulbinds.GetInstalledConduitID( nodeID ) : conduitID
 * C_Soulbinds.GetNode( nodeID ) : node
 * C_Soulbinds.GetSoulbindData( soulbindID ) : data
 * C_Soulbinds.GetTotalConduitChargesPending : count
 * C_Soulbinds.GetTotalConduitChargesPendingInSoulbind( soulbindID ) : count
 * C_Soulbinds.GetTree( treeID ) : tree
 * C_Soulbinds.HasAnyInstalledConduitInSoulbind( soulbindID ) : result
 * C_Soulbinds.HasAnyPendingConduits : result
 * C_Soulbinds.HasPendingConduitsInSoulbind( soulbindID ) : result
 * C_Soulbinds.IsConduitInstalled( nodeID ) : result
 * C_Soulbinds.IsConduitInstalledInSoulbind( soulbindID, conduitID ) : result
 * C_Soulbinds.IsItemConduitByItemInfo( itemInfo ) : result
 * C_Soulbinds.IsNodePendingModify( nodeID ) : result
 * C_Soulbinds.IsUnselectedConduitPendingInSoulbind( soulbindID ) : result
 * C_Soulbinds.ModifyNode( nodeID, conduitID, type )
 * C_Soulbinds.SelectNode( nodeID )
 * C_Soulbinds.UnmodifyNode( nodeID )
 * C_Item.IsItemConduit( itemLoc ) : isConduit
 * SetCursorVirtualItem

Classic
See Global functions/Classic for a complete list.


 * C_StorePublic.HasPurchaseableProducts
 * AttemptToSaveBindings( which ) - Writes the current in-memory key bindings to disk.
 * CastingInfo - Returns the player's currently casting spell.
 * ChannelInfo - Returns the player's currently channeling spell.
 * IsPlayerAttacking( unit ) - Returns if the player is melee attacking the specified unit.
 * ShowCloak( flag ) - Enables or disables display of your cloak.
 * ShowHelm( flag ) - Enables or disables display of your helm.
 * ShowingCloak - Returns if the player is showing his cloak.
 * ShowingHelm - Returns if the player is showing his helm.
 * UnitResistance( unit [, resistanceIndex] ) - Returns information about a unit's resistance.

Auction House

 * CalculateAuctionDeposit( runTime, stackSize, numStacks ) - Returns the required deposit for the current selling item given the specified duration (1=12h, 2=24h, 3=48h).
 * CanCancelAuction( index ) - Returns 1 if auction can be canceled.
 * CanSendAuctionQuery - Returns 1 if auction search button would be active, nil otherwise.
 * CancelAuction( index ) - Cancel the specified auction (on the "owner" list).
 * CancelSell - Clears the auction house listing queue, not creating any additional auctions.
 * ClickAuctionSellItemButton - Puts the currently 'picked up' item into the 'create auction' slot.
 * CloseAuctionHouse - Will close the AuctionFrame if opened.
 * GetAuctionDeposit( runTime, minBid, buyoutPrice [, itemCount, numStacks] )
 * GetAuctionHouseDepositRate - Returns the deposit rate (percentage) for the currently open auction house (Possibly out-dated by CalculateAuctionDeposit).
 * GetAuctionItemBattlePetInfo( type, index ) - Returns model details about the specified Battle Pet auction item.
 * GetAuctionItemInfo( type, index ) - Returns details about the specified auction item.
 * GetAuctionItemLink( type, index ) - Returns an itemLink for the specified auction item.
 * GetAuctionItemSubClasses( classID ) - Returns subcategories for the item category.
 * GetAuctionItemTimeLeft( type, index ) - Returns the time left status of the specified auction item.
 * GetAuctionSellItemInfo - Returns information about the current selling item (or nil if none selected).
 * GetAuctionSort
 * GetBidderAuctionItems( [page] ) - Returns details about an auction item on which the user is bidding (possibly out-dated by GetAuctionItemInfo )
 * GetNumAuctionItems( type ) - Returns the size of the specified auction item list.
 * GetOwnerAuctionItems( [page] ) - Returns details about an auction item of which the user is the owner (possibly out-dated by GetAuctionItemInfo )
 * GetSelectedAuctionItem( type ) - Returns the index (1-50) of the selected auction item or 0 if none is selected.
 * IsAuctionSortReversed( type, sort ) - Returns 1 if the specified auction list and sort is reversed, nil otherwise.
 * PlaceAuctionBid( type, index, bid ) - Place a bid on the selected auction item.
 * PostAuction( minBid, buyoutPrice, runTime, count )
 * QueryAuctionItems( name, minLevel, maxLevel, invTypeIndex, classIndex, subclassIndex, page, isUsable, qualityIndex ) - Performs a search of the auction house with the specified characteristics.
 * SetAuctionsTabShowing( showing ) - Sets whether auction-related events should be delivered to the client.
 * SetSelectedAuctionItem( type, index ) - Selects a specific item in the auction house.
 * SortAuctionApplySort( type )
 * SortAuctionClearSort( type )
 * SortAuctionItems( type, sort ) - Toggles sorting the specific auction list by a specific column. (deprecated around Patch 2.0)
 * SortAuctionSetSort( type, sort [, reverse] ) - Sorts the specific auction list by a specific column, optionally in reverse order. Requires SortAuctionApplySort afterwards to update.
 * StartAuction( minBid, buyoutPrice, runTime, stackSize, numStacks ) - Starts the auction you have created in the Create Auction panel.

Hunter Pets

 * ConfirmPetUnlearn - Confirms unlearning the current pet's skills.
 * GetPetHappiness - Returns the pet's happiness, damage percentage, and loyalty gain rate.
 * GetPetLoyalty - Returns pet loyalty flavor text.
 * GetPetTrainingPoints - Gets the training point information about the current pet.

Stables

 * BuyStableSlot - Buys the next stable slot if the stable window is open and you can afford it.
 * ClickStablePet( index ) - Selects a stable pet.
 * GetNextStableSlotCost - Returns the next stable slot's cost in copper.
 * GetNumStablePets - Returns the amount of stable pets.
 * GetNumStableSlots - Returns the amount of stable slots.
 * GetSelectedStablePet - Gets the index of the currently selected pet in the stable.
 * StablePet - Puts your current pet in the stable if there is room.
 * UnstablePet( index ) - Unstables a pet.

Keyring
The Keyring was added again in Patch 1.13.3
 * HasKey - Returns whether or not the player has a key ring.
 * KeyRingButtonIDToInvSlotID( buttonID ) - Map a keyring button to an inventory slot button for use in inventory functions.

Professions

 * CloseTradeSkill
 * CollapseTradeSkillSubClass( index )
 * DoTradeSkill( index [, repeat] )
 * ExpandTradeSkillSubClass( index )
 * GetFirstTradeSkill
 * GetNumPrimaryProfessions
 * GetNumTradeSkills
 * GetTradeSkillCooldown( index )
 * GetTradeSkillIcon( index )
 * GetTradeSkillInfo( index )
 * GetTradeSkillInvSlotFilter( index )
 * GetTradeSkillInvSlots
 * GetTradeSkillItemLink( index )
 * GetTradeSkillItemStats
 * GetTradeSkillLine
 * GetTradeSkillNumMade( index )
 * GetTradeSkillNumReagents( index )
 * GetTradeSkillReagentInfo( index, reagentIndex )
 * GetTradeSkillReagentItemLink( index, reagentIndex )
 * GetTradeSkillSelectionIndex
 * GetTradeSkillSubClassFilter( index )
 * GetTradeSkillSubClasses
 * GetTradeSkillTools( index )
 * GetTradeskillRepeatCount
 * SelectTradeSkill( index )
 * SetTradeSkillInvSlotFilter( index [, on\off, exclusive] )
 * SetTradeSkillSubClassFilter( index [, on\off, exclusive] )

Crafting
The Craft UI is used for Enchanting and Beast Training.
 * CloseCraft
 * CollapseCraftSkillLine( index )
 * DoCraft( index )
 * ExpandCraftSkillLine( index )
 * GetCraftButtonToken
 * GetCraftDescription( index )
 * GetCraftDisplaySkillLine
 * GetCraftIcon( index )
 * GetCraftInfo( index )
 * GetCraftItemLink( index )
 * GetCraftName
 * GetCraftNumReagents( index )
 * GetCraftReagentInfo( index, reagentIndex )
 * GetCraftReagentItemLink( index, reagentIndex )
 * GetCraftSelectionIndex
 * GetCraftSkillLine( index )
 * GetCraftSpellFocus( index )
 * GetNumCrafts
 * SelectCraft( index )

PvP

 * GetInspectPVPRankProgress - Gets the inspected unit's progress towards the next PvP rank.
 * GetPVPLastWeekStats - Gets the player's PVP contribution statistics for the previous week.
 * GetPVPRankInfo( rank [, unit] ) - Returns information about a specific PvP rank.
 * GetPVPRankProgress - Returns the player's progress to the next PvP rank.
 * GetPVPThisWeekStats - Gets your PVP contribution statistics for the current week.
 * UnitIsCivilian( unit ) - Determine whether a unit is a civilian (low level enemy faction NPC that counts as a dishonorable kill).
 * UnitPVPRank( unit ) - Returns the specified unit's PvP rank ID.

Battlegrounds

 * GetBattlefieldInstanceInfo( index ) - Returns the battlefield instance ID for an index in the battlemaster listing.
 * GetNumBattlefields - Returns the number of available instances for the selected battleground at the battlemaster.
 * GetSelectedBattlefield - Returns the currently selected battlefield at the battlemaster.
 * SetSelectedBattlefield( index ) - Selects a battlefield instance at the battlemaster.

Skills
Relates to player/trainer Skills.
 * CollapseSkillHeader( index ) - Collapses a header in the skills window.
 * CollapseTrainerSkillLine( index ) - Collapses a header in the trainer window, hiding all spells below it.
 * ExpandSkillHeader( index ) - Expands a header in the skills window.
 * ExpandTrainerSkillLine( index ) - Expands a header in the trainer window, showing all spells below it.
 * GetNumSkillLines - Returns the number of skill lines in the skill window, including headers.
 * GetSelectedSkill - Returns the currently selected skill line.
 * GetSkillLineInfo( index ) - Returns information on a skill line/header.
 * IsTrainerServiceLearnSpell( index ) - Returns the type of trainer spell in the trainer window.
 * SetSelectedSkill( index ) - Selects a skill line in the skill window.

Talents

 * GetNumTalents( tabIndex ) - Returns the amount of talents for a specialization.
 * GetNumTalentTabs - Returns the total number of talent tabs for the player.
 * GetTalentInfo( tabIndex, talentIndex ) - Returns information about a talent.
 * GetTalentPrereqs( tabIndex, talentIndex ) - Returns the tier and column of a talent's prerequisite, and if the talent is learnable.
 * GetTalentTabInfo( index ) - Returns information for a talent tab (tree).
 * UnitCharacterPoints( unit ) - Returns the number of unspent talent points of the player.

Tracking

 * CancelTrackingBuff - Cancels your current tracking buff (skills like Find Minerals and Track Humanoids).
 * GetTrackingTexture - Returns the texture of the active tracking buff.

FrameXML
See also this old list of notable FrameXML functions.

MathUtil

 * UI Lerp( startValue, endValue, amount ) : number - Linearly interpolates between two values for a parameter  in the closed unit interval [0, 1]
 * UI Clamp( value, min, max ) : number
 * UI Saturate( value ) : number
 * UI Wrap( value, max ) : number
 * UI ClampDegrees( value ) : number
 * UI ClampMod( value, mod ) : number
 * UI NegateIf( value, condition ) : number
 * UI PercentageBetween( value, startValue, endValue ) : number
 * UI ClampedPercentageBetween( value, startValue, endValue ) : number
 * UI DeltaLerp( startValue, endValue, amount, timeSec ) : number
 * UI FrameDeltaLerp( startValue, endValue, amount ) : number
 * UI RandomFloatInRange( minValue, maxValue ) : number
 * UI Round( value ) : number - Rounds a value.
 * UI Square( value ) : number - Squares a value.
 * UI CalculateDistanceSq( x1, y1, x2, y2 ) : number
 * UI CalculateDistance( x1, y1, x2, y2 ) : number
 * UI CalculateAngleBetween( x1, y1, x2, y2 ) : number

TableUtil

 * UI ripairs( tbl ) : iter, invariant, init - Reverse iterates over a sequential table.
 * UI tDeleteItem( tbl, item ) - Removes a value from a sequential table.
 * UI tIndexOf( tbl, item ) : index - Returns the index for a value in a table.
 * UI tContains( tbl, item ) : boolean - Returns true if a sequential table contains a value.
 * UI tCompare( lhsTable, rhsTable [, depth] ) : boolean - Does a deep compare on the values of the table.
 * UI tInvert( tbl ) : table - Returns an inverted table.
 * UI tFilter( tbl, pred, isIndexTable ) : table
 * UI tAppendAll( table, addedArray ) - Appends the contents of a sequential table to another table.
 * UI tUnorderedRemove( tbl, index )
 * UI CopyTable( settings ) : table - Returns a deep copy of a table.
 * UI AccumulateIf( tbl, pred ) : count
 * UI ContainsIf( tbl, pred ) : boolean
 * UI FindInTableIf( tbl, pred ) : key, value
 * UI SafePack( ... ) : table
 * UI SafeUnpack( tbl ) : ...

CvarUtil

 * UI RegisterCVar( name, value )
 * UI ResetTestCvars
 * UI SetCVar( name, value, eventName ) : success
 * UI GetCVar( name ) : value
 * UI SetCVarBitfield( name, index, value, scriptCVar ) : success
 * UI GetCVarBitfield( name, index ) : boolean
 * UI GetCVarBool( name ) : boolean
 * UI GetCVarDefault( name ) : value

Mixins

 * See also the Complete list of mixins

Mixins are similar to classes in OOP languages. An object can "inherit" from multiple mixins.
 * UI Mixin( object, ... ) - Copies mixins into an existing object.
 * UI CreateFromMixins( ... ) - Copies mixins into a new object.


 * UI CreateColor( r, g, b, a ) - Returns a ColorMixin object.
 * UI CreateRectangle( left, right, top, bottom ) - Returns a RectangleMixin object.
 * UI CreateVector2D( x, y ) - Returns a Vector2DMixin object.
 * UI CreateVector3D( x, y, z ) - Returns a Vector3DMixin object.
 * UI SpellMixin:CreateFromSpellID( spellID ) - Returns a SpellMixin object.
 * UI Item:CreateFromItemID( itemID ) - Returns an ItemMixin object.
 * UI ItemLocation:CreateFromBagAndSlot - Returns an ItemLocationMixin object.
 * UI PlayerLocation:CreateFromGUID( guid ) - Returns a PlayerLocationMixin object.
 * UI TransmogUtil.CreateTransmogLocation( slotDescriptor, transmogType, modification ) - Returns a TransmogLocationMixin object.


 * UI AnchorMixin
 * UI AnimatedNumericFontStringMixin
 * UI DoublyLinkedListMixin
 * UI GridLayoutMixin
 * UI LineMixin
 * UI SecondsFormatterMixin
 * UI SparseGridMixin
 * UI TextureLoadingGroupMixin


 * UI CreateObjectPool( creationFunc, resetterFunc ) - Creates a ObjectPoolMixin object for widgets.
 * UI CreateFramePool( frameType [, parent, frameTemplate, resetterFunc, forbidden] ) - Creates a FramePoolMixin for Frames.
 * UI CreateTexturePool( parent [, layer, subLayer, textureTemplate, resetterFunc] ) - Creates a TexturePoolMixin for Textures.
 * UI CreateFontStringPool( parent [, layer, subLayer, fontStringTemplate, resetterFunc] ) - Creates a FontStringPoolMixin for FontStrings.
 * UI CreateActorPool( parent [, actorTemplate, resetterFunc] ) - Creates an ActorPoolMixin for Actors.
 * UI CreateFramePoolCollection - Creates a FramePoolCollectionMixin object for frame pools.

UIParent

 * UI AbbreviateLargeNumbers( value )
 * UI AbbreviateNumbers( value )

These functions toggle the Interface Panels, but if they use  they cannot be called in combat.
 * UI ( frame, force )
 * UI PVEFrame_ToggleFrame - Toggles the Group Finder.
 * UI ToggleAchievementFrame - Shows the Achievements frame.
 * UI ToggleCharacter( index ) - Toggles the character pane to the specified frame.
 * UI ToggleCollectionsJournal( index ) - Toggles the Collections window.
 * UI ToggleEncounterJournal - Toggles the Adventure Guide.
 * UI ToggleFriendsFrame( [tabNumber] ) - Opens/closes the friends pane, optionally on a specific tab.
 * UI ToggleGameMenu - Opens/closes the game menu.
 * UI ToggleGuildFrame - Toggles the Guild & Communites frame.
 * UI ToggleHelpFrame - Opens the Help Request frame.
 * UI ToggleMinimap - Turns the minimap display on/off.
 * UI TogglePVPUI - Opens/closes the PvP frame.
 * UI ToggleSpellBook( bookType ) - Shows the spellbook. Can show your spells or your pet's.
 * UI ToggleTalentFrame - Opens the Talent frame.

Interface/SharedXML

AccountUtil

 * UI GameLimitedMode_IsActive
 * UI GetClampedCurrentExpansionLevel

AnchorUtil

 * UI AnchorUtil.CreateAnchor( point, relativeTo, relativePoint, x, y )
 * UI AnchorUtil.CreateGridLayout( direction, rowSize, spacingX, spacingY )
 * UI AnchorUtil.CreateAnchorFromPoint( region, pointIndex )
 * UI AnchorUtil.GridLayout( frames, initialAnchor, layout )
 * UI AnchorUtil.GridLayoutFactoryByCount( factoryFunction, count, initialAnchor, layout )
 * UI AnchorUtil.GridLayoutFactory( factoryFunction, initialAnchor, totalWidth, totalHeight, overrideDirection, overridePaddingX, overridePaddingY )
 * UI AnchorUtil.MirrorRegionsAlongVerticalAxis( mirrorDescriptions )
 * UI AnchorUtil.MirrorRegionsAlongHorizontalAxis( mirrorDescriptions )

ColorUtil

 * UI CreateColorFromHexString( hexColor )
 * UI CreateColorFromBytes( r, g, b, a )
 * UI AreColorsEqual( left, right )
 * UI GetClassColor( classFilename )
 * UI GetClassColorObj( classFilename )
 * UI GetClassColoredTextForUnit( unit, text )
 * UI GetFactionColor( factionGroupTag )

EasingUtil

 * UI EasingUtil.InQuadratic( percent )
 * UI EasingUtil.OutQuadratic( percent )
 * UI EasingUtil.InOutQuadratic( percent )
 * UI EasingUtil.InCubic( percent )
 * UI EasingUtil.OutCubic( percent )
 * UI EasingUtil.InOutCubic( percent )
 * UI EasingUtil.InQuartic( percent )
 * UI EasingUtil.OutQuartic( percent )
 * UI EasingUtil.InOutQuartic( percent )
 * UI EasingUtil.InQuintic( percent )
 * UI EasingUtil.OutQuintic( percent )
 * UI EasingUtil.InOutQuintic( percent )

ErrorUtil

 * UI CallErrorHandler( ... )

Flags

 * UI Flags_CreateMask( ... ) - Creates a bitmask.
 * UI Flags_CreateMaskFromTable( flagsTable )
 * UI FlagsUtil.IsSet( bitMask, flagOrMask )

FormattingUtil

 * UI SplitTextIntoLines( text, delimiter )
 * UI SplitTextIntoHeaderAndNonHeader( text )
 * UI FormatValueWithSign( value )
 * UI FormatLargeNumber( amount ) - Formats a number with dot or comma number seperators.
 * UI GetMoneyString( money, separateThousands )
 * UI FormatPercentage( percentage, roundToNearestInteger )
 * UI FormatFraction( numerator, denominator )
 * UI GetHighlightedNumberDifferenceString( baseString, newString )
 * UI FormatUnreadMailTooltip( tooltip, headerText, senders )
 * UI GetCurrencyString( currencyID, overrideAmount, colorCode, abbreviate )
 * UI GetCurrenciesString( currencies )
 * UI ReplaceGenderTokens( string, gender )

FrameUtil

 * UI FrameUtil.RegisterFrameForEvents( frame, events )
 * UI FrameUtil.UnregisterFrameForEvents( frame, events )
 * UI FrameUtil.RegisterFrameForUnitEvents( frame, events, ... )
 * UI DoesAncestryInclude( ancestry, frame )
 * UI GetUnscaledFrameRect( frame, scale )
 * UI ApplyDefaultScale( frame, minScale, maxScale )
 * UI UpdateScaleForFit( frame )

FunctionUtil

 * UI ExecuteFrameScript( frame, scriptName, ... ) - Manually calls the handler for a frame script.
 * UI CallMethodOnNearestAncestor( self, methodName, ... )
 * UI GetValueOrCallFunction( tbl, key, ... )
 * UI GenerateClosure( f, ... )

InterfaceUtil

 * UI ReloadUI
 * UI StoreInterfaceUtil.OpenToSubscriptionProduct

LinkUtil

 * UI ExtractHyperlinkString( linkString ) - Strips any UI escape sequence (e.g. color coding) from a hyperlink.
 * UI ExtractLinkData( link )
 * UI ExtractQuestRewardID( linkString )
 * UI GetItemInfoFromHyperlink( link )
 * UI GetAchievementInfoFromHyperlink( link )
 * UI GetURLIndexAndLoadURL( self, link )

NineSlice

 * UI NineSliceUtil.ApplyUniqueCornersLayout( self, textureKit )
 * UI NineSliceUtil.ApplyIdenticalCornersLayout( self, textureKit )
 * UI NineSliceUtil.ApplyLayout( container, userLayout, textureKit )
 * UI NineSliceUtil.DisableSharpening( container )
 * UI NineSliceUtil.ApplyLayoutByName( container, userLayoutName, textureKit )
 * UI NineSliceUtil.GetLayout( layoutName )
 * UI NineSliceUtil.AddLayout( layoutName, layout )

PixelUtil

 * UI PixelUtil.GetPixelToUIUnitFactor
 * UI PixelUtil.GetNearestPixelSize( uiUnitSize, layoutScale, minPixels )
 * UI PixelUtil.SetWidth( region, width, minPixels )
 * UI PixelUtil.SetHeight( region, height, minPixels )
 * UI PixelUtil.SetSize( region, width, height, minWidthPixels, minHeightPixels )
 * UI PixelUtil.SetPoint( region, point, relativeTo, relativePoint, offsetX, offsetY, minOffsetXPixels, minOffsetYPixels )
 * UI PixelUtil.SetStatusBarValue( statusBar, value )

RegionUtil

 * UI RegionUtil.IsDescendantOf( potentialDescendant, potentialAncestor )
 * UI RegionUtil.IsDescendantOfOrSame( potentialDescendant, potentialAncestorOrSame )
 * UI RegionUtil.CalculateDistanceSqBetween( region1, region2 )
 * UI RegionUtil.CalculateDistanceBetween( region1, region2 )
 * UI RegionUtil.CalculateAngleBetween( region1, region2 )

RestrictedInfrastructure

 * UI tostringall( ... )
 * UI IsFrameHandle( handle, protected )
 * UI GetFrameHandleFrame( handle, protected, onlyProtected )
 * UI GetFrameHandle( frame, protected )

ScriptAnimationUtil

 * UI ScriptAnimationUtil.GetScriptAnimationLock( region )
 * UI ScriptAnimationUtil.ReleaseScriptAnimationLock( region )
 * UI ScriptAnimationUtil.IsScriptAnimationLockActive( region )
 * UI ScriptAnimationUtil.ShakeFrameRandom( region, magnitude, duration, frequency )
 * UI ScriptAnimationUtil.ShakeFrame( region, shake, maximumDuration, frequency )
 * UI ScriptAnimationUtil.GenerateEasedVariationCallback( easingFunction, distanceX, distanceY, alpha, scale )
 * UI ScriptAnimationUtil.StartScriptAnimation( region, variationCallback, duration, onFinish )

ScriptedAnimationEffects

 * UI ScriptedAnimationEffectsUtil.GetEffectByID( effectID )
 * UI ScriptedAnimationEffectsUtil.ReloadDB

TextureUtil

 * UI GetTextureInfo( obj )
 * UI SetClampedTextureRotation( texture, rotationDegrees )
 * UI ClearClampedTextureRotation( texture )
 * UI GetTexCoordsByGrid( xOffset, yOffset, textureWidth, textureHeight, gridWidth, gridHeight )
 * UI GetTexCoordsForRole( role )
 * UI CreateTextureMarkup( file, fileWidth, fileHeight, width, height, left, right, top, bottom, xOffset, yOffset )
 * UI CreateAtlasMarkup( atlasName, width, height, offsetX, offsetY )
 * UI SetupAtlasesOnRegions( frame, regionsToAtlases, useAtlasSize )
 * UI GetFinalNameFromTextureKit( fmt, textureKits )
 * UI SetupTextureKitOnFrame( textureKit, frame, fmt, setVisibility, useAtlasSize )
 * UI SetupTextureKitOnFrames( textureKit, frames, setVisibilityOfRegions, useAtlasSize )
 * UI SetupTextureKitOnRegions( textureKit, frame, regions, setVisibilityOfRegions, useAtlasSize )
 * UI SetupTextureKitsFromRegionInfo( textureKit, frame, regionInfoList )

TimeUtil

 * UI SecondsToMinutes( seconds )
 * UI MinutesToSeconds( minutes )
 * UI HasTimePassed( testTime, amountOfTime )
 * UI SecondsToClock( seconds, displayZeroHours )
 * UI SecondsToTime( seconds, noSeconds, notAbbreviated, maxCount, roundUp ) - Converts a number of seconds into a readable formatted string.
 * UI SecondsToTimeAbbrev( seconds ) - Converts a number of seconds into a readable and abbreviated formatted string.
 * UI FormatShortDate( day, month, year )

UnitUtil

 * UI GetPlayerGuid
 * UI IsPlayerGuid( guid )
 * UI IsPlayerInitialSpec

Interface/FrameXML

AchievementUtil

 * UI AchievementUtil.IsCriteriaAchievementEarned( achievementID, criteriaIndex )
 * UI AchievementUtil.IsCriteriaReputationGained( achievementID, criteriaIndex, checkCriteriaAchievement, countHiddenCriteria )
 * UI AchievementUtil.IsCategoryFeatOfStrength( category )
 * UI AchievementUtil.IsFeatOfStrength( achievementID )

ActionButtonUtil

 * UI ActionButtonUtil.ShowAllActionButtonGrids
 * UI ActionButtonUtil.HideAllActionButtonGrids
 * UI ActionButtonUtil.SetAllQuickKeybindButtonHighlights( show )
 * UI ActionButtonUtil.ShowAllQuickKeybindButtonHighlights
 * UI ActionButtonUtil.HideAllQuickKeybindButtonHighlights

AzeriteEssenceUtil

 * UI AzeriteEssenceUtil.HasAnyUnlockableMilestones
 * UI AzeriteEssenceUtil.GetMilestoneAtPowerLevel( powerLevel )
 * UI AzeriteEssenceUtil.GetMilestoneSpellInfo( milestoneID )

AzeriteUtil

 * UI AzeriteUtil.EnumerateEquipedAzeriteEmpoweredItems
 * UI AzeriteUtil.AreAnyAzeriteEmpoweredItemsEquipped
 * UI AzeriteUtil.DoEquippedItemsHaveUnselectedPowers
 * UI AzeriteUtil.GetEquippedItemsUnselectedPowersCount
 * UI AzeriteUtil.GenerateRequiredSpecTooltipLine( powerID )
 * UI AzeriteUtil.FindAzeritePowerTier( azeriteEmpoweredItemSource, powerID )
 * UI AzeriteUtil.GetSelectedAzeritePowerInTier( azeriteEmpoweredItemSource, tierIndex )
 * UI AzeriteUtil.HasSelectedAnyAzeritePower( azeriteEmpoweredItemSource )
 * UI AzeriteUtil.DoesBagContainAnyAzeriteEmpoweredItems( bagID )
 * UI AzeriteUtil.IsAzeriteItemLocationBankBag( azeriteItemLocation )

CalendarUtil

 * UI CalendarUtil.GetCalendarInviteStatusInfo( inviteStatus )
 * UI CalendarUtil.GetEventBroadcastText( event )
 * UI CalendarUtil.GetOngoingEventBroadcastText( event )
 * UI CalendarUtil.FormatCalendarTimeWeekday( messageDate )
 * UI CalendarUtil.AreDatesEqual( firstCalendarTime, secondCalendarTime )

CampaignUtil

 * UI CampaignUtil.BuildChapterProgressText( campaign, formatString )
 * UI CampaignUtil.GetSingleChapterText( chapterID, lineSpacing )
 * UI CampaignUtil.BuildAllChaptersText( campaign, lineSpacing )

CommunitiesUtil

 * UI CommunitiesUtil.GetMemberRGB( memberInfo )
 * UI CommunitiesUtil.SortClubs( clubs )
 * UI CommunitiesUtil.SortStreams( streams )
 * UI CommunitiesUtil.SortMemberInfo( clubId, memberInfoArray )
 * UI CommunitiesUtil.GetMemberIdsSortedByName( clubId, streamId )
 * UI CommunitiesUtil.GetMemberInfo( clubId, memberIds )
 * UI CommunitiesUtil.GetMemberInfoLookup( memberInfoArray )
 * UI CommunitiesUtil.GetOnlineMembers( memberInfoArray )
 * UI CommunitiesUtil.SortMembersByList( memberInfoLookup, memberIds )
 * UI CommunitiesUtil.GetAndSortMemberInfo( clubId, streamId, filterOffline )
 * UI CommunitiesUtil.DoesAnyCommunityHaveUnreadMessages
 * UI CommunitiesUtil.DoesOtherCommunityHaveUnreadMessages( ignoreClubId )
 * UI CommunitiesUtil.DoesCommunityHaveUnreadMessages( clubId )
 * UI CommunitiesUtil.DoesCommunityHaveOtherUnreadMessages( clubId, ignoreStreamId )
 * UI CommunitiesUtil.GetStreamNotificationSettingsLookup( clubId )
 * UI CommunitiesUtil.DoesCommunityStreamHaveUnreadMessages( clubId, streamId )
 * UI CommunitiesUtil.CanKickClubMember( clubPrivileges, memberInfo )
 * UI CommunitiesUtil.ClearAllUnreadNotifications( clubId )
 * UI CommunitiesUtil.OpenInviteDialog( clubId, streamId )
 * UI CommunitiesUtil.FindCommunityAndStreamByName( communityName, streamName )
 * UI CommunitiesUtil.FindGuildStreamByType( clubStreamType )
 * UI CommunitiesUtil.GetRoleSpecClassLine( classID, specID )
 * UI CommunitiesUtil.AddLookingForLines( tooltip, recruitingSpecIds, recruitingSpecIdMap, playerSpecs )

CovenantUtil

 * UI CovenantUtil.GetRenownRewardDisplayData( rewardInfo, onItemUpdateCallback )
 * UI CovenantUtil.GetUnformattedRenownRewardInfo( rewardInfo, onItemUpdateCallback )
 * UI CovenantUtil.GetRenownRewardInfo( rewardInfo, onItemUpdateCallback )

CurrencyContainer

 * UI CurrencyContainerUtil.GetCurrencyContainerInfo( currencyID, numItems, name, texture, quality )
 * UI CurrencyContainerUtil.GetCurrencyContainerInfoForAlert( currencyID, quantity, name, texture, quality )

DifficultyUtil

 * UI DifficultyUtil.GetDifficultyName( difficultyID )
 * UI DifficultyUtil.IsPrimaryRaid( difficultyID )
 * UI DifficultyUtil.GetNextPrimaryRaidDifficultyID( difficultyID )
 * UI DifficultyUtil.GetMaxPlayers( difficultyID )

ItemRef

 * UI SetItemRef( link, text, button, chatFrame ) - Handles item link tooltips in chat.
 * UI GetFixedLink( text, quality )
 * UI GetBattlePetAbilityHyperlink( abilityID, maxHealth, power, speed )
 * UI GetPlayerLink( characterName, linkDisplayText, lineID, chatType, chatTarget )
 * UI GetBNPlayerLink( name, linkDisplayText, bnetIDAccount, lineID, chatType, chatTarget )
 * UI GetGMLink( gmName, linkDisplayText, lineID )
 * UI GetBNPlayerCommunityLink( playerName, linkDisplayText, bnetIDAccount, clubId, streamId, epoch, position )
 * UI GetPlayerCommunityLink( playerName, linkDisplayText, clubId, streamId, epoch, position )
 * UI GetClubTicketLink( ticketId, clubName, clubType )
 * UI GetClubFinderLink( clubFinderId, clubName )
 * UI GetCalendarEventLink( monthOffset, monthDay, index )
 * UI GetCommunityLink( clubId )
 * UI LinkUtil.SplitLink( link )
 * UI LinkUtil.ExtractLink( text )
 * UI LinkUtil.IsLinkType( link, matchLinkType )

ItemUtil

 * UI ItemButtonUtil.RegisterCallback( ... )
 * UI ItemButtonUtil.UnregisterCallback( ... )
 * UI ItemButtonUtil.TriggerEvent( ... )
 * UI ItemButtonUtil.GetItemContext
 * UI ItemButtonUtil.HasItemContext
 * UI ItemButtonUtil.GetItemContextMatchResultForItem( itemLocation )
 * UI ItemButtonUtil.GetItemContextMatchResultForContainer( bagID )
 * UI ItemUtil.GetItemDetails( itemLink, quantity, isCurrency, lootSource )
 * UI ItemUtil.PickupBagItem( itemLocation )
 * UI ItemUtil.GetOptionalReagentCount( itemID )

MapUtil

 * UI MapUtil.IsMapTypeZone( mapID )
 * UI MapUtil.GetMapParentInfo( mapID, mapType, topMost )
 * UI MapUtil.ShouldMapTypeShowQuests( mapType )
 * UI MapUtil.ShouldShowTask( mapID, info )
 * UI MapUtil.MapHasUnlockedBounties( mapID )
 * UI MapUtil.MapHasEmissaries( mapID )
 * UI MapUtil.FindBestAreaNameAtMouse( mapID, normalizedCursorX, normalizedCursorY )
 * UI MapUtil.GetDisplayableMapForPlayer
 * UI MapUtil.GetBountySetMaps( bountySetID )
 * UI MapUtil.GetMapCenterOnMap( mapID, topMapID )
 * UI MapUtil.IsChildMap( mapID, ancestorMapID )
 * UI MapUtil.IsOribosMap( mapID )
 * UI MapUtil.IsShadowlandsZoneMap( mapID )
 * UI MapUtil.MapShouldShowWorldQuestFilters( mapID )

PVPUtil

 * UI PVPUtil.GetTierName( tierEnum )
 * UI PVPUtil.ShouldShowLegacyRewards

PartyUtil

 * UI PartyUtil.GetMinLevel
 * UI PartyUtil.GetPhasedReasonString( phaseReason, unitToken )
 * UI GetGroupMemberCountsForDisplay

QuestUtils

 * UI QuestUtil.GetWorldQuestAtlasInfo( worldQuestType, inProgress, tradeskillLineID )
 * UI QuestUtil.GetQuestIconOffer( isLegendary, frequency, isRepeatable, isCampaign, isCovenantCalling )
 * UI QuestUtil.ApplyQuestIconOfferToTexture( texture, ... )
 * UI QuestUtil.GetQuestIconActive( isComplete, isLegendary, frequency, isRepeatable, isCampaign, isCovenantCalling )
 * UI QuestUtil.ApplyQuestIconActiveToTexture( texture, ... )
 * UI QuestUtil.ShouldQuestIconsUseCampaignAppearance( questID )
 * UI QuestUtil.GetQuestIconOfferForQuestID( questID )
 * UI QuestUtil.ApplyQuestIconOfferToTextureForQuestID( texture, ... )
 * UI QuestUtil.GetQuestIconActiveForQuestID( questID )
 * UI QuestUtil.ApplyQuestIconActiveToTextureForQuestID( texture, ... )
 * UI QuestUtil.SetupWorldQuestButton( button, info, inProgress, selected, isCriteria, isSpellTarget, isEffectivelyTracked )

RuneforgeUtil

 * UI RuneforgeUtil.GetCostsString( costs )
 * UI RuneforgeUtil.IsUpgradeableRuneforgeLegendary( itemLocation )
 * UI RuneforgeUtil.GetRuneforgeFilterText( filter )
 * UI RuneforgeUtil.GetPreviewClassAndSpec

TitleUtil

 * UI TitleUtil.GetNameFromTitleMaskID( titleMaskID )

TransmogUtil

 * UI TransmogUtil.GetInfoForEquippedSlot( transmogLocation )
 * UI TransmogUtil.CanEnchantSource( sourceID )
 * UI TransmogUtil.GetWeaponInfoForEnchant( transmogLocation )
 * UI TransmogUtil.GetBestWeaponInfoForIllusionDressup
 * UI TransmogUtil.GetSlotID( slotName )
 * UI TransmogUtil.GetSlotName( slotID )
 * UI TransmogUtil.CreateTransmogLocation( slotDescriptor, transmogType, modification )
 * UI TransmogUtil.GetTransmogLocation( slotDescriptor, transmogType, modification )
 * UI TransmogUtil.GetTransmogLocationLookupKey( slotID, transmogType, modification )
 * UI TransmogUtil.GetSetIcon( setID )