Mark an audio message as played
curl --request POST \
--url http://localhost:3000/message/{message_id}/played \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"phone": "62819273192397132@s.whatsapp.net"
}
'import requests
url = "http://localhost:3000/message/{message_id}/played"
payload = { "phone": "62819273192397132@s.whatsapp.net" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({phone: '62819273192397132@s.whatsapp.net'})
};
fetch('http://localhost:3000/message/{message_id}/played', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/message/{message_id}/played",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone' => '62819273192397132@s.whatsapp.net'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:3000/message/{message_id}/played"
payload := strings.NewReader("{\n \"phone\": \"62819273192397132@s.whatsapp.net\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:3000/message/{message_id}/played")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"phone\": \"62819273192397132@s.whatsapp.net\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/message/{message_id}/played")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone\": \"62819273192397132@s.whatsapp.net\"\n}"
response = http.request(request)
puts response.read_body{
"code": "SUCCESS",
"message": "Success",
"results": {
"message_id": "3EB0B430B6F8F1D0E053AC120E0A9E5C",
"status": "<feature> success ....",
"schedule_id": "0b5c3a8e-7f5d-4d6f-9d1e-2f8c1a7b9e10",
"scheduled_at": "2026-10-01T02:00:00Z",
"next_run_at": "2026-10-01T02:00:00Z"
}
}{
"code": 400,
"message": "field cannot be blank",
"results": null
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "you are not loggin",
"results": null
}message
Mark an audio message as played
Sends WhatsApp’s played receipt for an incoming audio message or voice note. The message must exist in the active device’s chat storage and belong to the supplied chat.
POST
/
message
/
{message_id}
/
played
Mark an audio message as played
curl --request POST \
--url http://localhost:3000/message/{message_id}/played \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"phone": "62819273192397132@s.whatsapp.net"
}
'import requests
url = "http://localhost:3000/message/{message_id}/played"
payload = { "phone": "62819273192397132@s.whatsapp.net" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({phone: '62819273192397132@s.whatsapp.net'})
};
fetch('http://localhost:3000/message/{message_id}/played', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/message/{message_id}/played",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone' => '62819273192397132@s.whatsapp.net'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:3000/message/{message_id}/played"
payload := strings.NewReader("{\n \"phone\": \"62819273192397132@s.whatsapp.net\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:3000/message/{message_id}/played")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"phone\": \"62819273192397132@s.whatsapp.net\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/message/{message_id}/played")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone\": \"62819273192397132@s.whatsapp.net\"\n}"
response = http.request(request)
puts response.read_body{
"code": "SUCCESS",
"message": "Success",
"results": {
"message_id": "3EB0B430B6F8F1D0E053AC120E0A9E5C",
"status": "<feature> success ....",
"schedule_id": "0b5c3a8e-7f5d-4d6f-9d1e-2f8c1a7b9e10",
"scheduled_at": "2026-10-01T02:00:00Z",
"next_run_at": "2026-10-01T02:00:00Z"
}
}{
"code": 400,
"message": "field cannot be blank",
"results": null
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "you are not loggin",
"results": null
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Headers
Device identifier for multi-device support. Required when multiple devices are registered.
If only one device is registered, it will be used as the default.
Can also be provided as device_id query parameter.
Example:
"my-device-id"
Path Parameters
Message ID
Body
application/json
Phone number or group JID containing the audio message
Example:
"62819273192397132@s.whatsapp.net"
