WhatsApp Business Platform

Mark messages as read

Updated: Jul 2, 2026
Copy for LLM
When you receive a message webhook indicating an incoming message, you can use the message.id value to mark the message as read.
WhatsApp conversation showing blue double checkmarks indicating the message has been read
Mark incoming messages as read within 30 days of receipt. When you mark a message as read, the API also marks earlier messages in the conversation as read.
If you mark a message as read with an invalid message ID, the API returns error code 131009 (“Parameter value is not valid”). Provide a valid wamid from a received message as the message_id.

Request syntax

Use the Messages API to mark a message as read.
curl -X POST \
'https://graph.facebook.com/<API_VERSION>/<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/messages'
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Content-Type: application/json' \
-d '
{
  "messaging_product": "whatsapp",
  "status": "read",
  "message_id": "<WHATSAPP_MESSAGE_ID>"
}'

Request parameters

Placeholder Description Example value
<ACCESS_TOKEN>
String
EAAA...
<API_VERSION>
String
Optional.
Graph API version.
v25.0
<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>
String
Required.
WhatsApp business phone number ID.
106540352242922
<WHATSAPP_MESSAGE_ID>
String
Required.
WhatsApp message ID. This ID is assigned to the messages.id property in received message messages webhooks.
wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBJDQjZCMzlEQUE4OTJBMTE4RTUA

Response

A successful mark-as-read request returns the following response:
{
  "success": true
}

Example request

curl 'https://graph.facebook.com/v25.0/106540352242922/messages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
{
  "messaging_product": "whatsapp",
  "status": "read",
  "message_id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBJDQjZCMzlEQUE4OTJBMTE4RTUA"
}'

Example response

A successful mark-as-read request returns:
{
  "success": true
}