The visitor is (or stopped) typing
POST/api/widget/typing
PUBLIC endpoint (anonymous visitors, NO staff auth). Tells the agents
that the visitor is typing in their OWN conversation (taken
EXCLUSIVELY from the verified session token). Only a boolean is sent,
never a preview of the text. Broadcast to the staff conversation
channel as a typing event with actor_kind: contact.
The web widget is the only channel that reports customer typing: WhatsApp, Messenger, Instagram and Telegram deliver no inbound typing signal. Starts are coalesced per conversation (at most one every ~2 s); a stop is always forwarded. Rate-limited on its own bucket so typing never spends the messaging budget.
Request
Responses
- 202
- 403
- 404
- 422
- 429
Accepted (no body).
Missing / invalid / cross-tenant session token.
Unknown or missing widget_key, or the conversation is gone.
The request failed validation.
Rate limit exceeded.
Response Headers
Request quota for the current window.
Remaining requests in the current window.
Seconds to wait before retrying.