| This page is part of theMediaWiki Action API documentation. |
| MediaWiki Action API |
|---|
| Basics |
| Authentication |
| Accounts and Users |
| Page Operations |
|
| Search |
| Developer Utilities |
| Tutorials |
| v · d · e |
POST request todelete a page.Pages can be undeleted with theAPI:Undelete method.
| MediaWiki version: | ≥ 1.12 |
| The following documentation is the output ofSpecial: |
Delete a page.
Title of the page to delete. Cannot be used together withpageid.
Page ID of the page to delete. Cannot be used together withtitle.
Reason for the deletion. If not set, an automatically generated reason will be used.
Change tags to apply to the entry in the deletion log.
Delete the talk page, if it exists.
Add the page to the current user's watchlist.
Unconditionally add or remove the page from the current user's watchlist, use preferences (ignored for bot users) or do not change watch.
Watchlist expiry timestamp. Omit this parameter entirely to leave the current expiry unchanged.
Remove the page from the current user's watchlist.
The name of the old image to delete as provided byaction=query&prop=imageinfo&iiprop=archivename.
A "csrf" token retrieved fromaction=query&meta=tokens
The process has four steps:
{"delete":{"title":"page name","reason":"content was: 'Test' and the only contributor was Username","logid":1234567}}
#!/usr/bin/python3""" delete.py MediaWiki API Demos Demo of `Delete` module: post request to delete a page MIT license"""importrequestsS=requests.Session()URL="https://test.wikipedia.org/w/api.php"# Step1: Retrieve login tokenPARAMS_0={'action':"query",'meta':"tokens",'type':"login",'format':"json"}R=S.get(url=URL,params=PARAMS_0)DATA=R.json()LOGIN_TOKEN=DATA['query']['tokens']['logintoken']# Step2: Send a post request to login. Use of main account for login is not# supported. Obtain credentials via Special:BotPasswords# (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpasswordPARAMS_1={'action':"login",'lgname':"your_bot_username",'lgpassword':"your_bot_password",'lgtoken':LOGIN_TOKEN,'format':"json"}R=S.post(URL,data=PARAMS_1)# Step 3: When logged in, retrieve a CSRF tokenPARAMS_2={'action':"query",'meta':"tokens",'format':"json"}R=S.get(url=URL,params=PARAMS_2)DATA=R.json()CSRF_TOKEN=DATA['query']['tokens']['csrftoken']# Step 4: Send a post request to delete a pagePARAMS_3={'action':"delete",'title':"enter_a_page_title",'token':CSRF_TOKEN,'format':"json",'reason':'the reason for deletion'}R=S.post(URL,data=PARAMS_3)DATA=R.json()print(DATA)
<?php/* delete.php MediaWiki API Demos Demo of `Delete` module: post request to delete a page MIT license*/$endPoint="http://dev.wiki.local.wmftest.net:8080/w/api.php";$login_Token=getLoginToken();// Step 1loginRequest($login_Token);// Step 2$csrf_Token=getCSRFToken();// Step 3delete($csrf_Token);// Step 4// Step 1: GET request to fetch login tokenfunctiongetLoginToken(){global$endPoint;$params1=["action"=>"query","meta"=>"tokens","type"=>"login","format"=>"json"];$url=$endPoint."?".http_build_query($params1);$ch=curl_init($url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_COOKIEJAR,"cookie.txt");curl_setopt($ch,CURLOPT_COOKIEFILE,"cookie.txt");$output=curl_exec($ch);curl_close($ch);$result=json_decode($output,true);return$result["query"]["tokens"]["logintoken"];}// Step 2: POST request to log in. Use of main account for login is not// supported. Obtain credentials via Special:BotPasswords// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpasswordfunctionloginRequest($logintoken){global$endPoint;$params2=["action"=>"login","lgname"=>"bot_user_name","lgpassword"=>"bot_password","lgtoken"=>$logintoken,"format"=>"json"];$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$endPoint);curl_setopt($ch,CURLOPT_POST,true);curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($params2));curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_COOKIEJAR,"cookie.txt");curl_setopt($ch,CURLOPT_COOKIEFILE,"cookie.txt");$output=curl_exec($ch);curl_close($ch);}// Step 3: GET request to fetch CSRF tokenfunctiongetCSRFToken(){global$endPoint;$params3=["action"=>"query","meta"=>"tokens","format"=>"json"];$url=$endPoint."?".http_build_query($params3);$ch=curl_init($url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_COOKIEJAR,"cookie.txt");curl_setopt($ch,CURLOPT_COOKIEFILE,"cookie.txt");$output=curl_exec($ch);curl_close($ch);$result=json_decode($output,true);return$result["query"]["tokens"]["csrftoken"];}// Step 4: POST request to delete a pagefunctiondelete($csrftoken){global$endPoint;$params4=["action"=>"delete","title"=>"Sandbox","token"=>$csrftoken,"format"=>"json"];$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$endPoint);curl_setopt($ch,CURLOPT_POST,true);curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($params4));curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_COOKIEJAR,"cookie.txt");curl_setopt($ch,CURLOPT_COOKIEFILE,"cookie.txt");$output=curl_exec($ch);curl_close($ch);echo($output);}
/* delete.js MediaWiki API Demos Demo of `Delete` module: post request to delete a page MIT license*/varrequest=require('request').defaults({jar:true}),url="http://dev.wiki.local.wmftest.net:8080/w/api.php";// Step 1: GET request to fetch login tokenfunctiongetLoginToken(){varparams_0={action:"query",meta:"tokens",type:"login",format:"json"};request.get({url:url,qs:params_0},function(error,res,body){if(error){return;}vardata=JSON.parse(body);loginRequest(data.query.tokens.logintoken);});}// Step 2: POST request to log in.// Use of main account for login is not// supported. Obtain credentials via Special:BotPasswords// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpasswordfunctionloginRequest(login_token){varparams_1={action:"login",lgname:"bot_username",lgpassword:"bot_password",lgtoken:login_token,format:"json"};request.post({url:url,form:params_1},function(error,res,body){if(error){return;}getCsrfToken();});}// Step 3: GET request to fetch CSRF tokenfunctiongetCsrfToken(){varparams_2={action:"query",meta:"tokens",format:"json"};request.get({url:url,qs:params_2},function(error,res,body){if(error){return;}vardata=JSON.parse(body);delete_page(data.query.tokens.csrftoken);});}// Step 4: POST request to delete a pagefunctiondelete_page(csrf_token){varparams_3={action:"delete",title:"Test",token:csrf_token,format:"json"};request.post({url:url,form:params_3},function(error,res,body){if(error){return;}console.log(body);});}// Start From Step 1getLoginToken();
/*delete.jsMediaWiki API DemosDemo of `Delete` module: post request to delete a pageMIT License*/varparams={action:'delete',title:'enter_a_page_title',format:'json'},api=newmw.Api();api.postWithToken('csrf',params).done(function(data){console.log(data);});
| Code | Info |
|---|---|
| missingtitle | The page you specified doesn't exist. |
| notoken | Thetoken parameter must be set. |
| badtoken | Invalid CSRF token. |
| permissiondenied | You don't have permission to delete this page. On most wikis, deleting pages is restricted to sysops, but other wikis may have different rules. |
| cantdelete | The page or file "title" could not be deleted. It may have already been deleted by someone else. |
deletetalktagswatch,unwatchpageidwatch,oldimage,unwatchhttps://test.wikipedia.org/w/api.php as the endpoint, so that you don't accidentally delete pages on production wikis.delete right, other rights may be required, depending on the location and type of page.Deleting a user's.css page, for example, also requires theeditusercss right.