WhatsApp Gateway
API referenceChats

Set chat presence (typing/recording)

PUT
/api/v1/sessions/{session}/chats/{cid}/presence

Send a typing/recording indicator (state) to a chat.

Requires a live connected session.

Errors: validation_error for bad state, not_found for session not found, not_implemented if session is not connected, forbidden if missing send.

Authorization

AuthorizationBearer <token>

Send Authorization: Bearer <token>. The token can be a login JWT from the frontend or an api-key for a script. JWT access comes from the person's organization role. Api-key access comes from the permissions saved on the key.

In: header

Path Parameters

session*string

WhatsApp session id. Must belong to the caller organization.

Example"01HF..."
cid*string

Chat JID receiving presence state.

Example"6281234567890@s.whatsapp.net"

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

state?string

Presence state: composing, recording, or paused.

Example"composing"

Value in

  • "composing"
  • "paused"
  • "recording"

Response Body

application/json

curl -X PUT "https://example.com/api/v1/sessions/01HF.../chats/6281234567890@s.whatsapp.net/presence" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{  "error": {    "code": "not_found",    "details": {      "property1": null,      "property2": null    },    "message": "session not found"  }}