MediaWiki REL1_35
API
Collaboration diagram for API:

Files

file  api.php
 The web entry point for all Action API queries, handled by ApiMain and ApiBase subclasses.
 

Classes

class  ApiAMCreateAccount
 Create an account with AuthManager. More...
 
class  ApiAuthManagerHelper
 Helper class for AuthManager-using API modules. More...
 
class  ApiBase
 This abstract class implements many basic API functions, and is the base of all API classes. More...
 
class  ApiBlock
 API module that facilitates the blocking of users. More...
 
class  ApiChangeAuthenticationData
 Change authentication data with AuthManager. More...
 
class  ApiChangeContentModel
 Api module to change the content model of existing pages. More...
 
class  ApiCheckToken
 
class  ApiClearHasMsg
 API module that clears the hasmsg flag for current user. More...
 
class  ApiClientLogin
 Log in to the wiki with AuthManager. More...
 
class  ApiComparePages
 
class  ApiContinuationManager
 This manages continuation state. More...
 
class  ApiCSPReport
 Api module to receive and log CSP violation reports. More...
 
class  ApiDelete
 API module that facilitates deleting pages. More...
 
class  ApiDisabled
 API module that dies with an error immediately. More...
 
class  ApiEditPage
 A module that allows for editing and creating pages. More...
 
class  ApiEmailUser
 API Module to facilitate sending of emails to users. More...
 
class  ApiErrorFormatter
 Formats errors and warnings for the API, and add them to the associated ApiResult. More...
 
class  ApiErrorFormatter_BackCompat
 Format errors and warnings in the old style, for backwards compatibility. More...
 
class  ApiExpandTemplates
 API module that functions as a shortcut to the wikitext preprocessor. More...
 
class  ApiFeedContributions
 
class  ApiFeedRecentChanges
 Recent changes feed. More...
 
class  ApiFeedWatchlist
 This action allows users to get their watchlist items in RSS/Atom formats. More...
 
class  ApiFileRevert
 
class  ApiFormatBase
 This is the abstract base class for API formatters. More...
 
class  ApiFormatFeedWrapper
 This printer is used to wrap an instance of the Feed class. More...
 
class  ApiFormatJson
 API JSON output formatter. More...
 
class  ApiFormatNone
 Formatter that outputs nothing, for when you don't care about the response at all. More...
 
class  ApiFormatPhp
 API Serialized PHP output formatter. More...
 
class  ApiFormatRaw
 Formatter that spits out anything you like with any desired MIME type. More...
 
class  ApiFormatXml
 API XML output formatter. More...
 
class  ApiFormatXmlRsd
 
class  ApiHelp
 Class to output help for an API module. More...
 
class  ApiHelpParamValueMessage
 Message subclass that prepends wikitext for API help. More...
 
class  ApiImageRotate
 
class  ApiImport
 API module that imports an XML file like Special:Import does. More...
 
class  ApiImportReporter
 Import reporter for the API. More...
 
class  ApiLinkAccount
 Link an account with AuthManager. More...
 
class  ApiLogin
 Unit to authenticate log-in attempts to the current wiki. More...
 
class  ApiLogout
 API module to allow users to log out of the wiki. More...
 
class  ApiMain
 This is the main API class, used for both external and internal processing. More...
 
class  ApiManageTags
 
class  ApiMergeHistory
 API Module to merge page histories. More...
 
class  ApiMessage
 Extension of Message implementing IApiMessage @newable. More...
 
class  ApiModuleManager
 This class holds a list of modules and handles instantiation. More...
 
class  ApiMove
 API Module to move pages. More...
 
class  ApiOpenSearch
 
class  ApiOpenSearchFormatJson
 
class  ApiOptions
 API module that facilitates the changing of user's preferences. More...
 
class  ApiPageSet
 This class contains a list of pages that the client has requested. More...
 
class  ApiParamInfo
 
class  MediaWiki\Api\Validator\ApiParamValidator
 This wraps a bunch of the API-specific parameter validation logic. More...
 
class  MediaWiki\Api\Validator\ApiParamValidatorCallbacks
 ParamValidator callbacks for the Action API. More...
 
class  ApiParse
 
class  ApiPatrol
 Allows user to patrol pages. More...
 
class  ApiProtect
 
class  ApiPurge
 API interface for page purging. More...
 
class  ApiQuery
 This is the main query class. More...
 
class  ApiQueryAllCategories
 Query module to enumerate all categories, even the ones that don't have category pages. More...
 
class  ApiQueryAllDeletedRevisions
 Query module to enumerate all deleted revisions. More...
 
class  ApiQueryAllImages
 Query module to enumerate all available pages. More...
 
class  ApiQueryAllLinks
 Query module to enumerate links from all pages together. More...
 
