Documentation Index

Fetch the complete documentation index at: https://academy.insiderone.com/llms.txt

Use this file to discover all available pages before exploring further.

Send Typing Indicator for Conversational WhatsApp API

Prev Next

The Typing Indicator API allows your application to display a "typing..." indicator in a WhatsApp conversation while your system prepares a response.

When the Typing Indicator request is sent:

  1. The user sees a "typing..." animation from your business.

  2. The incoming message is automatically marked as read and displays double blue checkmarks.

For example, when a user sends a message such as "help", Insider One forwards the message to your webhook endpoint. Your system retrieves the message_id from the webhook payload and sends it to the Typing Indicator endpoint. The user then sees the read receipt and typing indicator while your system processes the request and prepares a response.

Read receipts are always sent. Triggering a typing indicator automatically marks the incoming message as read and displays a read receipt to the user.

For information on receiving incoming WhatsApp messages through webhooks, refer to Webhooks for Conversational WhatsApp.

Prerequisites

Before using the Typing Indicator API, ensure that you have:

  • An active Conversational API integration on InOne.

  • A valid Transactional WhatsApp & Conversational API key from InOne Settings. Refer to Generate API Key from WhatsApp to generate one.

  • The message_id of the incoming WhatsApp message, retrieved from your webhook payload.

Endpoint and Headers

POST https://whatsapp.useinsider.com/v1/{{PHONE_NUMBER_ID}}/messages

Headers

Header

Sample Value

Description

X-INS-AUTH-KEY

1a2b3c4d5e6f

This key is required to authorize your request. Refer to API Authentication Tokens to generate your token.

Content-Type

application/json

This header specifies the media type of the resource.

Body Parameters

Parameter

Data Type

Required

Description

messaging_product

String

Yes

Must be "whatsapp".

status

String

Yes

Must be "read".

message_id

String

Yes

The ID of the incoming user message from your webhook payload.

typing_indicator.type

String

Yes

Must be "text".

Sample Request

curl --location 'https://whatsapp.useinsider.com/v1/{{PHONE_NUMBER_ID}}/messages' \
--header 'x-ins-auth-key: INS.**********' \
--header 'Content-Type: application/json' \
--data '{
    "messaging_product": "whatsapp",
    "status": "read",
    "message_id": "{{MESSAGE_ID}}",
    "typing_indicator": {
        "type": "text"
    }
}'

Sample Responses

A successful request returns the HTTP 200 OK response below.

{
    "success": true
}

400 Bad Request

{
    "error": {
        "message": "(#100) Invalid parameter",
        "code": 100,
        "type": "OAuthException",
        "error_data": {
            "messaging_product": "whatsapp",
            "details": "Message supplied to mark message as read API with message ID: wamid.HBgMOTk0NTU4OTY0MTg0FQIAERgSOEZGMEQxMEQ3OEEzOEI1QjlEAA== is outgoing. Please use an incoming message ID."
        },
        "fbtrace_id": "ARoq5AnglzzrJ9RYBbociIq"
    }
}

Limitations

  • Manual triggering is required. Typing indicators are not sent automatically. Your system must call this endpoint after receiving an incoming message through a webhook.

  • Rate limits apply. Requests to this endpoint are sent directly to Meta and bypass the standard message queue. To maintain system stability, rate limits are enforced. For more information, refer to the API Rate Limits.