Typing Indicators
Show and receive typing status in conversations.
Typing indicators show recipients that someone is actively composing a message. They create a more natural, real-time feel in conversations.
Sending typing indicators
Section titled “Sending typing indicators”Start a typing indicator in a chat to show the recipient that you’re composing a message:
curl -X POST https://api.linqapp.com/api/partner/v3/chats/{chatId}/typing \ -H "Authorization: Bearer $LINQ_API_KEY"await client.chats.typing.start({chatId});client.chats.typing.start({chat_id})client.Chats.Typing.Start(context.TODO(), {chatId})Stop the indicator when you’re done. This clears it immediately, without sending a message (it also clears automatically when you send a message):
curl -X DELETE https://api.linqapp.com/api/partner/v3/chats/{chatId}/typing \ -H "Authorization: Bearer $LINQ_API_KEY"await client.chats.typing.stop({chatId});client.chats.typing.stop({chat_id})client.Chats.Typing.Stop(context.TODO(), {chatId})Tip: Send a typing indicator before your application processes a response (e.g., while an AI agent generates a reply). This gives the recipient a natural “someone is typing” experience. The indicator automatically clears when you send the actual message.
Keeping the indicator visible
Section titled “Keeping the indicator visible”A single start request shows the indicator for about 85–90 seconds, then it clears automatically. To keep it visible while you compose for longer than that, call start typing again every 60 seconds — each call refreshes the indicator so it stays visible continuously.
A typical flow:
- Call start typing when composing begins.
- Call it again every 60 seconds while you’re still composing.
- Send the message — this clears the indicator. To resume typing afterward, call start typing again.
Incoming messages do not affect the indicator, and sending a message always clears it.
Receiving typing indicators
Section titled “Receiving typing indicators”Subscribe to typing indicator webhooks to know when a recipient is typing:
| Event | Description |
|---|---|
chat.typing_indicator.started | A participant started typing |
chat.typing_indicator.stopped | A participant stopped typing |
See Webhooks for setup instructions and the Webhook Events API Reference for payload schemas.
Important notes
Section titled “Important notes”- iMessage only — Typing indicators are an iMessage feature and are not available on RCS or SMS. Requests on RCS or SMS chats are still accepted (
204) but no indicator is delivered. See Protocol Selection for protocol capabilities. - One-to-one chats only — Typing indicators are not supported in group chats. They only work in one-to-one conversations.
- Auto-clear — Typing indicators automatically clear when you send a message to the chat, or about 85–90 seconds after the last start request.
- Timeout & refresh — A single start request keeps the indicator visible for approximately 85–90 seconds. Refresh it every 60 seconds to keep it showing while composing.
- Send a message first for reliable delivery — A
204response means the request was accepted, not that the indicator was delivered. If you haven’t sent a message in the chat recently (roughly the last 5 minutes), the indicator may not reach the recipient. Once you’ve sent a message in the chat, typing indicators reliably reach the recipient. - Recipient re-opening the chat — If the recipient brings their messaging app to the foreground while the chat has an unread message, their device clears any visible indicator. Calling start typing again on its own may not bring it back — send a message, or stop the indicator and then start it again.
See the Chats API Reference for the full typing indicator endpoint specification.