---
title: "WhatsApp typing indicator"
method: POST
path: "/messages/typing"
tags: ["SMS & WhatsApp Messaging"]
---

# WhatsApp typing indicator

`POST /messages/typing`

## Request

- Base URL: `https://api.envoisms.ma/v1`
- URL: `https://api.envoisms.ma/v1/messages/typing`
- Auth: HTTP bearer

Marks a WhatsApp message you received as read and shows your contact a typing indicator while you prepare the reply. The indicator disappears when you reply, or after about 25 seconds. Not a message: nothing is stored or charged. Answered synchronously; a refusal by WhatsApp returns its META_* code. Requires the send scope and a connected WhatsApp Business number; sandbox keys simulate.

## Request body

- object
  - `message_id` string, required: WhatsApp message id (wamid) of the message you received
  - `typing_indicator` boolean: false sends the read receipt alone
  - `phone_number_id` string: Which of your connected numbers received the message; defaults to your default number

## Response `200`

Accepted by WhatsApp (or simulated on a sandbox key)

- object
  - `status` 'ok' | 'simulated'
  - `message_id` string
  - `typing_indicator` boolean
  - `sandbox` boolean

## Other responses

- `400`: MISSING_FIELD / INVALID_FIELD, or a WhatsApp refusal (META_*)
- `403`: WHATSAPP_NOT_CONNECTED or FORBIDDEN_ASSET
- `502`: META_SERVICE_UNAVAILABLE — WhatsApp could not be reached; retry

---

[API](https://skmtc.dev/envoisms/apis/envoisms-ma-api.md) · [All operations](https://skmtc.dev/envoisms/apis/envoisms-ma-api/llms.txt) · [OpenAPI document](https://skmtc.dev/envoisms/apis/envoisms-ma-api/revisions/662db074bd86?raw)
