API:Move

Token
To move a page, a move token is required. This token is equal to the edit token and the same for all pages, but changes at every login. A move token can be obtained as follows:

Moving pages
Pages can be moved with action=move.

Parameters

 * : The title of the page you want to move. Cannot be used together with
 * : Page ID of the page you want to move. Cannot be used together with
 * : The new title you want to move the page to
 * : The token obtained in the previous request. Take care to urlencode the '+' as '%2B'.
 * : The reason for the move (optional)
 * : Move the talk page, if possible
 * : Move subpages, if applicable
 * : Don't create a redirect from the old title to the new one
 * : Add the page and the redirect to your watchlist
 * : Remove the page and the redirect from your watchlist

Example
Note: In this example, all parameters are passed in a GET request just for the sake of simplicity. However, action=move requires POST requests; GET requests will cause an error.

Possible errors
All errors are formatted as:


 * code: nofrom
 * info: The from parameter must be set
 * code: noto
 * info: The to parameter must be set
 * code: notoken
 * info: The token parameter must be set
 * code: nosuppress
 * info: You don't have permission to suppress redirect creation
 * By default, this is limited to sysops and bots, but other wikis may have different settings
 * code: cantmove-anon
 * info: Anonymous users can't move pages
 * code: cantmove
 * info: You don't have permission to move pages
 * code: cantmovefile
 * info: You don't have permission to move files
 * If file moving is disabled altogether, you'll get an immobilenamespace error instead
 * code: selfmove
 * info: Can't move a page to itself
 * code: immobilenamespace
 * info: You tried to move pages from or to a namespace that is protected from moving
 * code: articleexists
 * info: The destination article already exists and is not a redirect to the source article
 * code: protectedpage
 * info: You don't have permission to perform this move
 * code: protectedtitle
 * info: The destination article has been protected from creation
 * code: nonfilenamespace
 * info: Can't move a file to a non-file namespace
 * code: filetypemismatch
 * info: The new file extension doesn't match its type
 * code: mustbeposted
 * info: The move module requires a POST request

NOTE: If moving the page itself succeeded, but moving the talk page failed, the relevant error will be returned in the  and   fields.