MediaWiki version:
1.27

GET request to list all revisions by a user or in a namespace.

API documentation


Special:ApiHelp/query+allrevisions

Example

GET request

Get a list of all revisions by user Place holder on the English Wikipedia.

Response

{
    "batchcomplete": "",
    "query": {
        "allrevisions": [
            {
                "pageid": 36757881,
                "revisions": [
                    {
                        "revid": 679803046,
                        "parentid": 656413943,
                        "timestamp": "2015-09-06T21:35:42Z"
                    },
                    {
                        "revid": 159361827,
                        "parentid": 0,
                        "timestamp": "2007-09-21T10:35:22Z"
                    }
                ],
                "ns": 3,
                "title": "User talk:Place holder"
            }
            ...
        ]
    }
}

Sample code

Python

#This file is auto-generated. See modules.json and autogenerator.py for details

#!/usr/bin/python3

"""
    get_allrevisions.py

    MediaWiki API Demos
    Demo of `Allrevisions` module: get revision data of multiple pages and users

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "arvprop": "ids|flags|timestamp",
    "arvuser": "Place holder",
    "list": "allrevisions",
    "format": "json"
}

R = S.get(url=URL, params=PARAMS)
DATA = R.json()

ALLREVISIONS = DATA["query"]["allrevisions"]

for rev in ALLREVISIONS:
    print(rev)

PHP

<?php

//This file is autogenerated. See modules.json and autogenerator.py for details

/*
    get_allrevisions.php

    MediaWiki API Demos
    Demo of `Allrevisions` module: get revision data of multiple pages and users

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "allrevisions",
    "arvprop" => "ids|flags|timestamp",
    "arvuser" => "Place holder"
];

$url = $endPoint . "?" . http_build_query( $params );

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );

$result = json_decode( $output, true );

foreach( $result["query"]["allrevisions"] as $k => $v ) {
    foreach( $v["revisions"] as $k => $v ) {
        var_dump( $v );
    }
}

JavaScript

//This file is autogenerated. See modules.json and autogenerator.py for details

/*
    get_allrevisions.js

    MediaWiki API Demos
    Demo of `Allrevisions` module: get revision data of multiple pages and users

    MIT License
*/

var url = "https://en.wikipedia.org/w/api.php"; 

var params = {
    action: "query",
    format: "json",
    list: "allrevisions",
    arvprop: "ids|flags|timestamp",
    arvuser: "Place holder"
};

url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});

fetch(url)
    .then(function(response){return response.json();})
    .then(function(response) {
        var revs = response.query.allrevisions;
        for (var r in revs) {
            console.log(revs[r]);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

// This file is autogenerated. See modules.json and autogenerator.py for details

/*
	get_allrevisions.js

	MediaWiki API Demos
	Demo of `Allrevisions` module: get revision data of multiple pages and users

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'allrevisions',
		arvprop: 'ids|flags|timestamp',
		arvuser: 'Place holder'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var revs = data.query.allrevisions,
		r;
	for ( r in revs ) {
		console.log( revs[ r ] );
	}
} );

Possible warnings

  • Couldn't diff to r######: content is hidden.
    • Thrown when the revision has been hidden (e.g., using RevisionDelete or Oversight).
  • prop=parsetree is only supported for wikitext content. title uses content model content model.
    • Thrown when the parsetree property or generatexml parameter is used and the content model (as returned by the content property) is not set to wikitext
  • Template expansion is only supported for wikitext content. title uses content model content model.
    • Thrown when the expandtemplates parameter is used and the content model (as returned by the content property) is not set to wikitext
  • The requested format contentFormat is not supported for content model model used by name.
    • Thrown when the content of either the current revision or one being diffed to is not supported (typically, not text).

Possible errors

Code Info
arvdiffto arvdiffto must be set to a non-negative number, prev, next or cur.
arvnosuchrevid There is no revision with ID ID.
arvnosuchsection There is no section section in ID.

Parameter history

  • v1.26: Deprecated arvgeneratexml
  • v1.27: Introduced arvdifftotextpst
  • v1.30: Deprecated parsetree, arvparse, arvexpandtemplates, arvdiffto, arvdifftotext, arvdifftotextpst

See also

  • API:Revisions - obtain revision information of page(s).
  • API:Revisiondelete - Delete and undelete revisions.
This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.