Rollback[edit | edit source]
Rolling back a page means undoing the last series of edits by one user. In other words, rollback keeps undoing revision after revision until it encounters one made by someone different. This functionality is identical to the one provided by the [rollback] links in the graphical interface. The rollback revision will be marked as minor. Optionally, both the rollback and the edits being rolled back can be marked as bot, which hides them from Special:RecentChanges by default.
Token[edit | edit source]
To rollback a page, a rollback token is required. Unlike most other tokens, rollback tokens aren't universal: they're not only different for every login, but also depend on the title of the page and the name of the user whose edits are to be rolled back. A rollback token can be obtained as follows: Obtaining a rollback token
<?xml version="1.0" encoding="utf-8"?> <api> <query> <pages> <page pageid="5" ns="0" title="Main Page" rollbacktoken="094a45ddbbd5e90d55d79d2a23a8c921+\"> <revisions> <rev revid="20" user="Catrope" timestamp="2007-09-03T20:32:20Z" /> </revisions> </page> </pages> </query> </api>
Rolling back pages[edit | edit source]
Pages can be rolled back with action=rollback.
Parameters[edit | edit source]
title: The page you want to roll back. Cannot be used together with pageid.
pageid: Page ID of the page you want to roll back. Cannot be used together with title.
token: The token obtained in the previous request. Take care to urlencode the '+' as '%2B'.
user: The author of the last revision.
summary: Edit summary (optional). If not set, a default summary will be used.
markbot: If set, both the rollback and the revisions being rolled back will be marked as bot edits.
watchlist: Unconditionally add or remove the page from your watchlist, use preferences or do not change watch. One value among: watch, unwatch, preferences, nochange.
Example[edit | edit source]
Note: In this example, all parameters are passed in a GET request just for the sake of simplicity. However, action=rollback requires POST requests; GET requests will cause an error. Rollback Username's edits to the Main Page with a default summary, and mark them as bot edits
<?xml version="1.0" encoding="utf-8"?> <api> <rollback title="Main Page" pageid="5" summary="Reverted edits by [[Special:Contributions/Username|Username]] ([[User talk:Username|Talk]]); changed back to last version by [[User:PreviousEditor|PreviousEditor]]" revid="28" old_revid="27" last_revid="20" /> </api>
Returned fields[edit | edit source]
revid: The revision ID of the rollback.
old_revid: The revision ID of the first (most recent) revision that was rolled back.
last_revid: The revision ID of the last (oldest) revision that was rolled back.
If rolling back wouldn't change the page, no new revision is made. In this case,
revid will be equal to
Possible errors[edit | edit source]
In addition to the usual stuff:
|notitle||The title parameter must be set|
|nouser||The user parameter must be set|
|notoken||The token parameter must be set|
|alreadyrolled||The page you tried to rollback was already rolled back|
|onlyauthor||The page you tried to rollback only has one author|