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
- License: 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.
- acquiretempusername
- Acquire a temporary user username and stash it in the current session, if temp account creation is enabled and the current user is logged out. If a name has already been stashed, returns the same name.
- 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 two 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 from an XML file.
- 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.
- tag
- Add or remove change tags from individual revisions or log entries.
- 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.
- 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.
- stashedit
- Internal. Prepare an edit in shared cache.
- One of the following values: acquiretempusername, block, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, compare, createaccount, delete, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, tag, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, cspreport, stashedit
- 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 serialized PHP format.
- phpfm
- Output data in serialized 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
- The value must be no less than 0.
- Default: 0
- maxage
Set the
max-ageHTTP cache control header to this many seconds. Errors are never cached.- Type: integer
- The value must be no less than 0.
- Default: 0
- assert
Verify that the user is logged in (including possibly as a temporary user) 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 any of username and Temporary user
- 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.- crossorigin
When accessing the API using a cross-domain AJAX request (CORS) and using a session provider that is safe against cross-site request forgery (CSRF) attacks (such as OAuth), use this instead of
origin=*to make the request authenticated (i.e., not logged out). This must be included in any pre-flight request, and therefore must be part of the request URI (not the POST body).Note that most session providers, including standard cookie-based sessions, do not support authenticated CORS and cannot be used with this parameter.
- Type: boolean (details)
- uselang
Language to use for message translations. action=query&meta=siteinfo&siprop=languages returns a list of language codes. You can specify user to use the current user's language preference or 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&siprop=languages returns a list of language codes. Specify content to use this wiki's content language or 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=acquiretempusername
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- License: GPL-2.0-or-later
Acquire a temporary user username and stash it in the current session, if temp account creation is enabled and the current user is logged out. If a name has already been stashed, returns the same name.
If the user later performs an action that results in temp account creation, the stashed username will be used for their account. It may also be used in previews. However, the account is not created yet, and the name is not visible to other users.
action=block
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- License: GPL-2.0-or-later
Block a user.
- id
ID of the block to modify (obtained through list=blocks). Cannot be used together with user, reblock, or newblock.
- Type: integer
- user
User to block. Cannot be used together with id.
- Type: user, by any of username, IP, Temporary user, 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, including temporary account edits).
- 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 by a single block, overwrite the existing block. If the user is blocked more than once, this will fail—use the id parameter instead to specify which block to overwrite. Cannot be used together with id or newblock.
- Type: boolean (details)
- newblock
Add another block even if the user is already blocked. Cannot be used together with id or reblock.
- Type: boolean (details)
- watchuser
Watch the user's or IP address's user and talk pages.
- Type: boolean (details)
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
- To specify all values, use *.
- actionrestrictions
List of actions to block the user from performing. Only applies when partial is set to true.
- Values (separate with | or alternative): create, move, upload
- 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=changeauthenticationdata (changeauth)
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- License: 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
- License: 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
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: css, javascript, json, text, vue, 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
- License: 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
- License: 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
- License: 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
- License: GPL-2.0-or-later
Get the difference between two pages.
A revision number, a page title, a page ID, text, or a relative reference 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/vue+xml, 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: css, javascript, json, text, unknown, vue, 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/vue+xml, 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: css, javascript, json, text, unknown, vue, 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/vue+xml, 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: css, javascript, json, text, unknown, vue, 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/vue+xml, 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: css, javascript, json, text, unknown, vue, 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
- The timestamp of the 'from' and 'to' revisions.
- 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 *.
- difftype
Return the comparison formatted as inline HTML.
- One of the following values: table, unified
- Default: table
- 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
- License: 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, and you should not use it. Its operation may change without notice.
- This module only accepts POST requests.
- Source: MediaWiki
- License: 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
- License: 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.
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
- License: 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.
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 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 serialization format used for the input text.
- One of the following values: application/json, application/octet-stream, application/unknown, application/vue+xml, 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: css, javascript, json, text, unknown, vue, 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.
- returnto
Page title. If saving the edit created a temporary account, the API may respond with an URL that the client should visit to complete logging in. If this parameter is provided, the URL will redirect to the given page, instead of the page that was edited.
- Type: page title
- Accepts non-existent pages.
- returntoquery
URL query parameters (with leading ?). If saving the edit created a temporary account, the API may respond with an URL that the client should visit to complete logging in. If this parameter is provided, the URL will redirect to a page with the given query parameters.
- Default: (empty)
- returntoanchor
URL fragment (with leading #). If saving the edit created a temporary account, the API may respond with an URL that the client should visit to complete logging in. If this parameter is provided, the URL will redirect to a page with the given fragment.
- Default: (empty)
- 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
- License: 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
- License: 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)
- Expand the wikitext {{Project:Sandbox}}.
- api.php?action=expandtemplates&text={{Project:Sandbox}} [open in sandbox]
action=feedcontributions
- This module requires read rights.
- Source: MediaWiki
- License: 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, Temporary user, 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
- 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-recreated, mw-removed-redirect, mw-replace, mw-reverted, mw-rollback, mw-server-side-upload, mw-undo
- 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
Show the size difference between revisions.
- Type: boolean (details)
- Return contributions for user Example.
- api.php?action=feedcontributions&user=Example [open in sandbox]
action=feedrecentchanges
- This module requires read rights.
- Source: MediaWiki
- License: GPL-2.0-or-later
Returns a recent changes feed.
- feedformat
The format of the feed.
- One of the following values: atom, rss
- Default: rss
- namespace
Namespace to limit the results to.
- One of the following values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
- invert
All namespaces but the selected one.
- Type: boolean (details)
- associated
Include associated (talk or main) namespace.
- Type: boolean (details)
- days
Days to limit the results to.
- Type: integer
- The value must be no less than 1.
- Default: 7
- limit
Maximum number of results to return.
- Type: integer
- The value must be between 1 and 50.
- Default: 50
- from
Show changes since then.
- Type: timestamp (allowed formats)
- hideminor
Hide minor changes.
- Type: boolean (details)
- hidebots
Hide changes made by bots.
- Type: boolean (details)
- hideanons
Hide changes made by anonymous users.
- Type: boolean (details)
- hideliu
Hide changes made by registered users.
- Type: boolean (details)
- hidepatrolled
Hide patrolled changes.
- Type: boolean (details)
- hidemyself
Hide changes made by the current user.
- Type: boolean (details)
- hidecategorization
Hide category membership changes.
- Type: boolean (details)
- tagfilter
Filter by tag.
All edits except ones tagged with the selected ones.
- Type: boolean (details)
- target
Show only changes on pages linked from this page.
- showlinkedto
Show changes on pages linked to the selected page instead.
- Type: boolean (details)
- Show recent changes.
- api.php?action=feedrecentchanges [open in sandbox]
- Show recent changes for 30 days.
- api.php?action=feedrecentchanges&days=30 [open in sandbox]
action=feedwatchlist
- This module requires read rights.
- Source: MediaWiki
- License: GPL-2.0-or-later
Returns a watchlist feed.
- feedformat
The format of the feed.
- One of the following values: atom, rss
- Default: rss
- hours
List pages modified within this many hours from now.
- Type: integer
- The value must be between 1 and 72.
- Default: 24
- linktosections
Link directly to changed sections if possible.
- Type: boolean (details)
- allrev
Include multiple revisions of the same page within given timeframe.
- Type: boolean (details)
- wlowner
Used along with token to access a different user's watchlist.
- Type: user, by username
- wltoken
A security token (available in the user's preferences) to allow access to another user's watchlist.
- wlshow
Show only items that meet these criteria. For example, to see only minor edits done by logged-in users, set show=minor|!anon.
- Values (separate with | or alternative): !anon, !autopatrolled, !bot, !minor, !patrolled, !unread, anon, autopatrolled, bot, minor, patrolled, unread
- wltype
Which types of changes to show:
- edit
- Regular page edits.
- new
- Page creations.
- log
- Log entries.
- external
- External changes.
- categorize
- Category membership changes.
- Values (separate with | or alternative): categorize, edit, external, log, new
- Default: edit|new|log|categorize
- wlexcludeuser
Don't list changes by this user.
- Type: user, by any of username, IP, Temporary user, interwiki name (e.g. "prefix>ExampleName") and user ID (e.g. "#12345")
- Show the watchlist feed.
- api.php?action=feedwatchlist [open in sandbox]
- Show all changes to watched pages in the past 6 hours.
- api.php?action=feedwatchlist&allrev=&hours=6 [open in sandbox]
action=filerevert
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- License: GPL-2.0-or-later
Revert a file to an old version.
- filename
Target filename, without the File: prefix.
- This parameter is required.
- comment
Upload comment.
- Default: (empty)
- archivename
Archive name of the revision to revert to.
- This parameter is required.
- token
A "csrf" token retrieved from action=query&meta=tokens
- This parameter is required.
- Revert Wiki.png to the version of 2011-03-05T15:27:40Z.
- api.php?action=filerevert&filename=Wiki.png&comment=Revert&archivename=20110305152740!Wiki.png&token=123ABC [open in sandbox]
action=help
- Source: MediaWiki
- License: GPL-2.0-or-later
Display help for the specified modules.
- modules
Modules to display help for (values of the action and format parameters, or main). Can specify submodules with a +.
- Separate values with | or alternative.
- Maximum number of values is 50 (500 for clients that are allowed higher limits).
- Default: main
- submodules
Include help for submodules of the named module.
- Type: boolean (details)
- recursivesubmodules
Include help for submodules recursively.
- Type: boolean (details)
- wrap
Wrap the output in a standard API response structure.
- Type: boolean (details)
- toc
Include a table of contents in the HTML output.
- Type: boolean (details)
- Help for the main module.
- api.php?action=help [open in sandbox]
- Help for action=query and all its submodules.
- api.php?action=help&modules=query&submodules=1 [open in sandbox]
- All help in one page.
- api.php?action=help&recursivesubmodules=1 [open in sandbox]
- Help for the help module itself.
- api.php?action=help&modules=help [open in sandbox]
- Help for two query submodules.
- api.php?action=help&modules=query+info|query+categorymembers [open in sandbox]
action=imagerotate
- This module requires read rights.
- This module requires write rights.
- This module only accepts POST requests.
- Source: MediaWiki
- License: GPL-2.0-or-later
Rotate one or more images.
- rotation
Degrees to rotate image clockwise.
- This parameter is required.
- One of the following values: 90, 180, 270
- continue
When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.
Tags to apply to the entry in the upload log.
- Values (separate with | or alternative):
- titles
A list of titles to work on.
- Separate values with | or alternative.
- Maximum number of values is 50 (500 for clients that are allowed higher limits).
- pageids
A list of page IDs to work on.
- Type: list of integers
- Separate values with | or alternative.
- Maximum number of values is 50 (500 for clients that are allowed higher limits).
- revids
A list of revision IDs to work on. Note that almost all query modules will convert revision IDs to the corresponding page ID and work on the latest revision instead. Only prop=revisions uses exact revisions for its response.
- Type: list of integers
- Separate values with | or alternative.
- Maximum number of values is 50 (500 for clients that are allowed higher limits).
- generator
Get the list of pages to work on by executing the specified query module.
Note: Generator parameter names must be prefixed with a "g", see examples.
- allcategories
- Enumerate all categories.
- alldeletedrevisions
- List all deleted revisions by a user or in a namespace.