Shows (or hides) the “typing” indicator to the contact. It is synchronous: it calls Meta in the same request, it is not queued, it does not deduct balance and it does not accept Idempotency-Key. On WhatsApp you must send messageId (the wamid of the incoming message) and only typing_on exists: it lasts up to 25 seconds or until you reply. On Instagram and Messenger you must send to (IGSID or PSID) and both typing_on and typing_off are accepted. On WhatsApp the indicator also marks the incoming message (messageId) as read, with blue ticks: the Cloud API does not allow showing it without marking as read. Errors: 400 if the request is invalid, 404 if the channel does not exist or is out of scope, 422 if Meta rejects the request because of data from the caller (invalid contact or message, expired 24 h window), 429 if you exceeded the Neike request limit (with Retry-After; typing has a lower quota than the rest) or if Meta throttles the rate (without Retry-After) and 502 if Meta does not answer or fails. On 422, Meta’s 429 and 502 the message includes Meta’s text. Requires the messages:send scope.
channel_id of the connected channel (nk_ prefix). Example: "nk_dvzobn7m4h4y".
to
string
optional
Instagram and Messenger: IGSID or PSID of the contact, exactly as it arrives in the incoming webhook. Required on those two platforms. WhatsApp ignores it. Example: "1234567890123456".
messageId
string
optional
WhatsApp: id (wamid) of the contact’s last incoming message. Required on WhatsApp, because the Cloud API shows the indicator over that message. Note: on WhatsApp that message is also marked as read (blue ticks). Instagram and Messenger ignore it. Example: "wamid.HBgLNTQ5MTExMjM0NTY3OBUCABIYFjNFQjA".
action
typing_on · typing_off
optional
typing_on shows the indicator (default). typing_off hides it, only on Instagram and Messenger: WhatsApp does not support it and returns 400. On WhatsApp the indicator lasts up to 25 seconds or until the message is answered. Default: "typing_on".
Validation: channelId, to or messageId is missing, or the action is invalid.
—
404
The channel does not exist or is out of the scope of the credential.
—
422
Meta rejected the request (invalid contact or message, expired 24 h window).
—
429
Request limit. If Neike applied it, it carries Retry-After (seconds); if Meta applied it, there is no Retry-After and the message includes Meta’s text.
—
502
Meta did not answer or failed (5xx, timeout or network error).