Skip to navigation

Set a typing indicator

View as Markdown

Starts or stops a typing indicator shown to the recipient, as if someone were composing a message from your number.

iMessage numbers show it; standard (SMS) numbers ignore it. SMS has no typing concept, so for a standard from-number the request succeeds and does nothing — the response is identical either way, letting you call this unconditionally before a send.

Groups. Address a group with groupId instead of toNumber, exactly as on Send a message — every member of the group sees the indicator. It works on WhatsApp and iMessage groups alike; the group ID is channel-neutral, so the same field addresses either.

The indicator is fire-and-forget: nothing is persisted and no event is emitted. Delivering a message or reaction from the same number clears the indicator natively on the recipient’s device — platform behavior, not Dial’s; start again after a send if you’re still composing. Dial itself never clears it: send value: false when you stop composing without sending. (A stale indicator may also clear on its own device-side.) Free of charge.

Authentication

AuthorizationBearer

Your Dial API key, sent as Authorization: Bearer sk_live_...

Request

This endpoint expects an object.
valuebooleanRequired

true shows the typing indicator; false clears it.

toNumberstringOptional

Recipient phone number in E.164 format. Provide exactly one of toNumber or groupId.

groupIdstringOptional

ID of a group conversation on your account (see List groups), instead of a toNumber. The line the indicator appears from comes from the group. Provide exactly one of toNumber or groupId.

fromNumberstringOptional

The Dial number the indicator appears from, referenced flexibly: a phone-number ID, one of your numbers in E.164 format, or a number's nickname. A nickname shared by more than one of your numbers is rejected with 400; a ref that matches none of your numbers returns 404.

Required with toNumber, optional with groupId — the group already belongs to one of your lines and Dial uses that one. Supplying it anyway is allowed and must agree: a from-number naming a different line is rejected with 400 rather than silently overridden.

channelenumOptional

Which rail to show the indicator on, for a line that carries more than one. Mirrors channel on Send a message: omit to use the number's own default.

whatsapp requires a line whose WhatsApp channel is ready, and returns 503 when the channel can't be driven right now (rather than reporting a "typing…" that never appeared). imessage on a number with no iMessage rail is rejected with 400.

Omit channel on a groupId request: a group belongs to exactly one channel, so the group already names the rail, and a channel naming a different one is rejected with 400.

Allowed values:

Response

Indicator set (or silently ignored for a from-number without typing support).

okbooleanOptional

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
503
Service Unavailable Error