Appearance
Mark messages as read
Updated: Jun 28, 2026
When you receive a message webhook indicating an incoming message, you can use the message.id value to mark the message as 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 | Required. System token or business token. | 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
}