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.
- ask
- API module to query Semantic MediaWiki using the ask language.
- askargs
- API module to query Semantic MediaWiki using the ask language as list of conditions, printouts and parameters.
- block
- Block a user.
- bs-adminuser-store
- Lists all users from the database with additional sensitive data. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-avatars-tasks
- Uploading, generating and setting user avatars
- bs-book-chapters-store
- Allows querying of all books and their chapter pages.
- bs-books-overview-store
- Lists all books including bookshelf, first chapter link and actions.
- bs-bookshelf-bookstore
- Lists all chapters for a given book. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-bookshelf-manage
- Provides tasks for book manipulation.
- bs-bookshelf-mass-add-page-store
- Provides pages that can be added en masse into a book.
- bs-bookshelf-page-collection-store
- Provides a collection of pages that can be added en masse into a book.
- bs-bookshelf-store
- Lists all books. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-category-store
- Lists all categories. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-category-treestore
- Lists the sub-categories of a specific category
- bs-categorylinks-store
- Lists all categories of a page, including a link to the category page and a marker for explicit and implicit categories.
- bs-checklist-available-options-store
- Lists all available options for checklist templates. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-checklist-tasks
- Provides operations for Checklist extension
- bs-checklist-template-store
- Lists all templates that are valid checklist sources. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-configmanager-store
- Manage stores
- bs-configmanager-tasks
- Manage tasks
- bs-contextmenu-tasks
- Provides the context menu items in context
- bs-dashboards-store
- Lists all available portlets
- bs-dashboards-tasks
- Saves dashboard configuration
- bs-dashboards-widgets-tasks
- Returns content for some dashboard widgets
- bs-expiry-store
- Provides a store for expires, that can be queried
- bs-expiry-tasks
- Provides tasks such as editing or deleting expiries
- bs-extendedsearch-autocomplete
- Returns autocomplete results from given query
- bs-extendedsearch-query
- Search the index
- bs-extendedsearch-resultrelevance
- Returns the relevance of search results
- bs-extendedsearch-stats
- Returns statistical data about the registered backends and their configured sources
- bs-extendedsearch-triggerupdate
- Trigger update of search index
- bs-extendedsearch-type-store
- Returns registered search types
- bs-file-tasks
- bs-filebackend-store
- Lists all files from the file backend. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-filehistory-store
- bs-group-store
- Lists all groups except $wgImplicitGroups. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-groupmanager
- Provides the tasks for the extension GroupManager.
- bs-insertfile-license-store
- Lists the licenses for the extension InsertFile.
- bs-inserttemplate-store
- Lists all templates. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-interwiki-store
- Lists all interwiki links. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-interwikilinks-tasks
- Provides the tasks for the extension InterWikiLinks.
- bs-js-var-config
- Provides an API endpoint for retrieving client-side configuration variables
- bs-linker
- Returns links to pages generated by Linker
- bs-mypageassignment-store
- Returns pages assigned to current user
- bs-namespace-store
- Lists all namespaces and arbitrary configuration. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-namespace-tasks
- Allows modification of the namespace configuration.
- bs-nsfilerepo-connector
- API endpoint for extension BlueSpiceNSFileRepoConnector
- bs-nsfrc-tasks
- API endpoint for extension BlueSpiceNSFileRepoConnector
- bs-pageaccess-store
- Control access on page level
- bs-pageassignable-store
- Returns the list of assignees
- bs-pageassignment-store
- Returns assignments of the specific page
- bs-pageassignment-tasks
- Get or edit the list of assignments for specific page
- bs-pageauthors-store
- List all authors of a page provided in the context
- bs-pagetemplate-tags-store
- Lists all page templates tags. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-pagetemplates-store
- Lists all page templates. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-pagetemplates-tasks
- Allows manipulation of page templates
- bs-permissionmanager-tasks
- Provides tasks for the PermissionManager
- bs-ping-tasks
- Ping task that provides continuous exchange of data
- bs-privacy
- Endpoint for all API actions regarding privacy
- bs-privacy-get-all-consents
- Endpoint for gettings consent information for all users
- bs-privacy-get-requests
- Endpoint for getting all pending requests
- bs-qr-code
- Get QR code as base64 data URI for a page
- bs-rating-tasks
- Executes common tasks for extension Rating
- bs-ratingarticle-store
- Delivers ratings for articles
- bs-ratingarticlelike-store
- Delivers recommendations for articles
- bs-readconfirmation-tasks
- API endpoint for extension ReadConfirmation
- bs-readers-data-store
- Get reader info of specific page.
- bs-readers-page-readers-store
- Gets all readers of all pages
- bs-readers-revision-readers-store
- Gets all readers of all revisions of a page
- bs-readers-tasks
- Provides common operations for Readers
- bs-readers-users-store
- Get all readers info of specific page.
- bs-recentchanges-store
- Lists all recent changes. Allows sorting, filtering and pagination. Implements store parameters.
- bs-reminder-store
- Provides a store for reminders, that can be queried
- bs-reminder-tasks
- Provides tasks such as editing or deleting reminders
- bs-role-permission-store
- Provide role description for the PermissionManager
- bs-rss-standards-pages-store
- Return List of available Pages for RSSFeeder
- bs-rssfeeder-tasks
- Provides common tasks for the RSSFeeder
- bs-smartlist-tasks
- API functions to serve portlet data for page and user statistics.
- bs-smw-connector-ask-store
- ExtJS-compatible store to execute semantic queries
- bs-smw-connector-smw-property-store
- ExtJS-compatible store to get property values
- bs-smw-connector-tree-ask-store
- ExtJS-compatible tree store to execute semantic queries
- bs-social-tasks
- Provides tasks such as editing or deleting entities
- bs-socialentity-store
- Provides a search store for entities, that can be queried
- bs-socialresolve-tasks
- Provides tasks for editing the resolve status of entities
- bs-socialtags-tasks
- Provides tasks for editing the linked pages of entities
- bs-socialtitlequery-store
- Provides data for titles, that can be linked within an entity
- bs-socialtopics-tasks
- Provides tasks such as auto creating the discussion page
- bs-socialwatch-tasks
- Provides tasks for editing the watch status of entities
- bs-statistics-available-diagrams-store
- Provides a store with available diagrams
- bs-statistics-search-options-store
- Provides a store with available search options
- bs-statistics-tasks
- Provides common tasks for statistics
- bs-task
- Provides the API endpoint for executing registered tasks
- bs-templatelinks-store
- Lists all templates of a page, including a link to the template.
- bs-titlequery-store
- Lists page titles and (optionally) namespace prefixes based on a query term. Implements ExtJS Store parameters.
- bs-translation-transfer-foreign-page-tasks
- bs-translation-transfer-tasks
- bs-upload-license-store
- Lists all available licences for a file upload
- bs-usagetracker-store
- Holds statistical data about extension use
- bs-user-store
- Lists all users from the database. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-userinfometa
- Lists the given users meta information data
- bs-usermanager-group-store
- Provides the user manager tasks api for BlueSpice.
- bs-usermanager-tasks
- Provides operations for Checklist extension
- bs-watchlist-store
- Lists all watchlist entries. Allows sorting, filtering and pagination. Implements store parameters.
- bs-wikiexplorer-store
- Provides all data for the extension WikiExplorer
- bs-wikipage-store
- Lists all wiki pages. Allows sorting, filtering and pagination. Implements ExtJS Store parameters.
- bs-wikipage-tasks
- Provides common operations for WikiPages
- bs-wikisubpage-treestore
- Lists the subpages of a specific wikipage
- 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
hasmsg
flag for the current user. - clientlogin
- Log in to the wiki using the interactive flow.
- compare
- Get the difference between two pages.
- compoundquery
- content-transfer-do-push-single
- Transfers a singe page to a receiving wiki
- content-transfer-get-pages
- Lists all pages that are pushable based on given filters
- content-transfer-purge-pages
- Purges all pages that were transferred to the receiving wiki
- content-transfer-push-info
- Retrieves all resources such as included files, linked pages etc. of the page, that is about to be transferred to a target wiki
- cpd-delete-orphaned-elements
- Deletes elements of BPMN diagram, which were removed
- cpd-save-diagram-elements
- Saves elements of BPMN diagram as wiki pages, or updates them if already exist
- createaccount
- Create a new user account.
- delete
- Delete a page.
- edit
- Create and edit pages.
- emailuser
- Email a user.
- embedvideo
- Get generated video embed code for given parameters.
- expandtemplates
- Expands all templates within wikitext.
- ext.srf.datatables.api
- ext.srf.slideshow.show
- 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.
- flexiskin-activation
- The activate module
- flexiskin-delete
- The delete module
- flexiskin-preview
- The preview module
- flexiskin-save
- The save module
- forms-form-submit
- Provides editing via forms
- forms-get-definitions
- Provides querying the existing form definitions
- getheaderfooter
- Retrieve the parsed output of a header or footer in the context of a certain page.
- 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.
- ma-discard-draft
- Discard existing draft version of a page
- ma-merge-page-existing
- Merges a draft version into an existing page
- ma-merge-page-new
- Merges a draft version into a new page
- ma-set-related-titles
- Relates a page to a draft version of the page
- 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.
- pagecheckout-clear
- Clear active page checkout
- paraminfo
- Obtain information about API modules.
- parse
- Parses content and returns parser output.
- patrol
- Patrol a page or revision.
- pfautocomplete
- Autocompletion used by the Page Forms extension.
- pfautoedit
- Create or edit a page using a form defined by the Page Forms extension.
- 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.
- smwbrowse
- API module to support browse activities for different entity types in Semantic MediaWiki.
- smwinfo
- API module to retrieve information about Semantic MediaWiki statistics and other meta information.
- smwtask
- API module to execute Semantic MediaWiki related tasks (for internal use only, not for public use).
- streamconfigs
- Exposes event stream config. Returns only format=json with formatversion=2.
- tag
- Add or remove change tags from individual revisions or log entries.
- templatedata
- Fetch data stored by the TemplateData extension.
- 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.
- webauthn
- API Module to communicate between server and client during registration/authentication process
- browsebyproperty
- Deprecated. API module to retrieve information about a property or list of properties.
- browsebysubject
- Deprecated. API module to retrieve information about a subject.
- bs-translation-transfer-convert
- Internal.
- 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.
- oathvalidate
- Internal. Validate a two-factor authentication (OATH) token.
- scribunto-console
- Internal. Internal module for servicing XHR requests from the Scribunto console.
- stashedit
- Internal. Prepare an edit in shared cache.
- 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: ask, askargs, block, bs-adminuser-store, bs-avatars-tasks, bs-book-chapters-store, bs-books-overview-store, bs-bookshelf-bookstore, bs-bookshelf-manage, bs-bookshelf-mass-add-page-store, bs-bookshelf-page-collection-store, bs-bookshelf-store, bs-category-store, bs-category-treestore, bs-categorylinks-store, bs-checklist-available-options-store, bs-checklist-tasks, bs-checklist-template-store, bs-configmanager-store, bs-configmanager-tasks, bs-contextmenu-tasks, bs-dashboards-store, bs-dashboards-tasks, bs-dashboards-widgets-tasks, bs-expiry-store, bs-expiry-tasks, bs-extendedsearch-autocomplete, bs-extendedsearch-query, bs-extendedsearch-resultrelevance, bs-extendedsearch-stats, bs-extendedsearch-triggerupdate, bs-extendedsearch-type-store, bs-file-tasks, bs-filebackend-store, bs-filehistory-store, bs-group-store, bs-groupmanager, bs-insertfile-license-store, bs-inserttemplate-store, bs-interwiki-store, bs-interwikilinks-tasks, bs-js-var-config, bs-linker, bs-mypageassignment-store, bs-namespace-store, bs-namespace-tasks, bs-nsfilerepo-connector, bs-nsfrc-tasks, bs-pageaccess-store, bs-pageassignable-store, bs-pageassignment-store, bs-pageassignment-tasks, bs-pageauthors-store, bs-pagetemplate-tags-store, bs-pagetemplates-store, bs-pagetemplates-tasks, bs-permissionmanager-tasks, bs-ping-tasks, bs-privacy-get-all-consents, bs-privacy-get-requests, bs-privacy, bs-qr-code, bs-rating-tasks, bs-ratingarticle-store, bs-ratingarticlelike-store, bs-readconfirmation-tasks, bs-readers-data-store, bs-readers-page-readers-store, bs-readers-revision-readers-store, bs-readers-tasks, bs-readers-users-store, bs-recentchanges-store, bs-reminder-store, bs-reminder-tasks, bs-role-permission-store, bs-rss-standards-pages-store, bs-rssfeeder-tasks, bs-smartlist-tasks, bs-smw-connector-ask-store, bs-smw-connector-smw-property-store, bs-smw-connector-tree-ask-store, bs-social-tasks, bs-socialentity-store, bs-socialresolve-tasks, bs-socialtags-tasks, bs-socialtitlequery-store, bs-socialtopics-tasks, bs-socialwatch-tasks, bs-statistics-available-diagrams-store, bs-statistics-search-options-store, bs-statistics-tasks, bs-task, bs-templatelinks-store, bs-titlequery-store, bs-translation-transfer-foreign-page-tasks, bs-translation-transfer-tasks, bs-upload-license-store, bs-usagetracker-store, bs-user-store, bs-userinfometa, bs-usermanager-group-store, bs-usermanager-tasks, bs-watchlist-store, bs-wikiexplorer-store, bs-wikipage-store, bs-wikipage-tasks, bs-wikisubpage-treestore, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, compare, compoundquery, content-transfer-do-push-single, content-transfer-get-pages, content-transfer-purge-pages, content-transfer-push-info, cpd-delete-orphaned-elements, cpd-save-diagram-elements, createaccount, delete, edit, emailuser, embedvideo, expandtemplates, ext.srf.datatables.api, ext.srf.slideshow.show, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, flexiskin-activation, flexiskin-delete, flexiskin-preview, flexiskin-save, forms-form-submit, forms-get-definitions, getheaderfooter, help, imagerotate, import, linkaccount, login, logout, ma-discard-draft, ma-merge-page-existing, ma-merge-page-new, ma-set-related-titles, managetags, mergehistory, move, opensearch, options, pagecheckout-clear, paraminfo, parse, patrol, pfautocomplete, pfautoedit, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, smwbrowse, smwinfo, smwtask, streamconfigs, tag, templatedata, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, webauthn, browsebyproperty, browsebysubject, bs-translation-transfer-convert, categorytree, cspreport, oathvalidate, scribunto-console, stashedit, 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 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-maxage
HTTP cache control header to this many seconds. Errors are never cached.- Type: integer
- Default: 0
- maxage
Set the
max-age
HTTP 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
Origin
header 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 theOrigin
header, a 403 response will be returned. If this parameter matches theOrigin
header and the origin is allowed, theAccess-Control-Allow-Origin
andAccess-Control-Allow-Credentials
headers will be set.For non-authenticated requests, specify the value *. This will cause the
Access-Control-Allow-Origin
header to be set, butAccess-Control-Allow-Credentials
will befalse
and all user-specific data will be restricted.- uselang
Language to use for message translations. action=query&meta=siteinfo&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&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]
Data types
Input to MediaWiki should be NFC-normalized UTF-8. MediaWiki may attempt to convert other input, but this may cause some operations (such as edits with MD5 checks) to fail.
Parameters that take multiple values are normally submitted with the values separated using the pipe character, e.g. param=value1|value2 or param=value1%7Cvalue2. If a value must contain the pipe character, use U+001F (Unit Separator) as the separator and prefix the value with U+001F, e.g. param=%1Fvalue1%1Fvalue2.
Some parameter types in API requests need further explanation:
- boolean
Boolean parameters work like HTML checkboxes: if the parameter is specified, regardless of value, it is considered true. For a false value, omit the parameter entirely.
- expiry
Expiry values may be relative (e.g. 5 months or 2 weeks) or absolute (e.g. 2014-09-18T12:34:56Z). For no expiry, use infinite, indefinite, infinity or never.
- timestamp
Timestamps may be specified in several formats, see the Timestamp library input formats documented on mediawiki.org for details. ISO 8601 date and time is recommended: 2001-01-15T14:56:00Z. Additionally, the string now may be used to specify the current timestamp.
Templated parameters
Templated parameters support cases where an API module needs a value for each value of some other parameter. For example, if there were an API module to request fruit, it might have a parameter fruits to specify which fruits are being requested and a templated parameter {fruit}-quantity to specify how many of each fruit to request. An API client that wants 1 apple, 5 bananas, and 20 strawberries could then make a request like fruits=apples|bananas|strawberries&apples-quantity=1&bananas-quantity=5&strawberries-quantity=20.
Credits
API developers:
- Yuri Astrakhan (creator, lead developer Sep 2006–Sep 2007)
- Roan Kattouw (lead developer Sep 2007–2009)
- Victor Vasiliev
- Bryan Tong Minh
- Sam Reed
- Brad Jorsch (lead developer 2013–2020)
Please send your comments, suggestions and questions to mediawiki-api@lists.wikimedia.org or file a bug report at https://phabricator.wikimedia.org/.