MediaWiki API help
This is an auto-generated MediaWiki Action API documentation page.
General information
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.
Request methods
Action API requests may use GET and POST methods. Prefer using the GET method, which allows requests to be routed to faster replica servers and responses to be cached, unless the length of the URL with parameters would exceed its length limit (commonly 8000 bytes), or a module only accepts POST requests.
Parameters for POST requests may be sent in the query part of the request URL (like in GET requests) and in the POST request body, and mixing both ways in one request is allowed. Certain parameters such as passwords must be sent in the request body. If the same parameter is sent as part of the URL and also in the request body, it must have the same value in both places.
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. The string now may be used to specify the current time.
Limits
Most API modules can accept up to 50 inputs in multivalue parameters, and can return up to 500 results per query (50 results for slow queries).
For users with the apihighlimits right (botyada iyo Maamulada), the limits are increased to 500 inputs and 5,000 results (500 results for slow queries).
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.
Main module
- Source: MediaWiki
- License: GPL-2.0-or-later
Specify the action to perform, the format of the response, and options that apply to all API modules.
- action
Which action to perform. This parameter should be sent as part of the request URL (not the POST body) for ease of use in debugging, analytics, and request routing or filtering.
- abusefiltercheckmatch
- Hubi in Shaandhada Xadgudubku la jaanqaadayso doorsoomayaal la bixiyay, tafatir, ama dhacdo AbuseFilter ah oo diiwaan gashan.
- abusefilterchecksyntax
- Hubi saxnaanta qaab dhismeedka shaandhada Shaandhada Xadgudubka.
- abusefilterevalexpression
- Qiimee tibaax Shaandhada Xadgudubka.
- abusefilterunblockautopromote
- Ka qaad xannibaadda isticmaalaha ee ka hor istaageysa kor u qaadista otomaatiga ah ee ka dhalatay shaandhada xadgudubka.
- abuselogprivatedetails
- Eeg faahfaahinta gaarka ah ee gelitaanka AbuseLog.
- 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.
- antispoof
- Ku tijaabi magaca isticmaalaha baarista habaynta ee ka hortagga is daba marinta.
- block
- Block a user.
- centralauthtoken
- Fetch a centralauthtoken for making an authenticated request to an attached wiki.
- centralnoticecdncacheupdatebanner
- Request the purge of banner content stored in the CDN (front-end) cache for anonymous users, for the requested banner and language
- centralnoticechoicedata
- Get data needed to choose a banner for a given project and language
- centralnoticequerycampaign
- Get all configuration settings for a campaign.
- 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.
- communityconfigurationedit
- Change the content of a configuration provider in Community configuration
- compare
- Get the difference between two pages.
- createaccount
- Create a new user account.
- createlocalaccount
- Forcibly create a local account. The central account must exist.
- delete
- Delete a page.
- deleteglobalaccount
- Delete a global user.
- discussiontoolsedit
- Ku dhaji fariin bogga wadahadalka.
- discussiontoolsfindcomment
- Raadi faallo adigoo adeegsanaya aqoonsigeeda ama magaceeda.
- discussiontoolsgetsubscriptions
- Hel xaaladaha is-diiwaangelinta ee mawduucyada la bixiyay.
- discussiontoolssubscribe
- Is-diiwaangeli (ama ka bax is-diiwaangelinta) si aad u hesho ogeysiisyo ku saabsan mawduuc.
- discussiontoolsthank
- Dir ogeysiis mahadcelin dadweyne oo loogu talagalay faallo.
- echocreateevent
- Si gacanta ah ugu kici ogeysiis isticmaale
- echomarkread
- Calaamadee ogeysiisyada isticmaalaha hadda inay yihiin la akhriyey.
- echomarkseen
- Calaamadee ogeysiisyada isticmaalaha hadda inay yihiin la arkay.
- echomute
- Aamusi ama ka saar aamusi ogeysiisyada ka imanaya isticmaaleyaal ama bogag gaar ah.
- edit
- Create and edit pages.
- editmassmessagelist
- Wax ka beddel liis gudbinta farriimaha guud.
- emailuser
- Email a user.
- expandtemplates
- Expands all templates within wikitext.
- featuredfeed
- Returns a featured content feed.
- 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.
- globalblock
- Xannib ama ka qaad xannibaad isticmaale caalami ahaan.
- globalpreferenceoverrides
- Beddel ka-reebitaannada maxalliga ah ee dooqyada caalamiga ah ee isticmaalaha hadda.
- globalpreferences
- Beddel dooqyada caalamiga ah ee isticmaalaha hadda.
- globaluserrights
- Add/remove a user to/from global groups.
- help
- Display help for the specified modules.
- imagerotate
- This module has been disabled.
- import
- Import a page from another wiki, or from 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.
- massmessage
- U dir fariin liis bogag ah.
- 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.
- setglobalaccountstatus
- Hide or lock (or unhide or unlock) a global user account.
- setnotificationtimestamp
- Update the notification timestamp for watched pages.
- setpagelanguage
- Change the language of a page.
- shortenurl
- U beddel URL dheer mid gaaban.
- sitematrix
- Hel liiska bogagga Wikimedia
- spamblacklist
- Xaqiiji hal ama ka badan URL oo ka dhan ah liiska xannibaadda spam.
- streamconfigs
- Exposes event stream config. Returns only format=json with formatversion=2.
- strikevote
- Allows admins to strike or unstrike a vote.
- tag
- Add or remove change tags from individual revisions or log entries.
- templatedata
- Soo qaado xogta lagu kaydiyay kordhinta TemplateData.
- thank
- U dir ogeysiis mahadcelin tafatiraha.
- titleblacklist
- Hubi sax ahaanshaha cinwaan bog, magaca faylka, ama magaca isticmaale adigoo isticmaalaya liiska cinwaannada la reebay.
- torblock
- Hubi in cinwaanka IP-ga uu xanniban yahay maadaama uu yahay noodh bixitaan Tor.
- 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.
- webapp-manifest
- Waxay soo celisaa muuqaalka webapp-ka.
- webauthn
- API Module to communicate between server and client during registration/authentication process.
- wikifunctions_run
- Run a function call
- wikilambda_fetch
- Fetch the JSON model of ZObjects.
- abstractwiki_fetch_section
- Internal. Request the currently available Abstract Wikipedia rendered fragments for the given topic Qid (Wikidata Item Id), section Qid, language Zid and date. Alternatively (and only with special rights), request the currently available rendered output of an array of fragments passed in the request, which can be different from the currently persisted version.
This request is never blocking. When any of the requested fragments is not ready, the retuned value for that fragment will have a "pending" flag set to true.
The response is always guaranteed to return as many results as requested -- For example, if the "fragments" param is empty and the requested section has N fragments, all N will be returned; similarly, if M fragments are requested in the "fragments" parameter, the respond will return M items.
- abstractwiki_run_fragment
- Internal. Render an Abstract Wikipedia content fragment for the given Wikidata Item Id, language Zid and date
- bouncehandler
- Internal. Hel iimayl soo noqday oo farsamee si loo maareeyo qofka qaata ee fashilmay.
- categorytree
- Internal. Qaybta gudaha ee kordhinta CategoryTree.
- chartinfo
- Internal. Soo celi tirada hadda ee isticmaalka gaarka ah ee bogagga Chart. Isticmaal badan oo isla chart ah oo ku jira isla bogga waxaa loo tiriyaa hal isticmaal.
- cirrus-check-sanity
- Internal. Warbixin ku saabsan saxnaanta tiro aqoonsi bogag ah oo ku jira tusmada raadinta
- cirrus-config-dump
- Internal. Tuurista qaabeynta Raadinta Cirrus.
- cirrus-profiles-dump
- Internal. Tuurista profiles-ka Raadinta Cirrus ee wiki-kan.
- cirrus-schema-dump
- Internal. Tuurista qaab-dhismeedka Raadinta Cirrus (dejimaha iyo khariidaynta) ee wiki-kan.
- codemirror-validate
- Internal. Check for validation errors in the given content
- collection
- Internal. API module for performing various operations on a wiki user's collection.
- 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.
- discussiontoolscompare
- Internal. Hel macluumaad ku saabsan isbeddellada faallooyinka ee u dhexeeya laba nuqul oo bog ah.
- discussiontoolspageinfo
- Internal. Waxay soo celisaa xogta meta ah ee loo baahan yahay si loo bilaabo Qalabka doodda.
- discussiontoolspreview
- Internal. Eeg horudhac fariin ku saabsan bogga wadahadalka.
- editcheckreferenceurl
- Internal. Check the status of a URL for use as a reference.
- fancycaptchareload
- Internal. Get a new FancyCaptcha.
- jsondata
- Internal. Retrieve localized JSON data.
- jsontransform
- Internal. Retrieve JSON data transformed by a Lua function.
- parser-migration
- Internal. Fasiri bog leh laba qaabeyn oo falanqeeye oo kala duwan.
- readinglists
- Internal. Reading list write operations.
- sanitize-mapdata
- Internal. Waxay fulisaa xaqiijinta xogta ee kordhinta Kartographer
- scribunto-console
- Internal. Module gudaha ah oo loogu adeegayo codsiyada XHR ee ka imanaya konsolka Scribunto.
- securepollauth
- Internal. Allows a remote wiki to authenticate users before granting access to vote in the election.
- stashedit
- Internal. Prepare an edit in shared cache.
- timedtext
- Internal. Provides timed text content for usage by <track> elements
- ulslocalization
- Internal. Hel tarjumaadda ULS ee luqadda la bixiyay.
- ulssetlang
- Internal. Cusboonaysii luqadda is dhexgalka ee uu doorbidayo isticmaaluhu.
- visualeditor
- Internal. Waxay soo celisaa HTML5 ee bogga laga helo adeegga Parsoid.
- visualeditoredit
- Internal. Ku keydi bog HTML5 ah MediaWiki (loogu beddelay wikitext iyadoo la adeegsanayo adeegga Parsoid).
- wikifunctions_html_sanitiser
- Internal. API to sanitise a string of HTML for user-facing display on Wikifunctions.org and client Wikimedia wikis.
- wikilambda_edit
- Internal. Create or edit a ZObject.
- wikilambda_function_call
- Internal. Invoke a function by calling the function-orchestrator
- wikilambda_perform_test
- Internal. Endpoint to query test results for a ZFunction. Accepts a ZFunction, a list of ZImplementations, and a list of ZTesters. Accepts either a list of ZIDs or the full ZObject for the function, implementations, or testers. Also accepts a key to utilize a back end cache or not.
- wikilambda_supported_programming_languages
- Internal. Retrieve the programming languages supported by the evaluator
- wikimediaeventsblockededit
- Internal. Log information about blocked edit attempts
- wikimediaeventshcaptchaeditattempt
- Internal. Log edit diff when hCaptcha challenge is shown but edit is incomplete
- One of the following values: abusefiltercheckmatch, abusefilterchecksyntax, abusefilterevalexpression, abusefilterunblockautopromote, abuselogprivatedetails, acquiretempusername, antispoof, block, centralauthtoken, centralnoticecdncacheupdatebanner, centralnoticechoicedata, centralnoticequerycampaign, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, communityconfigurationedit, compare, createaccount, createlocalaccount, delete, deleteglobalaccount, discussiontoolsedit, discussiontoolsfindcomment, discussiontoolsgetsubscriptions, discussiontoolssubscribe, discussiontoolsthank, echocreateevent, echomarkread, echomarkseen, echomute, edit, editmassmessagelist, emailuser, expandtemplates, featuredfeed, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, globalblock, globalpreferenceoverrides, globalpreferences, globaluserrights, help, imagerotate, import, jsonconfig, languagesearch, linkaccount, login, logout, managetags, massmessage, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setglobalaccountstatus, setnotificationtimestamp, setpagelanguage, shortenurl, sitematrix, spamblacklist, streamconfigs, strikevote, tag, templatedata, thank, titleblacklist, torblock, transcodereset, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, webapp-manifest, webauthn, wikifunctions_run, wikilambda_fetch, abstractwiki_fetch_section, abstractwiki_run_fragment, bouncehandler, categorytree, chartinfo, cirrus-check-sanity, cirrus-config-dump, cirrus-profiles-dump, cirrus-schema-dump, codemirror-validate, collection, cspreport, discussiontoolscompare, discussiontoolspageinfo, discussiontoolspreview, editcheckreferenceurl, fancycaptchareload, jsondata, jsontransform, parser-migration, readinglists, sanitize-mapdata, scribunto-console, securepollauth, stashedit, timedtext, ulslocalization, ulssetlang, visualeditor, visualeditoredit, wikifunctions_html_sanitiser, wikilambda_edit, wikilambda_function_call, wikilambda_perform_test, wikilambda_supported_programming_languages, wikimediaeventsblockededit, wikimediaeventshcaptchaeditattempt
- Default: help
- format
The format of the output.
- One of the following values: json, jsonfm, none, 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.
- Nooc: isticmaale, mid ka mid ah Magaca isticmaalaha iyo Isticmaale ku meel gaar ah
- 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 URL (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 URL (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)
- centralauthtoken
When accessing the API using a cross-domain AJAX request (CORS), use this to authenticate as the current SUL user. Use action=centralauthtoken on this wiki to retrieve the token, before making the CORS request. Each token may only be used once, and expires after 60 seconds. This should be included in any pre-flight request, and therefore should be included in the request URI (not the POST body).
On this wiki the expected value is a JSON Web Token, which may be validated by proxy servers in front of MediaWiki. If the token has expired or is otherwise invalid, you may receive a HTTP error from a proxy in a different format than a normal API error.
- Help for the main module.
- api.php?action=help [open in sandbox]
- All help in one page.
- api.php?action=help&recursivesubmodules=1&toc [open in sandbox]
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/.