---
title: "Send a typing indicator"
method: POST
path: "/v3/Indicators/Typing.json"
tags: ["MessagingV3TypingIndicator"]
---

# Send a typing indicator

`POST /v3/Indicators/Typing.json`

Send a typing indicator to notify the recipient that you are composing a message. Supported channels: WhatsApp, Apple Messages for Business, RCS. The request body varies by channel — use the `channel` field as the discriminator.

## Request body

- union — Request body for sending a typing indicator. The schema varies by channel. Use the `channel` field to determine which properties are required.
  - object — Typing indicator request for WhatsApp channel. Requires a messageId from a recent inbound message.
    - `channel` 'WHATSAPP', required — The messaging channel. Must be "WHATSAPP".
    - `messageId` string, required — The SID of a recent inbound message from the recipient. Must be an SM or MM SID format.
  - object — Typing indicator request for Apple Messages for Business channel.
    - `channel` 'APPLE', required — The messaging channel. Must be "APPLE".
    - `from` string, required — The Apple Messages for Business identifier of the sender (business).
    - `to` string, required — The Apple Messages for Business identifier of the recipient (customer).
    - `event` 'START' | 'END' — The type of typing event. "START" indicates the agent began typing, "END" indicates the agent stopped typing. Defaults to "START".
  - object — Typing indicator request for RCS channel.
    - `channel` 'RCS', required — The messaging channel. Must be "RCS".
    - `from` string, required — The RCS agent identifier of the sender (business).
    - `to` string, required — The RCS recipient identifier in E.164 format prefixed with "rcs:".
    - `event` 'START' — The type of typing event. Currently only "START" is supported for RCS, indicating the agent began typing. Defaults to "START".

## Response `200`

Typing indicator was successfully sent to the recipient.

- object
  - `success` boolean — Indicates if the typing indicator was sent successfully.

## Other responses

- `400` — Invalid request. The request body is missing required fields or contains invalid values.
- `401` — Authentication credentials are missing or invalid.
- `403` — The account is not authorized to send typing indicators for this channel.
- `404` — The requested resource was not found. The channel, sender, or recipient may not exist.
- `429` — Too many requests. The rate limit for typing indicators has been exceeded.

---

[API](https://skmtc.net/twilio/apis/twilio-messaging.md) · [All operations](https://skmtc.net/twilio/apis/twilio-messaging/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/twilio/twilio-messaging/revisions/4fc6e557509e/schema)
