API:Allrevisions/diq

From mediawiki.org
This page is a translated version of the page API:Allrevisions and the translation is 9% complete.
MediaWiki version:
1.27

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

API documentation


list=allrevisions (arv)

(main | query | allrevisions)
  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0-or-later

List all revisions.

Specific parameters:
Other general parameters are available.
arvprop

Which properties to get for each revision:

ids
The ID of the revision.
flags
Revision flags (minor).
timestamp
The timestamp of the revision.
user
User that made the revision. If the user has been revision deleted, a userhidden property will be returned.
userid
User ID of the revision creator. If the user has been revision deleted, a userhidden property will be returned.
size
Length (bytes) of the revision.
slotsize
Length (bytes) of each revision slot.
sha1
SHA-1 (base 16) of the revision. If the content has been revision deleted, a sha1hidden property will be returned.
slotsha1
SHA-1 (base 16) of each revision slot. If the content has been revision deleted, a sha1hidden property will be returned.
contentmodel
Content model ID of each revision slot.
comment
Comment by the user for the revision. If the comment has been revision deleted, a commenthidden property will be returned.
parsedcomment
Parsed comment by the user for the revision. If the comment has been revision deleted, a commenthidden property will be returned.
content
Content of each revision slot. If the content has been revision deleted, a texthidden property will be returned.
tags
Tags for the revision.
roles
List content slot roles that exist in the revision.
parsetree
Deprecated. Use action=expandtemplates or action=parse instead. The XML parse tree of revision content (requires content model wikitext).
Values (separate with | or alternative): comment, content, contentmodel, flags, ids, parsedcomment, roles, sha1, size, slotsha1, slotsize, tags, timestamp, user, userid, parsetree
Default: ids|timestamp|flags|comment|user
arvslots

Which revision slots to return data for, when slot-related properties are included in arvprops. If omitted, data from the main slot will be returned in a backwards-compatible format.

Values (separate with | or alternative): main
To specify all values, use *.
arvcontentformat-{slot}

Content serialization format used for output of content.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of arvslots.
One of the following values: application/json, application/octet-stream, application/unknown, application/x-binary, text/css, text/javascript, text/plain, text/unknown, text/x-wiki, unknown/unknown
arvlimit

Limit how many revisions will be returned.

Type: integer or max
The value must be between 1 and 500.
arvexpandtemplates
Deprecated.

Use action=expandtemplates instead. Expand templates in revision content (requires arvprop=content).

Type: boolean (details)
arvgeneratexml
Deprecated.

Use action=expandtemplates or action=parse instead. Generate XML parse tree for revision content (requires arvprop=content).

Type: boolean (details)
arvparse
Deprecated.

Use action=parse instead. Parse revision content (requires arvprop=content). For performance reasons, if this option is used, arvlimit is enforced to 1.

Type: boolean (details)
arvsection

Only retrieve the content of the section with this identifier.

arvdiffto
Deprecated.

Use action=compare instead. Revision ID to diff each revision to. Use prev, next and cur for the previous, next and current revision respectively.

arvdifftotext
Deprecated.

Use action=compare instead. Text to diff each revision to. Only diffs a limited number of revisions. Overrides arvdiffto. If arvsection is set, only that section will be diffed against this text.

arvdifftotextpst
Deprecated.

Use action=compare instead. Perform a pre-save transform on the text before diffing it. Only valid when used with arvdifftotext.

Type: boolean (details)
arvcontentformat
Deprecated.

Serialization format used for arvdifftotext and expected for output of content.

One of the following values: application/json, application/octet-stream, application/unknown, application/x-binary, text/css, text/javascript, text/plain, text/unknown, text/x-wiki, unknown/unknown
arvuser

Only list revisions by this user.

Type: user, by any of username, IP, interwiki name (e.g. "prefix>ExampleName") and user ID (e.g. "#12345")
arvnamespace

Only list pages in this namespace.

Note: Due to miser mode, using this may result in fewer than arvlimit results returned before continuing; in extreme cases, zero results may be returned.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 90, 91, 92, 93, 100, 101, 102, 103, 104, 105, 106, 107, 486, 487, 710, 711, 828, 829, 1198, 1199, 2300, 2301, 2302, 2303, 2600, 5500, 5501
To specify all values, use *.
arvstart

The timestamp to start enumerating from.

Type: timestamp (allowed formats)
arvend

The timestamp to stop enumerating at.

Type: timestamp (allowed formats)
arvdir

In which direction to enumerate:

newer
List oldest first. Note: arvstart has to be before arvend.
older
List newest first (default). Note: arvstart has to be later than arvend.
One of the following values: newer, older
Default: older
arvexcludeuser

Don't list revisions by this user.

Type: user, by any of username, IP, interwiki name (e.g. "prefix>ExampleName") and user ID (e.g. "#12345")
arvcontinue

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

arvgeneratetitles

When being used as a generator, generate titles rather than revision IDs.

Type: boolean (details)

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

Kod Melumat
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