Skip to content

DeleteMessage#

Test Postman

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 yourself
false (default) — delete for everyone

Limitations

When deleting a message, the Telegram messenger imposes the following limitations:

  1. Only outgoing messages can be deleted through the API.
  2. 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);