class  ApiQueryAllMessages
 A query action to return messages from site message cache. More...
 
class  ApiQueryAllPages
 Query module to enumerate all available pages. More...
 
class  ApiQueryAllRevisions
 Query module to enumerate all revisions. More...
 
class  ApiQueryAllUsers
 Query module to enumerate all registered users. More...
 
class  ApiQueryAuthManagerInfo
 A query action to return meta information about AuthManager state. More...
 
class  ApiQueryBacklinks
 This is a three-in-one module to query: More...
 
class  ApiQueryBacklinksprop
 This implements prop=redirects, prop=linkshere, prop=catmembers, prop=transcludedin, and prop=fileusage. More...
 
class  ApiQueryBase
 This is a base class for all Query modules. More...
 
class  ApiQueryBlocks
 Query module to enumerate all user blocks. More...
 
class  ApiQueryCategories
 A query module to enumerate categories the set of pages belong to. More...
 
class  ApiQueryCategoryInfo
 This query adds the "<categories>" subelement to all pages with the list of categories the page is in. More...
 
class  ApiQueryCategoryMembers
 A query module to enumerate pages that belong to a category. More...
 
class  ApiQueryContributors
 A query module to show contributors to a page. More...
 
class  ApiQueryDeletedRevisions
 Query module to enumerate deleted revisions for pages. More...
 
class  ApiQueryDeletedrevs
 Query module to enumerate all deleted revisions. More...
 
class  ApiQueryDisabled
 API module that does nothing. More...
 
class  ApiQueryDuplicateFiles
 A query module to list duplicates of the given file(s) More...
 
class  ApiQueryExternalLinks
 A query module to list all external URLs found on a given set of pages. More...
 
class  ApiQueryExtLinksUsage
 
class  ApiQueryFilearchive
 Query module to enumerate all deleted files. More...
 
class  ApiQueryFileRepoInfo
 A query action to return meta information about the foreign file repos configured on the wiki. More...
 
class  ApiQueryGeneratorBase
 Stable to extend. More...
 
class  ApiQueryImageInfo
 A query action to get image information and upload history. More...
 
class  ApiQueryImages
 This query adds an "<images>" subelement to all pages with the list of images embedded into those pages. More...
 
class  ApiQueryInfo
 A query module to show basic page information. More...
 
class  ApiQueryIWBacklinks
 This gives links pointing to the given interwiki. More...
 
class  ApiQueryIWLinks
 A query module to list all interwiki links on a page. More...
 
class  ApiQueryLangBacklinks
 This gives links pointing to the given interwiki. More...
 
class  ApiQueryLangLinks
 A query module to list all langlinks (links to corresponding foreign language pages). More...
 
class  ApiQueryLanguageinfo
 API module to enumerate language information. More...
 
class  ApiQueryLinks
 A query module to list all wiki links on a given set of pages. More...
 
class  ApiQueryLogEvents
 Query action to List the log events, with optional filtering by various parameters. More...
 
class  ApiQueryMyStashedFiles
 action=query&list=mystashedfiles module, gets all stashed files for the current user. More...
 
class  ApiQueryPagePropNames
 A query module to list used page props. More...
 
class  ApiQueryPageProps
 A query module to show basic page information. More...
 
class  ApiQueryPagesWithProp
 A query module to enumerate pages that use a particular prop. More...
 
class  ApiQueryPrefixSearch
 
class  ApiQueryProtectedTitles
 Query module to enumerate all create-protected pages. More...
 
class  ApiQueryQueryPage
 Query module to get the results of a QueryPage-based special page. More...
 
class  ApiQueryRandom
 Query module to get list of random pages. More...
 
class  ApiQueryRecentChanges
 A query action to enumerate the recent changes that were done to the wiki. More...
 
class  ApiQueryRevisions
 A query action to enumerate revisions of a given page, or show top revisions of multiple pages. More...
 
class  ApiQueryRevisionsBase
 A base class for functions common to producing a list of revisions. More...
 
class  ApiQuerySearch
 Query module to perform full text search within wiki titles and content. More...
 
class  ApiQuerySiteinfo
 A query action to return meta information about the wiki site. More...
 
class  ApiQueryStashImageInfo
 A query action to get image information from temporarily stashed files. More...
 
class  ApiQueryTags
 Query module to enumerate change tags. More...
 
class  ApiQueryTokens
 Module to fetch tokens via action=query&meta=tokens. More...
 
class  ApiQueryUserContribs
 This query action adds a list of a specified user's contributions to the output. More...
 
class  ApiQueryUserInfo
 Query module to get information about the currently logged-in user. More...
 
class  ApiQueryUsers
 Query module to get information about a list of users. More...
 
class  ApiQueryWatchlist
 This query action allows clients to retrieve a list of recently modified pages that are part of the logged-in user's watchlist. More...
 
