API:Rollback

Rollback
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
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:

Rolling back pages
Pages can be rolled back with action=rollback.

Parameters

 * title: The page you want to rollback.
 * 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.

Returned fields
If rolling back wouldn't change the page, no new revision is made. In this case, revid will be equal to old_revid.
 * 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.

Possible errors
In addition to the usual stuff:


 * code: notitle
 * info: The title parameter must be set
 * code: nouser
 * info: The user parameter must be set
 * code: notoken
 * info: The token parameter must be set
 * code: alreadyrolled
 * info: The page you tried to rollback was already rolled back
 * code: onlyauthor
 * info: The page you tried to rollback only has one author