DeleteMessage#
The method deletes a message from a chat.
The method uses limits on the request rate per second.
Request#
To delete a message from a chat, you need to execute a request at:
POST
{{apiUrl}}/waInstance{{idInstance}}/deleteMessage/{{apiTokenInstance}}
To get the apiUrl, idInstance and apiTokenInstance request parameters, refer to the Before you start section.
Request parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
chatId | string | Yes | Chat or group chat identifier |
idMessage | string | Yes | ID of the message being deleted |
onlySenderDelete | boolean | No | true — delete only for yourselffalse (default) — delete for everyone |
Limitations
When deleting a message, the Telegram messenger imposes the following limitations:
- Only outgoing messages can be deleted through the API.
- In groups, admins can delete only outgoing messages through the API.
Request body example#
Deleting a message in a personal chat#
{
"chatId": "10000000",
"idMessage": "1763115112345",
"onlySenderDelete": false
}
Deleting a message in a group chat#
{
"chatId": "-10000000000000",
"idMessage": "1763115112345"
}
Deleting a message only for the sender#
{
"chatId": "@username",
"idMessage": "1763115112345",
"onlySenderDelete": true
}
Response#
Response fields#
The response body is empty. On success the server responds with 200.
DeleteMessage errors#
For the list of errors common to all methods, see the Common errors section
| HTTP code | Error identifier | Description |
|---|---|---|
| 400 | Bad Request Validation failed | Validation error |
| 400 | Message by id not found | The message was not found or has already been deleted |
| 400 | Deleting this message type is not supported | This message type cannot be deleted (for example, a service message) |
Code examples#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/deleteMessage/{{apiTokenInstance}}"
payload = {
"chatId": "10000000",
"idMessage": "1763115112345",
}
headers = {'Content-Type': 'application/json'}
response = requests.post(url, json=payload, headers=headers)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/deleteMessage/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"chatId": "10000000",
"idMessage": "1763115112345",
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/deleteMessage/")
.append({{apiTokenInstance}});
var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
var jsonBody = "{\"chatId\": \"10000000\",\"idMessage\": \"1763115112345\"}";
var requestEntity = new HttpEntity<>(jsonBody, headers);
var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/deleteMessage/")
.append({{apiTokenInstance}});
var response = Unirest.post(requestUrl.toString())
.header("Content-Type", "application/json")
.body("{\"chatId\": \"10000000\",\"idMessage\": \"1763115112345\"}")
.asString();
System.out.println(response);