MediaWiki API help
This is an auto-generated MediaWiki API documentation page.
Documentation and examples: https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page
Main module
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Status: The MediaWiki API is a mature and stable interface that is actively supported and improved. While we try to avoid it, we may occasionally need to make breaking changes; subscribe to the mediawiki-api-announce mailing list for notice of updates.
Erroneous requests: When erroneous requests are sent to the API, an HTTP header will be sent with the key "MediaWiki-API-Error" and then both the value of the header and the error code sent back will be set to the same value. For more information see API: Errors and warnings.
Testing: For ease of testing API requests, see Special:ApiSandbox.
- action
Which action to perform.
- block
- Block a user.
- changeauthenticationdata
- Change authentication data for the current user.
- changecontentmodel
- Change the content model of a page
- checktoken
- Check the validity of a token from action=query&meta=tokens.
- clearhasmsg
- Clears the
hasmsgflag for the current user. - clientlogin
- Log in to the wiki using the interactive flow.
- compare
- Get the difference between 2 pages.
- createaccount
- Create a new user account.
- delete
- Delete a page.
- edit
- Create and edit pages.
- emailuser
- Email a user.
- expandtemplates
- Expands all templates within wikitext.
- feedcontributions
- Returns a user's contributions feed.
- feedrecentchanges
- Returns a recent changes feed.
- feedwatchlist
- Returns a watchlist feed.
- filerevert
- Revert a file to an old version.
- help
- Display help for the specified modules.
- imagerotate
- Rotate one or more images.
- import
- Import a page from another wiki, or an XML file.
- jsonconfig
- Allows direct access to JsonConfig subsystem.
- languagesearch
- Search for language names in any script.
- linkaccount
- Link an account from a third-party provider to the current user.
- login
- Log in and get authentication cookies.
- logout
- Log out and clear session data.
- managetags
- Perform management tasks relating to change tags.
- mergehistory
- Merge page histories.
- move
- Move a page.
- opensearch
- Search the wiki using the OpenSearch protocol.
- options
- Change preferences of the current user.
- paraminfo
- Obtain information about API modules.
- parse
- Parses content and returns parser output.
- patrol
- Patrol a page or revision.
- protect
- Change the protection level of a page.
- purge
- Purge the cache for the given titles.
- query
- Fetch data from and about MediaWiki.
- removeauthenticationdata
- Remove authentication data for the current user.
- resetpassword
- Send a password reset email to a user.
- revisiondelete
- Delete and undelete revisions.
- rollback
- Undo the last edit to the page.
- rsd
- Export an RSD (Really Simple Discovery) schema.
- setnotificationtimestamp
- Update the notification timestamp for watched pages.
- setpagelanguage
- Change the language of a page.
- spamblacklist
- Validate one or more URLs against the spam block list.
- tag
- Add or remove change tags from individual revisions or log entries.
- templatedata
- Fetch data stored by the TemplateData extension.
- titleblacklist
- Validate a page title, filename, or username against the TitleBlacklist.
- transcodereset
- Users with the 'transcode-reset' right can reset and re-run a transcode job.
- unblock
- Unblock a user.
- undelete
- Undelete revisions of a deleted page.
- unlinkaccount
- Remove a linked third-party account from the current user.
- upload
- Upload a file, or get the status of pending uploads.
- userrights
- Change a user's group membership.
- validatepassword
- Validate a password against the wiki's password policies.
- watch
- Add or remove pages from the current user's watchlist.
- wbavailablebadges
- Queries available badge items.
- wbcreateclaim
- Creates Wikibase claims.
- wbcreateredirect
- Creates Entity redirects.
- wbeditentity
- Creates a single new Wikibase entity and modifies it with serialised information.
- wbformatentities
- Formats entity IDs to HTML.
- wbformatvalue
- Formats DataValues.
- wbgetclaims
- Gets Wikibase claims.
- wbgetentities
- Gets the data for multiple Wikibase entities.
- wblinktitles
- Associates two pages on two different wikis with a Wikibase item.
- wbmergeitems
- Merges multiple items.
- wbparsevalue
- Parses values using a
ValueParser. - wbremoveclaims
- Removes Wikibase claims.
- wbremovequalifiers
- Removes a qualifier from a claim.
- wbremovereferences
- Removes one or more references of the same statement.
- wbsearchentities
- Searches for entities using labels and aliases.
- wbsetaliases
- Sets the aliases for a Wikibase entity.
- wbsetclaim
- Creates or updates an entire Statement or Claim.
- wbsetclaimvalue
- Sets the value of a Wikibase claim.
- wbsetdescription
- Sets a description for a single Wikibase entity.
- wbsetlabel
- Sets a label for a single Wikibase entity.
- wbsetqualifier
- Creates a qualifier or sets the value of an existing one.
- wbsetreference
- Creates a reference or sets the value of an existing one.
- wbsetsitelink
- Associates a page on a wiki with a Wikibase item or removes an already made such association.
- categorytree
- Internal. Internal module for the CategoryTree extension.
- cspreport
- Internal. Used by browsers to report violations of the Content Security Policy. This module should never be used, except when used automatically by a CSP compliant web browser.
- jsondata
- Internal. Retrieve localized JSON data.
- scribunto-console
- Internal. Internal module for servicing XHR requests from the Scribunto console.
- stashedit
- Internal. Prepare an edit in shared cache.
- timedtext
- Internal. Provides timed text content for usage by <track> elements
- ulslocalization
- Internal. Get the localization of ULS in the given language.
- ulssetlang
- Internal. Update user's preferred interface language.
- visualeditor
- Internal. Returns HTML5 for a page from the Parsoid service.
- visualeditoredit
- Internal. Save an HTML5 page to MediaWiki (converted to wikitext via the Parsoid service).
- One of the following values: block, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, compare, createaccount, delete, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, jsonconfig, languagesearch, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, spamblacklist, tag, templatedata, titleblacklist, transcodereset, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, wbavailablebadges, wbcreateclaim, wbcreateredirect, wbeditentity, wbformatentities, wbformatvalue, wbgetclaims, wbgetentities, wblinktitles, wbmergeitems, wbparsevalue, wbremoveclaims, wbremovequalifiers, wbremovereferences, wbsearchentities, wbsetaliases, wbsetclaim, wbsetclaimvalue, wbsetdescription, wbsetlabel, wbsetqualifier, wbsetreference, wbsetsitelink, categorytree, cspreport, jsondata, scribunto-console, stashedit, timedtext, ulslocalization, ulssetlang, visualeditor, visualeditoredit
- Default: help
- format
The format of the output.
- json
- Output data in JSON format.
- jsonfm
- Output data in JSON format (pretty-print in HTML).
- none
- Output nothing.
- php
- Output data in serialised PHP format.
- phpfm
- Output data in serialised PHP format (pretty-print in HTML).
- rawfm
- Output data, including debugging elements, in JSON format (pretty-print in HTML).
- xml
- Output data in XML format.
- xmlfm
- Output data in XML format (pretty-print in HTML).
- One of the following values: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
- Default: jsonfm
- maxlag
Maximum lag can be used when MediaWiki is installed on a database replicated cluster. To save actions causing any more site replication lag, this parameter can make the client wait until the replication lag is less than the specified value. In case of excessive lag, error code maxlag is returned with a message like Waiting for $host: $lag seconds lagged.
See Manual: Maxlag parameter for more information.- Type: integer
- smaxage
Set the
s-maxageHTTP cache control header to this many seconds. Errors are never cached.- Type: integer
- Default: 0
- maxage
Set the
max-ageHTTP cache control header to this many seconds. Errors are never cached.- Type: integer
- Default: 0
- assert
Verify that the user is logged in if set to user, not logged in if set to anon, or has the bot user right if bot.
- One of the following values: anon, bot, user
- assertuser
Verify the current user is the named user.
- Type: user, by username
- requestid
Any value given here will be included in the response. May be used to distinguish requests.
- servedby
Include the hostname that served the request in the results.
- Type: boolean (details)
- curtimestamp
Include the current timestamp in the result.
- Type: boolean (details)
- responselanginfo
Include the languages used for uselang and errorlang in the result.
- Type: boolean (details)
- origin
When accessing the API using a cross-domain AJAX request (CORS), set this to the originating domain. This must be included in any pre-flight request, and therefore must be part of the request URI (not the POST body).
For authenticated requests, this must match one of the origins in the
Originheader exactly, so it has to be set to something like https://en.wikipedia.org or https://meta.wikimedia.org. If this parameter does not match theOriginheader, a 403 response will be returned. If this parameter matches theOriginheader and the origin is allowed, theAccess-Control-Allow-OriginandAccess-Control-Allow-Credentialsheaders will be set.For non-authenticated requests, specify the value *. This will cause the
Access-Control-Allow-Originheader to be set, butAccess-Control-Allow-Credentialswill befalseand all user-specific data will be restricted.- uselang
Language to use for message translations. action=query&meta=siteinfo with siprop=languages returns a list of language codes, or specify user to use the current user's language preference, or specify content to use this wiki's content language.
- Default: user
- variant
Variant of the language. Only works if the base language supports variant conversion.
- errorformat
Format to use for warning and error text output
- plaintext
- Wikitext with HTML tags removed and entities replaced.
- wikitext
- Unparsed wikitext.
- html
- HTML
- raw
- Message key and parameters.
- none
- No text output, only the error codes.
- bc
- Format used prior to MediaWiki 1.29. errorlang and errorsuselocal are ignored.
- One of the following values: bc, html, none, plaintext, raw, wikitext
- Default: bc
- errorlang
Language to use for warnings and errors. action=query&meta=siteinfo with siprop=languages returns a list of language codes, or specify content to use this wiki's content language, or specify uselang to use the same value as the uselang parameter.
- Default: uselang
- errorsuselocal
If given, error texts will use locally-customized messages from the MediaWiki namespace.
- Type: boolean (details)
- Help for the main module.
- api.php?action=help [open in sandbox]
- All help in one page.
- api.php?action=help&recursivesubmodules=1 [open in sandbox]
action=block
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Block a user.
- user
User to block.
- Type: user, by any of username, IP, IP range and user ID (e.g. "#12345")
- userid
- Deprecated.
Specify user=#ID instead.
- Type: integer
- expiry
Expiry time. May be relative (e.g. 5 months or 2 weeks) or absolute (e.g. 2014-09-18T12:34:56Z). If set to infinite, indefinite, or never, the block will never expire.
- Default: never
- reason
Reason for block.
- Default: (empty)
- anononly
Block anonymous users only (i.e. disable anonymous edits for this IP address).
- Type: boolean (details)
- nocreate
Prevent account creation.
- Type: boolean (details)
- autoblock
Automatically block the last used IP address, and any subsequent IP addresses they try to login from.
- Type: boolean (details)
- noemail
Prevent user from sending email through the wiki. (Requires the
blockemailright).- Type: boolean (details)
- hidename
Hide the username from the block log. (Requires the
hideuserright).- Type: boolean (details)
- allowusertalk
Allow the user to edit their own talk page (depends on $wgBlockAllowsUTEdit).
- Type: boolean (details)
- reblock
If the user is already blocked, overwrite the existing block.
- Type: boolean (details)
- watchuser
Watch the user and talk pages of the user or IP address.
- Type: boolean (details)
- tags
Change tags to apply to the entry in the block log.
- Values (separate with | or alternative):
- partial
Block user from specific pages or namespaces rather than the entire site.
- Type: boolean (details)
- pagerestrictions
List of titles to block the user from editing. Only applies when partial is set to true.
- Type: page title
- Separate values with | or alternative.
- Maximum number of values is 10.
- Only accepts pages that exist.
- namespacerestrictions
List of namespace IDs to block the user from editing. Only applies when partial is set to true.
- Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 120, 121, 122, 123, 710, 711, 828, 829, 2300, 2301, 2302, 2303, 3000, 3001
- To specify all values, use *.
- token
A "csrf" token retrieved from action=query&meta=tokens
- This parameter is required.
- Block IP address 192.0.2.5 for three days with a reason.
- api.php?action=block&user=192.0.2.5&expiry=3%20days&reason=First%20strike&token=123ABC [open in sandbox]
- Block user Vandal indefinitely with a reason, and prevent new account creation and email sending.
- api.php?action=block&user=Vandal&expiry=never&reason=Vandalism&nocreate=&autoblock=&noemail=&token=123ABC [open in sandbox]
action=categorytree
- This module is internal or unstable. Its operation may change without notice.
- This module requires read rights.
- Source: CategoryTree
- Licence: GPL-2.0-or-later
Internal module for the CategoryTree extension.
- category
Title in the category namespace, prefix will be ignored if given.
- This parameter is required.
- options
Options for the CategoryTree constructor as a JSON object. The depth option defaults to 1.
action=changeauthenticationdata (changeauth)
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Change authentication data for the current user.
- changeauthrequest
Use this authentication request, by the id returned from action=query&meta=authmanagerinfo with amirequestsfor=change.
- This parameter is required.
- changeauthtoken
A "csrf" token retrieved from action=query&meta=tokens
- This parameter is required.
- *
- This module accepts additional parameters depending on the available authentication requests. Use action=query&meta=authmanagerinfo with amirequestsfor=change (or a previous response from this module, if applicable) to determine the requests available and the fields that they use.
- Attempt to change the current user's password to ExamplePassword.
- api.php?action=changeauthenticationdata&changeauthrequest=MediaWiki%5CAuth%5CPasswordAuthenticationRequest&password=ExamplePassword&retype=ExamplePassword&changeauthtoken=123ABC [open in sandbox]
action=changecontentmodel
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Change the content model of a page
- title
Title of the page to change the contentmodel of. Cannot be used together with pageid.
- pageid
Page ID of the page to change the contentmodel of. Cannot be used together with title.
- Type: integer
- summary
Edit summary and log entry reason
- tags
Change tags to apply to the log entry and edit.
- Values (separate with | or alternative):
- model
Content model of the new content.
- This parameter is required.
- One of the following values: GadgetDefinition, Scribunto, css, javascript, json, sanitized-css, text, wikitext
- bot
Mark the content model change with a bot flag.
- Type: boolean (details)
- token
A "csrf" token retrieved from action=query&meta=tokens
- This parameter is required.
- Change the main page to have the
textcontent model - api.php?action=changecontentmodel&title=Main Page&model=text&token=123ABC [open in sandbox]
action=checktoken
- This module requires read rights.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Check the validity of a token from action=query&meta=tokens.
- type
Type of token being tested.
- This parameter is required.
- One of the following values: createaccount, csrf, login, patrol, rollback, userrights, watch
- token
Token to test.
- This parameter is required.
- maxtokenage
Maximum allowed age of the token, in seconds.
- Type: integer
- Test the validity of a csrf token.
- api.php?action=checktoken&type=csrf&token=123ABC [open in sandbox]
action=clearhasmsg
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Clears the hasmsg flag for the current user.
- Clear the
hasmsgflag for the current user. - api.php?action=clearhasmsg [open in sandbox]
action=clientlogin (login)
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Log in to the wiki using the interactive flow.
The general procedure to use this module is:
- Fetch the fields available from action=query&meta=authmanagerinfo with amirequestsfor=login, and a login token from action=query&meta=tokens.
- Present the fields to the user, and obtain their submission.
- Post to this module, supplying loginreturnurl and any relevant fields.
- Check the status in the response.
- If you received PASS or FAIL, you're done. The operation either succeeded or it didn't.
- If you received UI, present the new fields to the user and obtain their submission. Then post to this module with logincontinue and the relevant fields set, and repeat step 4.
- If you received REDIRECT, direct the user to the redirecttarget and wait for the return to loginreturnurl. Then post to this module with logincontinue and any fields passed to the return URL, and repeat step 4.
- If you received RESTART, that means the authentication worked but we don't have a linked user account. You might treat this as UI or as FAIL.
- loginrequests
Only use these authentication requests, by the id returned from action=query&meta=authmanagerinfo with amirequestsfor=login or from a previous response from this module.
- Separate values with | or alternative.
- Maximum number of values is 50 (500 for clients that are allowed higher limits).
- loginmessageformat
Format to use for returning messages.
- One of the following values: html, none, raw, wikitext
- Default: wikitext
- loginmergerequestfields
Merge field information for all authentication requests into one array.
- Type: boolean (details)
- loginpreservestate
Preserve state from a previous failed login attempt, if possible.
- Type: boolean (details)
- loginreturnurl
Return URL for third-party authentication flows, must be absolute. Either this or logincontinue is required.
Upon receiving a REDIRECT response, you will typically open a browser or web view to the specified redirecttarget URL for a third-party authentication flow. When that completes, the third party will send the browser or web view to this URL. You should extract any query or POST parameters from the URL and pass them as a logincontinue request to this API module.
- logincontinue
This request is a continuation after an earlier UI or REDIRECT response. Either this or loginreturnurl is required.
- Type: boolean (details)
- logintoken
A "login" token retrieved from action=query&meta=tokens
- This parameter is required.
- *
- This module accepts additional parameters depending on the available authentication requests. Use action=query&meta=authmanagerinfo with amirequestsfor=login (or a previous response from this module, if applicable) to determine the requests available and the fields that they use.
- Start the process of logging in to the wiki as user Example with password ExamplePassword.
- api.php?action=clientlogin&username=Example&password=ExamplePassword&loginreturnurl=http://example.org/&logintoken=123ABC [open in sandbox]
- Continue logging in after a UI response for two-factor auth, supplying an OATHToken of 987654.
- api.php?action=clientlogin&logincontinue=1&OATHToken=987654&logintoken=123ABC [open in sandbox]
action=compare
- This module requires read rights.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Get the difference between 2 pages.
A revision number, a page title, or a page ID for both "from" and "to" must be passed.
- fromtitle
First title to compare.
- fromid
First page ID to compare.
- Type: integer
- fromrev
First revision to compare.
- Type: integer
- fromslots
Override content of the revision specified by fromtitle, fromid or fromrev.
This parameter specifies the slots that are to be modified. Use fromtext-{slot}, fromcontentmodel-{slot}, and fromcontentformat-{slot} to specify content for each slot.
- Values (separate with | or alternative): main
- fromtext-{slot}
Text of the specified slot. If omitted, the slot is removed from the revision.
- This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
- fromsection-{slot}
When fromtext-{slot} is the content of a single section, this is the section identifier. It will be merged into the revision specified by fromtitle, fromid or fromrev as if for a section edit.
- This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
- fromcontentformat-{slot}
Content serialization format of fromtext-{slot}.
- This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
- One of the following values: application/json, application/octet-stream, application/unknown, application/vnd.php.serialized, application/x-binary, text/css, text/javascript, text/plain, text/unknown, text/x-wiki, unknown/unknown
- fromcontentmodel-{slot}
Content model of fromtext-{slot}. If not supplied, it will be guessed based on the other parameters.
- This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
- One of the following values: GadgetDefinition, Scribunto, css, javascript, json, sanitized-css, text, unknown, wikibase-item, wikibase-property, wikitext
- frompst
Do a pre-save transform on fromtext-{slot}.
- Type: boolean (details)
- fromtext
- Deprecated.
Specify fromslots=main and use fromtext-main instead.
- fromcontentformat
- Deprecated.
Specify fromslots=main and use fromcontentformat-main instead.
- One of the following values: application/json, application/octet-stream, application/unknown, application/vnd.php.serialized, application/x-binary, text/css, text/javascript, text/plain, text/unknown, text/x-wiki, unknown/unknown
- fromcontentmodel
- Deprecated.
Specify fromslots=main and use fromcontentmodel-main instead.
- One of the following values: GadgetDefinition, Scribunto, css, javascript, json, sanitized-css, text, unknown, wikibase-item, wikibase-property, wikitext
- fromsection
- Deprecated.
Only use the specified section of the specified 'from' content.
- totitle
Second title to compare.
- toid
Second page ID to compare.
- Type: integer
- torev
Second revision to compare.
- Type: integer
- torelative
Use a revision relative to the revision determined from fromtitle, fromid or fromrev. All of the other 'to' options will be ignored.
- One of the following values: cur, next, prev
- toslots
Override content of the revision specified by totitle, toid or torev.
This parameter specifies the slots that are to be modified. Use totext-{slot}, tocontentmodel-{slot}, and tocontentformat-{slot} to specify content for each slot.
- Values (separate with | or alternative): main
- totext-{slot}
Text of the specified slot. If omitted, the slot is removed from the revision.
- This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
- tosection-{slot}
When totext-{slot} is the content of a single section, this is the section identifier. It will be merged into the revision specified by totitle, toid or torev as if for a section edit.
- This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
- tocontentformat-{slot}
Content serialization format of totext-{slot}.
- This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
- One of the following values: application/json, application/octet-stream, application/unknown, application/vnd.php.serialized, application/x-binary, text/css, text/javascript, text/plain, text/unknown, text/x-wiki, unknown/unknown
- tocontentmodel-{slot}
Content model of totext-{slot}. If not supplied, it will be guessed based on the other parameters.
- This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
- One of the following values: GadgetDefinition, Scribunto, css, javascript, json, sanitized-css, text, unknown, wikibase-item, wikibase-property, wikitext
- topst
Do a pre-save transform on totext.
- Type: boolean (details)
- totext
- Deprecated.
Specify toslots=main and use totext-main instead.
- tocontentformat
- Deprecated.
Specify toslots=main and use tocontentformat-main instead.
- One of the following values: application/json, application/octet-stream, application/unknown, application/vnd.php.serialized, application/x-binary, text/css, text/javascript, text/plain, text/unknown, text/x-wiki, unknown/unknown
- tocontentmodel
- Deprecated.
Specify toslots=main and use tocontentmodel-main instead.
- One of the following values: GadgetDefinition, Scribunto, css, javascript, json, sanitized-css, text, unknown, wikibase-item, wikibase-property, wikitext
- tosection
- Deprecated.
Only use the specified section of the specified 'to' content.
- prop
Which pieces of information to get.
- diff
- The diff HTML.
- diffsize
- The size of the diff HTML, in bytes.
- rel
- The revision IDs of the revision previous to 'from' and after 'to', if any.
- ids
- The page and revision IDs of the 'from' and 'to' revisions.
- title
- The page titles of the 'from' and 'to' revisions.
- user
- The username and ID of the 'from' and 'to' revisions. If the user has been revision deleted, a fromuserhidden or touserhidden property will be returned.
- comment
- The comment on the 'from' and 'to' revisions. If the comment has been revision deleted, a fromcommenthidden or tocommenthidden property will be returned.
- parsedcomment
- The parsed comment on the 'from' and 'to' revisions. If the comment has been revision deleted, a fromcommenthidden or tocommenthidden property will be returned.
- size
- The size of the 'from' and 'to' revisions.
- timestamp
- (no description)
- Values (separate with | or alternative): comment, diff, diffsize, ids, parsedcomment, rel, size, timestamp, title, user
- Default: diff|ids|title
- slots
Return individual diffs for these slots, rather than one combined diff for all slots.
- Values (separate with | or alternative): main
- To specify all values, use *.
- Create a diff between revision 1 and 2.
- api.php?action=compare&fromrev=1&torev=2 [open in sandbox]
action=createaccount (create)
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Create a new user account.
The general procedure to use this module is:
- Fetch the fields available from action=query&meta=authmanagerinfo with amirequestsfor=create, and a createaccount token from action=query&meta=tokens.
- Present the fields to the user, and obtain their submission.
- Post to this module, supplying createreturnurl and any relevant fields.
- Check the status in the response.
- If you received PASS or FAIL, you're done. The operation either succeeded or it didn't.
- If you received UI, present the new fields to the user and obtain their submission. Then post to this module with createcontinue and the relevant fields set, and repeat step 4.
- If you received REDIRECT, direct the user to the redirecttarget and wait for the return to createreturnurl. Then post to this module with createcontinue and any fields passed to the return URL, and repeat step 4.
- If you received RESTART, that means the authentication worked but we don't have a linked user account. You might treat this as UI or as FAIL.
- createrequests
Only use these authentication requests, by the id returned from action=query&meta=authmanagerinfo with amirequestsfor=create or from a previous response from this module.
- Separate values with | or alternative.
- Maximum number of values is 50 (500 for clients that are allowed higher limits).
- createmessageformat
Format to use for returning messages.
- One of the following values: html, none, raw, wikitext
- Default: wikitext
- createmergerequestfields
Merge field information for all authentication requests into one array.
- Type: boolean (details)
- createpreservestate
Preserve state from a previous failed login attempt, if possible.
If action=query&meta=authmanagerinfo returned true for hasprimarypreservedstate, requests marked as primary-required should be omitted. If it returned a non-empty value for preservedusername, that username must be used for the username parameter.
- Type: boolean (details)
- createreturnurl
Return URL for third-party authentication flows, must be absolute. Either this or createcontinue is required.
Upon receiving a REDIRECT response, you will typically open a browser or web view to the specified redirecttarget URL for a third-party authentication flow. When that completes, the third party will send the browser or web view to this URL. You should extract any query or POST parameters from the URL and pass them as a createcontinue request to this API module.
- createcontinue
This request is a continuation after an earlier UI or REDIRECT response. Either this or createreturnurl is required.
- Type: boolean (details)
- createtoken
A "createaccount" token retrieved from action=query&meta=tokens
- This parameter is required.
- *
- This module accepts additional parameters depending on the available authentication requests. Use action=query&meta=authmanagerinfo with amirequestsfor=create (or a previous response from this module, if applicable) to determine the requests available and the fields that they use.
- Start the process of creating the user Example with the password ExamplePassword.
- api.php?action=createaccount&username=Example&password=ExamplePassword&retype=ExamplePassword&createreturnurl=http://example.org/&createtoken=123ABC [open in sandbox]
action=cspreport
- This module is internal or unstable. Its operation may change without notice.
- This module only accepts POST requests.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Used by browsers to report violations of the Content Security Policy. This module should never be used, except when used automatically by a CSP compliant web browser.
- reportonly
Mark as being a report from a monitoring policy, not an enforced policy
- Type: boolean (details)
- source
What generated the CSP header that triggered this report
- Default: internal
action=delete
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Delete a page.
- title
Title of the page to delete. Cannot be used together with pageid.
- pageid
Page ID of the page to delete. Cannot be used together with title.
- Type: integer
- reason
Reason for the deletion. If not set, an automatically generated reason will be used.
- tags
Change tags to apply to the entry in the deletion log.
- Values (separate with | or alternative):
- deletetalk
Delete the talk page, if it exists.
- Type: boolean (details)
- watch
- Deprecated.
Add the page to the current user's watchlist.
- Type: boolean (details)
- watchlist
Unconditionally add or remove the page from the current user's watchlist, use preferences (ignored for bot users) or do not change watch.
- One of the following values: nochange, preferences, unwatch, watch
- Default: preferences
- unwatch
- Deprecated.
Remove the page from the current user's watchlist.
- Type: boolean (details)
- oldimage
The name of the old image to delete as provided by action=query&prop=imageinfo&iiprop=archivename.
- token
A "csrf" token retrieved from action=query&meta=tokens
- This parameter is required.
- Delete Main Page.
- api.php?action=delete&title=Main%20Page&token=123ABC [open in sandbox]
- Delete Main Page with the reason Preparing for move.
- api.php?action=delete&title=Main%20Page&token=123ABC&reason=Preparing%20for%20move [open in sandbox]
action=edit
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Create and edit pages.
- title
Title of the page to edit. Cannot be used together with pageid.
- pageid
Page ID of the page to edit. Cannot be used together with title.
- Type: integer
- section
Section identifier. 0 for the top section, new for a new section. Often a positive integer, but can also be non-numeric.
- sectiontitle
The title for a new section when using section=new.
- text
Page content.
- summary
Edit summary.
When this parameter is not provided or empty, an edit summary may be generated automatically.
When using section=new and sectiontitle is not provided, the value of this parameter is used for the section title instead, and an edit summary is generated automatically.
- tags
Change tags to apply to the revision.
- Values (separate with | or alternative):
- minor
Mark this edit as a minor edit.
- Type: boolean (details)
- notminor
Do not mark this edit as a minor edit even if the "Mark all edits as minor by default" user preference is set.
- Type: boolean (details)
- bot
Mark this edit as a bot edit.
- Type: boolean (details)
- baserevid
ID of the base revision, used to detect edit conflicts. May be obtained through action=query&prop=revisions. Self-conflicts cause the edit to fail unless basetimestamp is set.
- Type: integer
- basetimestamp
Timestamp of the base revision, used to detect edit conflicts. May be obtained through action=query&prop=revisions&rvprop=timestamp. Self-conflicts are ignored.
- Type: timestamp (allowed formats)
- starttimestamp
Timestamp when the editing process began, used to detect edit conflicts. An appropriate value may be obtained using curtimestamp when beginning the edit process (e.g. when loading the page content to edit).
- Type: timestamp (allowed formats)
- recreate
Override any errors about the page having been deleted in the meantime.
- Type: boolean (details)
- createonly
Don't edit the page if it exists already.
- Type: boolean (details)
- nocreate
Throw an error if the page doesn't exist.
- Type: boolean (details)
- watch
- Deprecated.
Add the page to the current user's watchlist.
- Type: boolean (details)
- unwatch
- Deprecated.
Remove the page from the current user's watchlist.
- Type: boolean (details)
- watchlist
Unconditionally add or remove the page from the current user's watchlist, use preferences (ignored for bot users) or do not change watch.
- One of the following values: nochange, preferences, unwatch, watch
- Default: preferences
- md5
The MD5 hash of the text parameter, or the prependtext and appendtext parameters concatenated. If set, the edit won't be done unless the hash is correct.
- prependtext
Add this text to the beginning of the page or section. Overrides text.
- appendtext
Add this text to the end of the page or section. Overrides text.
Use section=new to append a new section, rather than this parameter.
- undo
Undo this revision. Overrides text, prependtext and appendtext.
- Type: integer
- The value must be no less than 0.
- undoafter
Undo all revisions from undo to this one. If not set, just undo one revision.
- Type: integer
- The value must be no less than 0.
- redirect
Automatically resolve redirects.
- Type: boolean (details)
- contentformat
Content serialisation format used for the input text.
- One of the following values: application/json, application/octet-stream, application/unknown, application/vnd.php.serialized, application/x-binary, text/css, text/javascript, text/plain, text/unknown, text/x-wiki, unknown/unknown
- contentmodel
Content model of the new content.
- One of the following values: GadgetDefinition, Scribunto, css, javascript, json, sanitized-css, text, unknown, wikibase-item, wikibase-property, wikitext
- token
A "csrf" token retrieved from action=query&meta=tokens
The token should always be sent as the last parameter, or at least after the text parameter.
- This parameter is required.
- captchaword
Answer to the CAPTCHA
- captchaid
CAPTCHA ID from previous request
- Edit a page.
- api.php?action=edit&title=Test&summary=test%20summary&text=article%20content&baserevid=1234567&token=123ABC [open in sandbox]
- Prepend __NOTOC__ to a page.
- api.php?action=edit&title=Test&summary=NOTOC&minor=&prependtext=__NOTOC__%0A&basetimestamp=2007-08-24T12:34:54Z&token=123ABC [open in sandbox]
- Undo revisions 13579 through 13585 with autosummary.
- api.php?action=edit&title=Test&undo=13585&undoafter=13579&basetimestamp=2007-08-24T12:34:54Z&token=123ABC [open in sandbox]
action=emailuser
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Email a user.
- target
User to send the email to.
- This parameter is required.
- subject
Subject header.
- This parameter is required.
- text
Email body.
- This parameter is required.
- ccme
Send a copy of this mail to me.
- Type: boolean (details)
- token
A "csrf" token retrieved from action=query&meta=tokens
- This parameter is required.
- Send an email to the user WikiSysop with the text Content.
- api.php?action=emailuser&target=WikiSysop&text=Content&token=123ABC [open in sandbox]
action=expandtemplates
- This module requires read rights.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Expands all templates within wikitext.
- title
Title of the page.
- text
Wikitext to convert.
- This parameter is required.
- revid
Revision ID, for
{{REVISIONID}}and similar variables.- Type: integer
- prop
Which pieces of information to get.
Note that if no values are selected, the result will contain the wikitext, but the output will be in a deprecated format.
- wikitext
- The expanded wikitext.
- categories
- Any categories present in the input that are not represented in the wikitext output.
- properties
- Page properties defined by expanded magic words in the wikitext.
- volatile
- Whether the output is volatile and should not be reused elsewhere within the page.
- ttl
- The maximum time after which caches of the result should be invalidated.
- modules
- Any ResourceLoader modules that parser functions have requested be added to the output. Either jsconfigvars or encodedjsconfigvars must be requested jointly with modules.
- jsconfigvars
- Gives the JavaScript configuration variables specific to the page.
- encodedjsconfigvars
- Gives the JavaScript configuration variables specific to the page as a JSON string.
- parsetree
- The XML parse tree of the input.
- Values (separate with | or alternative): categories, encodedjsconfigvars, jsconfigvars, modules, parsetree, properties, ttl, volatile, wikitext
- includecomments
Whether to include HTML comments in the output.
- Type: boolean (details)
- showstrategykeys
Whether to include internal merge strategy information in jsconfigvars.
- Type: boolean (details)
- generatexml
- Deprecated.
Generate XML parse tree (replaced by prop=parsetree).
- Type: boolean (details)
- templatesandboxprefix
Template sandbox prefix, as with Special:TemplateSandbox.
- Separate values with | or alternative.
- Maximum number of values is 50 (500 for clients that are allowed higher limits).
- templatesandboxtitle
Parse the page using templatesandboxtext in place of the contents of the page named here.
- templatesandboxtext
Parse the page using this page content in place of the page named by templatesandboxtitle.
- templatesandboxcontentmodel
Content model of templatesandboxtext.
- One of the following values: GadgetDefinition, Scribunto, css, javascript, json, sanitized-css, text, unknown, wikibase-item, wikibase-property, wikitext
- templatesandboxcontentformat
Content format of templatesandboxtext.
- One of the following values: application/json, application/octet-stream, application/unknown, application/vnd.php.serialized, application/x-binary, text/css, text/javascript, text/plain, text/unknown, text/x-wiki, unknown/unknown
- Expand the wikitext {{Project:Sandbox}}.
- api.php?action=expandtemplates&text={{Project:Sandbox}} [open in sandbox]
action=feedcontributions
- This module requires read rights.
- Source: MediaWiki
- Licence: GPL-2.0-or-later
Returns a user's contributions feed.
- feedformat
The format of the feed.
- One of the following values: atom, rss
- Default: rss
- user
What users to get the contributions for.
- This parameter is required.
- Type: user, by any of username, IP, IP range, interwiki name (e.g. "prefix>ExampleName") and user ID (e.g. "#12345")
- namespace
Which namespace to filter the contributions by.
- One of the following values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 120, 121, 122, 123, 710, 711, 828, 829, 2300, 2301, 2302, 2303, 3000, 3001
- year
From year (and earlier).
- Type: integer
- month
From month (and earlier).
- Type: integer
- tagfilter
Filter contributions that have these tags.
- Values (separate with | or alternative): mw-blank, mw-changed-redirect-target, mw-contentmodelchange, mw-manual-revert, mw-new-redirect, mw-removed-redirect, mw-replace, mw-reverted, mw-rollback, mw-server-side-upload, mw-undo, visualeditor, visualeditor-needcheck, visualeditor-switched, visualeditor-wikitext, wikieditor
- Default: (empty)
- deletedonly
Show only deleted contributions.
- Type: boolean (details)
- toponly
Only show edits that are the latest revisions.
- Type: boolean (details)
- newonly
Only show edits that are page creations.
- Type: boolean (details)
- hideminor
Hide minor edits.
- Type: boolean (details)
- showsizediff
S