API:Purge - MediaWiki (original) (raw)

Languages:

This page is part of the MediaWiki Action API documentation.
MediaWiki version: ≥ 1.14

POST request to purge the cache for the given title.

The following documentation is the output of Special:ApiHelp/purge, automatically generated by the pre-release version of MediaWiki that is running on this site (MediaWiki.org).

Purge the cache for the given titles.

Specific parameters:

forcelinkupdate

Update the links tables and do other secondary data updates.

Type: boolean (details)

forcerecursivelinkupdate

Same as forcelinkupdate, and update the links tables for any page that uses this page as a template.

Type: boolean (details)

continue

When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.

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.

allfileusages

List all file usages, including non-existing.

allimages

Enumerate all images sequentially.

alllinks

Enumerate all links that point to a given namespace.

allpages

Enumerate all pages sequentially in a given namespace.

allredirects

List all redirects to a namespace.

allrevisions

List all revisions.

alltransclusions

List all transclusions (pages embedded using {{x}}), including non-existing.

backlinks

Find all pages that link to the given page.

categories

List all categories the pages belong to.

categorymembers

List all pages in a given category.

deletedrevisions

Get deleted revision information.

duplicatefiles

List all files that are duplicates of the given files based on hash values.

embeddedin

Find all pages that embed (transclude) the given title.

exturlusage

Enumerate pages that contain a given URL.

fileusage

Find all pages that use the given files.

images

Returns all files contained on the given pages.

imageusage

Find all pages that use the given image title.

iwbacklinks

Find all pages that link to the given interwiki link.

langbacklinks

Find all pages that link to the given language link.

links

Returns all links from the given pages.

linkshere

Find all pages that link to the given pages.

messagecollection

Query MessageCollection about translations.

mostviewed

