# Presence operations

Exact methods, permissions, request bodies and query fields for presence operations.

## Subscribe to a chat's presence

POST /api/v1/channels/{channel_id}/presence/subscribe

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.



- `chatId` (string, required): Maximum 255 characters. Individual, group or newsletter WhatsApp ID.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    }
  },
  "required": [
    "chatId"
  ],
  "additionalProperties": false
}
```





## Set the account's own global presence (appear online or offline)

PUT /api/v1/channels/{channel_id}/presence

Token scope: manage. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns an operation ID; inspect /api/v1/operations/{id}. A completed result is recorded; an unconfirmed result is uncertain and never automatically retried.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.



- `available` (boolean, required): See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "available": {
      "type": "boolean"
    }
  },
  "required": [
    "available"
  ],
  "additionalProperties": false
}
```





## Read a chat's last reported presence

GET /api/v1/channels/{channel_id}/presence/{chatId}

Token scope: read. Paid access and a ready, customer-owned session are required. List responses are bounded; use documented pagination parameters.

Upstream permissions and engine support apply. Unsupported operations may return 501; WhatsApp can refuse actions even when a session is connected.







```json
{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "required": []
}
```