class  ApiQueryWatchlistRaw
 This query action allows clients to retrieve a list of pages on the logged-in user's watchlist. More...
 
class  ApiRawMessage
 Extension of RawMessage implementing IApiMessage @newable. More...
 
class  ApiRemoveAuthenticationData
 Remove authentication data from AuthManager. More...
 
class  ApiResetPassword
 Reset password, with AuthManager. More...
 
class  ApiResult
 This class represents the result of the API operations. More...
 
class  ApiRevisionDelete
 API interface to RevDel. More...
 
class  ApiRollback
 
class  ApiRsd
 API module for sending out RSD information. More...
 
interface  ApiSerializable
 This interface allows for overriding the default conversion applied by ApiResult::validateValue(). More...
 
class  ApiSetNotificationTimestamp
 API interface for setting the wl_notificationtimestamp field. More...
 
class  ApiSetPageLanguage
 API module that facilitates changing the language of a page. More...
 
class  ApiStashEdit
 Prepare an edit in shared cache so that it can be reused on edit. More...
 
class  ApiTag
 
class  ApiTokens
 
class  ApiUnblock
 API module that facilitates the unblocking of users. More...
 
class  ApiUndelete
 
class  ApiUpload
 
class  ApiUsageException
 Exception used to abort API execution with an error. More...
 
class  ApiUserrights
 
class  ApiValidatePassword
 
class  ApiWatch
 API module to allow users to watch a page. More...
 
interface  IApiMessage
 Interface for messages with machine-readable data for use by the API. More...
 

Variables

trait ApiBlockInfoTrait
 
trait ApiMessageTrait
 Trait to implement the IApiMessage interface for Message subclasses.
 
trait ApiQueryBlockInfoTrait
 
trait ApiWatchlistTrait
 An ApiWatchlistTrait adds class properties and convenience methods for APIs that allow you to watch a page.
 
trait SearchApi
 Traits for API components that use a SearchEngine.
 

Detailed Description

Variable Documentation

◆ ApiBlockInfoTrait

trait ApiBlockInfoTrait
Initial value:
{
private function getBlockDetails(
AbstractBlock $block,
$language = null
) {
if ( $language === null ) {
$language = $this->getLanguage();
}
$vals = [];
$vals['blockid'] = $block->getId();
$vals['blockedby'] = $block->getByName();
$vals['blockedbyid'] = $block->getBy();
$vals['blockreason'] = $block->getReasonComment()
->message->inLanguage( $language )->plain();
$vals['blockedtimestamp'] = wfTimestamp( TS_ISO_8601, $block->getTimestamp() );
$vals['blockexpiry'] = ApiResult::formatExpiry( $block->getExpiry(), 'infinite' );
$vals['blockpartial'] = !$block->isSitewide();
if ( $block instanceof SystemBlock ) {
$vals['systemblocktype'] = $block->getSystemBlockType();
}
return $vals;
}
abstract public function getLanguage()
wfTimestamp( $outputtype=TS_UNIX, $ts=0)
Get a timestamp string in one of various formats.
getBy()
Get the user id of the blocking sysop.
getByName()
Get the username of the blocking sysop.
getTimestamp()
Get the timestamp indicating when the block was created.
getReasonComment()
Get the reason for creating the block.
isSitewide( $x=null)
Indicates that the block is a sitewide block.
getExpiry()
Get the block expiry time.
System blocks are temporary blocks that are created on enforcement (e.g.

Definition at line 27 of file ApiBlockInfoTrait.php.

◆ ApiMessageTrait

trait ApiMessageTrait

Trait to implement the IApiMessage interface for Message subclasses.

Since
1.27

-file-suppress PhanTraitParentReference -file-suppress PhanUndeclaredMethod

Definition at line 28 of file ApiMessageTrait.php.

◆ ApiQueryBlockInfoTrait

trait ApiQueryBlockInfoTrait
Initial value:
{
trait ApiBlockInfoTrait

Definition at line 28 of file ApiQueryBlockInfoTrait.php.

◆ ApiWatchlistTrait

trait ApiWatchlistTrait
Initial value:
{
private bool $watchlistExpiryEnabled

An ApiWatchlistTrait adds class properties and convenience methods for APIs that allow you to watch a page.

This should ONLY be used in API modules that extend ApiBase. Also, it should not be used in ApiWatch, which has its own special handling.

Note the class-level properties watchlistExpiryEnabled and watchlistMaxDuration must still be set in the API module's constructor.

Since
1.35

Definition at line 17 of file ApiWatchlistTrait.php.

◆ SearchApi

trait SearchApi
Initial value:
{
private static $BACKEND_NULL_PARAM = 'database-backed'

Traits for API components that use a SearchEngine.

Definition at line 29 of file SearchApi.php.