Lists the most viewed pages (based on last day's pageview count).

pageswithprop

List all pages using a given page property.

prefixsearch

Perform a prefix search for page titles.

protectedtitles

List all titles protected from creation.

querypage

Get a list provided by a QueryPage-based special page.

random

Get a set of random pages.

recentchanges

Enumerate recent changes.

redirects

Returns all redirects to the given pages.

revisions

Get revision information.

search

Perform a full text search.

templates

Returns all pages transcluded on the given pages.

transcludedin

Find all pages that transclude the given pages.

watchlist

Get recent changes to pages in the current user's watchlist.

watchlistraw

Get all pages on the current user's watchlist.

wblistentityusage

Returns all pages that use the given entity IDs.

readinglistentries

Internal. List the pages of a certain list.

One of the following values: allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, backlinks, categories, categorymembers, deletedrevisions, duplicatefiles, embeddedin, exturlusage, fileusage, images, imageusage, iwbacklinks, langbacklinks, links, linkshere, messagecollection, mostviewed, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, redirects, revisions, search, templates, transcludedin, watchlist, watchlistraw, wblistentityusage, readinglistentries

redirects

Automatically resolve redirects in titles, pageids, and revids, and in pages returned by generator.

Type: boolean (details)

converttitles

Convert titles to other variants if necessary. Only works if the wiki's content language supports variant conversion. Languages that support variant conversion include ban, en, crh, gan, iu, ku, mni, sh, shi, sr, tg, tly, uz, wuu, zgh and zh.

Type: boolean (details)

Example 1: Purge one or two pages

[edit]

{ "batchcomplete": "", "purge": [ { "ns": 0, "title": "NonexistentArticle", "missing": "" }, { "ns": 0, "title": "Main Page", "purged": "" } ], "normalized": [ { "from": "Main_Page", "to": "Main Page" } ] }

#!/usr/bin/python3

""" purge_two_pages.py

MediaWiki API Demos
Demo of `purge` module: Sending post request to purge two or more pages
MIT license

""" import requests

S = requests.Session()

URL = "https://en.wikipedia.org/w/api.php"

PARAMS = { "action": "purge", "titles": "Main_Page|Nonexistent", "format": "json" }

R = S.post(url=URL, params=PARAMS) DATA = R.text

print(DATA)

"purge", "titles" => "Main_Page|Nonexistent", "format" => "json" ]; $ch = curl_init(); curl_setopt( ch,CURLOPTURL,ch, CURLOPT_URL, ch,CURLOPTURL,endPoint ); curl_setopt( $ch, CURLOPT_POST, true ); curl_setopt( ch,CURLOPTPOSTFIELDS,httpbuildquery(ch, CURLOPT_POSTFIELDS, http_build_query( ch,CURLOPTPOSTFIELDS,httpbuildquery(params ) ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); output=curlexec(output = curl_exec( output=curlexec(ch ); curl_close( $ch ); echo ( $output ); } /* purge_two_pages.js MediaWiki API Demos Demo of `purge` module: Sending post request to purge two or more pages MIT license */ var request = require('request').defaults({jar: true}), url = "https://en.wikipedia.org/w/api.php"; function purge() { var params = { action: "purge", titles: "Main_Page|Nonexistent", format: "json" }; request.post({ url: url, form: params }, function (error, res, body) { if (error) { return; } console.log(body); }); } // Start the function purge(); /* purge_two_pages.js MediaWiki API Demos Demo of `purge` module: Sending post request to purge two or more pages MIT License */ var params = { action: 'purge', titles: 'Main_Page|Nonexistent', format: 'json' }, api = new mw.Api(); api.post( params ).done( function ( data ) { console.log( data ); } ); ### Example 2: Purge first 10 pages in the main namespace \[[edit](/w/index.php?title=API:Purge&action=edit§ion=7 "Edit section: Example 2: Purge first 10 pages in the main namespace")\] { "batchcomplete": "", "continue": { "gapcontinue": "!!Destroy-Oh-Boy!!", "continue": "gapcontinue||" }, "purge": [ { "ns": 0, "title": "!", "purged": "" }, { "ns": 0, "title": "!!", "purged": "" } ... ] } #!/usr/bin/python3 """ purge_namespace_pages.py MediaWiki API Demos Demo of `purge` module: Sending post request to purge first 10 pages in the main namespace MIT license """ import requests S = requests.Session() URL = "https://en.wikipedia.org/w/api.php" PARAMS = { "action": "purge", "generator": "allpages", "gapnamespace": "0", "gaplimit": "10", "format": "json" } R = S.post(url=URL, params=PARAMS) DATA = R.text print(DATA) "purge", "generator" => "allpages", "gapnamespace" => "0", "gaplimit" => "10", "format" => "json" ]; $ch = curl_init(); curl_setopt( ch,CURLOPTURL,ch, CURLOPT_URL, ch,CURLOPTURL,endPoint ); curl_setopt( $ch, CURLOPT_POST, true ); curl_setopt( ch,CURLOPTPOSTFIELDS,httpbuildquery(ch, CURLOPT_POSTFIELDS, http_build_query( ch,CURLOPTPOSTFIELDS,httpbuildquery(params ) ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); output=curlexec(output = curl_exec( output=curlexec(ch ); curl_close( $ch ); echo ( $output ); } /* purge_namespace_pages.js MediaWiki API Demos Demo of `purge` module: Sending post request to purge first 10 pages in the main namespace MIT license */ var request = require('request').defaults({jar: true}), url = "https://test.wikipedia.org/w/api.php"; function purge() { var params = { action: "purge", generator: "allpages", gapnamespace: "0", gaplimit: "10", format: "json" }; request.post({ url: url, form: params }, function (error, res, body) { if (error) { return; } console.log(body); }); } // Start the function purge(); /* purge_namespace_pages.js MediaWiki API Demos Demo of `purge` module: Sending post request to purge first 10 pages in the main namespace MIT License */ var params = { action: 'purge', generator: 'allpages', gapnamespace: '0', gaplimit: '10', format: 'json' }, api = new mw.Api(); api.post( params ).done( function ( data ) { console.log( data ); } ); | Code | Info | | ---------------- | ------------------------------------------------------------------ | | cantpurge | Only users with the 'purge' right can purge pages via the API | | mustbeposted | The purge module requires a POST request. | | invalidreason | The requested page title contains invalid characters: "title". | | assertuserfailed | You are no longer logged in, so the action could not be completed. | | readonly | Database locked | * v1.20: Introduced `pageid` * [API:Delete](/wiki/Special:MyLanguage/API:Delete "Special:MyLanguage/API:Delete")[ ](/wiki/API:Delete "API:Delete") * [API:Caching data](/wiki/Special:MyLanguage/API:Caching%5Fdata "Special:MyLanguage/API:Caching data")[ ](/wiki/API:Caching%5Fdata "API:Caching data")