WhatsApp Cloud API - Is typing_indicator supported in message read payload?
03:42 31 May 2025

I'm trying to simulate a typing indicator along with marking a message as read using the WhatsApp Cloud API.

Here’s the function I wrote:

function sendWhatsAppTypingAndRead($accessToken, $phoneNumberId, $messageId) {
    $url = "https://graph.facebook.com/v23.0/$phoneNumberId/messages";
    $payload = [
        "messaging_product" => "whatsapp",
        "status" => "read",
        "message_id" => $messageId,
        "typing_indicator" => [
            "type" => "text"
        ]
    ];

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        "Content-Type: application/json",
        "Authorization: Bearer $accessToken"
    ]);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);
    echo  $response;
}

However, I’m getting the following error:

{
    "error": {
        "message": "(#131009) Parameter value is not valid",
        "type": "OAuthException",
        "code": 131009,
        "error_data": {
            "messaging_product": "whatsapp",
            "details": "Input parameter is invalid"
        },
        "fbtrace_id": "Ad7k8DleVrMVQAX6Qv_r1JK"
    }
}{
    "messaging_product": "whatsapp",
    "contacts": [
        {
            "input": "8801896199021",
            "wa_id": "8801896199021"
        }
    ],
    "messages": [
        {
            "id": "wamid.HBgNODgwMTg5NjE5OTAyMRUCABEYEkQ4RUYxNDM0NTUxRTNBOTY3RAA="
        }
    ]
}

I followed the Meta documentation, which shows this as a valid request format, but it seems typing_indicator might not be supported in the Graph API schema.

Has anyone successfully implemented this typing indicator functionality using WhatsApp Cloud API? Or is this field not yet publicly supported despite what the docs say?

whatsapp whatsapp-cloud-api