WhatsApp API Platform
Chat actions

Show Typing Indicator

POST
/api/v1/messages/typing

Show a "typing…" indicator on the recipient's chat. Use it while your bot or agent composes a reply, so the wait reads as activity rather than silence.

The indicator expires on its own after a few seconds, or as soon as your next message arrives — there is nothing to clear.

Best-effort by design: a provider that declines still returns 200, because a missing indicator should never fail the flow that was about to send a real message. The body's sent tells you whether it actually reached the recipient, and reason names the gate when it did not. Only an unrecognised to returns an error.

Requires a recipient who has messaged you within the last 24 hours. WhatsApp only permits an indicator in reply to a recent inbound message: a number with no chat history returns 404, and one whose last message has aged out returns 200 with "reason": "no_recent_inbound_message".

Authorization

ApiKeyAuth
X-API-Key<token>

API key from your dashboard (Settings > API Keys)

In: header

Header Parameters

X-AGENT-ID?string

Optional. Attribute this send to a specific agent, overriding the agent bound to the API key. The agent must belong to your account and be active (role AGENT, parent = your account) — otherwise the request returns 400. Drives customer assignment, agent allotment limits, and the wallet ledger entry.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

to*string

Recipient phone number with country code.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://loading/api/v1/messages/typing" \  -H "X-AGENT-ID: agt_abc123" \  -H "Content-Type: application/json" \  -d '{    "to": "919876543210"  }'
{
  "success": true,
  "data": {
    "sent": true,
    "reason": "sent"
  }
}
{
  "success": false,
  "message": "to field is required"
}
{
  "success": false,
  "message": "user not authenticated"
}
{
  "success": false,
  "message": "No chat found for that number"
}
{
  "success": false,
  "message": "internal server error"
}