cURL
curl --request DELETE \
--url https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"key": {
"remoteJid": "[email protected]",
"fromMe": true,
"id": "3EB0E474C76F33528463B1"
},
"message": {
"protocolMessage": {
"key": {
"remoteJid": "[email protected]",
"fromMe": true,
"id": "3EB05B8C1E491431AEAA9A"
},
"type": "REVOKE"
}
},
"messageTimestamp": "1749413855",
"status": "PENDING"
}Delete Message
Delete a message from the chat.
DELETE
/
{instance}
/
delete-message
cURL
curl --request DELETE \
--url https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.hypersender.com/api/whatsapp/v2/{instance}/delete-message")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"key": {
"remoteJid": "[email protected]",
"fromMe": true,
"id": "3EB0E474C76F33528463B1"
},
"message": {
"protocolMessage": {
"key": {
"remoteJid": "[email protected]",
"fromMe": true,
"id": "3EB05B8C1E491431AEAA9A"
},
"type": "REVOKE"
}
},
"messageTimestamp": "1749413855",
"status": "PENDING"
}V2 Queued Response: All API requests in V2 are queued for improved reliability. You’ll receive an immediate response with a
queued_request_uuid that you can use to check the actual message status.Response Format
All requests return a queued response:{
"queued": true,
"message": "Processing your request...",
"queued_request_uuid": "a0816120-7e37-4e8b-8cf3-92deb2cdc133",
"queued_request_link": "https://app.hypersender.com/api/whatsapp/v2/{instance}/queued-requests/a0816120-7e37-4e8b-8cf3-92deb2cdc133"
}
queued_request_link or the Get Queued Request endpoint to check the actual message response once it’s processed.
More details on queued requests can be found in the Queued Requests Documentation.
You can delete messages from the chat. so if you want to delete a message from a specific chat pass the
chatId and messageId in the query parameters.
chatId - The unique identifier for the chat (e.g., [email protected])
messageId - The unique identifier for the message (e.g., [email protected]_3EB081B845A6A6E3991180)

Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
application/json
Example:
"application/json"
application/json
Example:
"application/json"
Path Parameters
Instance UUID copied from hypersender dashboard
Example:
"{{ instance_id }}"