# Message operations

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

## Get message history for a session

GET /api/v1/channels/{channel_id}/messages

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.





Query parameter | Required | Schema
--- | --- | ---
chatId | No | {"type":"string","maxLength":4096}
from | No | {"type":"string","maxLength":4096}
limit | No | {"type":"integer","minimum":1,"maximum":100}
offset | No | {"type":"integer","minimum":0,"maximum":10000}
after | No | {"type":"string","maxLength":4096}
inlineMedia | No | {"type":"boolean"}
since | No | {"type":"number"}
until | No | {"type":"number"}
direction | No | {"enum":["incoming","outgoing"],"type":"string","maxLength":4096}
orderBy | No | {"enum":["createdAt","timestamp"],"type":"string","maxLength":4096}
type | No | {"type":"string","maxLength":4096}
messageId | No | {"type":"string","maxLength":4096}

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





## Send a text message

POST /api/v1/channels/{channel_id}/messages/send-text

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `text` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.
- `mentions` (array): Maximum 100 items. See JSON schema for all validation constraints.
- `linkPreview` (boolean): Allowed: [false]. See JSON schema for all validation constraints.
- `quotedMessageId` (string): Maximum 4096 characters. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "text": {
      "type": "string",
      "maxLength": 4096
    },
    "mentions": {
      "maxItems": 100,
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "type": "array"
    },
    "linkPreview": {
      "type": "boolean",
      "enum": [
        false
      ]
    },
    "quotedMessageId": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [
    "chatId",
    "text"
  ],
  "additionalProperties": false
}
```





## Send an image message

POST /api/v1/channels/{channel_id}/messages/send-image

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `url` (string): Maximum 2048 characters. See JSON schema for all validation constraints.
- `base64` (string): Maximum 1400000 characters. See JSON schema for all validation constraints.
- `mimetype` (string): Maximum 4096 characters. See JSON schema for all validation constraints.
- `filename` (string): Maximum 255 characters. See JSON schema for all validation constraints.
- `caption` (string): Maximum 1024 characters. See JSON schema for all validation constraints.
- `mentions` (array): Maximum 100 items. See JSON schema for all validation constraints.
- `quotedMessageId` (string): Maximum 4096 characters. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "url": {
      "type": "string",
      "maxLength": 2048
    },
    "base64": {
      "type": "string",
      "maxLength": 1400000,
      "pattern": "^[A-Za-z0-9+/]+={0,2}$"
    },
    "mimetype": {
      "type": "string",
      "maxLength": 4096
    },
    "filename": {
      "type": "string",
      "maxLength": 255
    },
    "caption": {
      "type": "string",
      "maxLength": 1024
    },
    "mentions": {
      "maxItems": 100,
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "type": "array"
    },
    "quotedMessageId": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [
    "chatId"
  ],
  "additionalProperties": false
}
```





## Send a video message

POST /api/v1/channels/{channel_id}/messages/send-video

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `url` (string): Maximum 2048 characters. See JSON schema for all validation constraints.
- `base64` (string): Maximum 1400000 characters. See JSON schema for all validation constraints.
- `mimetype` (string): Maximum 4096 characters. See JSON schema for all validation constraints.
- `filename` (string): Maximum 255 characters. See JSON schema for all validation constraints.
- `caption` (string): Maximum 1024 characters. See JSON schema for all validation constraints.
- `mentions` (array): Maximum 100 items. See JSON schema for all validation constraints.
- `quotedMessageId` (string): Maximum 4096 characters. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "url": {
      "type": "string",
      "maxLength": 2048
    },
    "base64": {
      "type": "string",
      "maxLength": 1400000,
      "pattern": "^[A-Za-z0-9+/]+={0,2}$"
    },
    "mimetype": {
      "type": "string",
      "maxLength": 4096
    },
    "filename": {
      "type": "string",
      "maxLength": 255
    },
    "caption": {
      "type": "string",
      "maxLength": 1024
    },
    "mentions": {
      "maxItems": 100,
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "type": "array"
    },
    "quotedMessageId": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [
    "chatId"
  ],
  "additionalProperties": false
}
```





## Send an audio/voice message

POST /api/v1/channels/{channel_id}/messages/send-audio

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `url` (string): Maximum 2048 characters. See JSON schema for all validation constraints.
- `base64` (string): Maximum 1400000 characters. See JSON schema for all validation constraints.
- `mimetype` (string): Maximum 4096 characters. See JSON schema for all validation constraints.
- `filename` (string): Maximum 255 characters. See JSON schema for all validation constraints.
- `caption` (string): Maximum 1024 characters. See JSON schema for all validation constraints.
- `mentions` (array): Maximum 100 items. See JSON schema for all validation constraints.
- `quotedMessageId` (string): Maximum 4096 characters. See JSON schema for all validation constraints.
- `ptt` (boolean): See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "url": {
      "type": "string",
      "maxLength": 2048
    },
    "base64": {
      "type": "string",
      "maxLength": 1400000,
      "pattern": "^[A-Za-z0-9+/]+={0,2}$"
    },
    "mimetype": {
      "type": "string",
      "maxLength": 4096
    },
    "filename": {
      "type": "string",
      "maxLength": 255
    },
    "caption": {
      "type": "string",
      "maxLength": 1024
    },
    "mentions": {
      "maxItems": 100,
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "type": "array"
    },
    "quotedMessageId": {
      "type": "string",
      "maxLength": 4096
    },
    "ptt": {
      "type": "boolean"
    }
  },
  "required": [
    "chatId"
  ],
  "additionalProperties": false
}
```





## Send a document/file

POST /api/v1/channels/{channel_id}/messages/send-document

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `url` (string): Maximum 2048 characters. See JSON schema for all validation constraints.
- `base64` (string): Maximum 1400000 characters. See JSON schema for all validation constraints.
- `mimetype` (string): Maximum 4096 characters. See JSON schema for all validation constraints.
- `filename` (string): Maximum 255 characters. See JSON schema for all validation constraints.
- `caption` (string): Maximum 1024 characters. See JSON schema for all validation constraints.
- `mentions` (array): Maximum 100 items. See JSON schema for all validation constraints.
- `quotedMessageId` (string): Maximum 4096 characters. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "url": {
      "type": "string",
      "maxLength": 2048
    },
    "base64": {
      "type": "string",
      "maxLength": 1400000,
      "pattern": "^[A-Za-z0-9+/]+={0,2}$"
    },
    "mimetype": {
      "type": "string",
      "maxLength": 4096
    },
    "filename": {
      "type": "string",
      "maxLength": 255
    },
    "caption": {
      "type": "string",
      "maxLength": 1024
    },
    "mentions": {
      "maxItems": 100,
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "type": "array"
    },
    "quotedMessageId": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [
    "chatId"
  ],
  "additionalProperties": false
}
```





## Send a location message

POST /api/v1/channels/{channel_id}/messages/send-location

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `latitude` (number, required): See JSON schema for all validation constraints.
- `longitude` (number, required): See JSON schema for all validation constraints.
- `description` (string): Maximum 1024 characters. See JSON schema for all validation constraints.
- `address` (string): Maximum 1024 characters. See JSON schema for all validation constraints.
- `quotedMessageId` (string): Maximum 4096 characters. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "latitude": {
      "type": "number"
    },
    "longitude": {
      "type": "number"
    },
    "description": {
      "type": "string",
      "maxLength": 1024
    },
    "address": {
      "type": "string",
      "maxLength": 1024
    },
    "quotedMessageId": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [
    "chatId",
    "latitude",
    "longitude"
  ],
  "additionalProperties": false
}
```





## Send a contact card message

POST /api/v1/channels/{channel_id}/messages/send-contact

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `contactName` (string, required): Maximum 255 characters. See JSON schema for all validation constraints.
- `contactNumber` (string, required): Maximum 30 characters. See JSON schema for all validation constraints.
- `quotedMessageId` (string): Maximum 4096 characters. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "contactName": {
      "type": "string",
      "maxLength": 255
    },
    "contactNumber": {
      "type": "string",
      "maxLength": 30
    },
    "quotedMessageId": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [
    "chatId",
    "contactName",
    "contactNumber"
  ],
  "additionalProperties": false
}
```





## Send a sticker message

POST /api/v1/channels/{channel_id}/messages/send-sticker

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `url` (string): Maximum 2048 characters. See JSON schema for all validation constraints.
- `base64` (string): Maximum 1400000 characters. See JSON schema for all validation constraints.
- `mimetype` (string): Maximum 4096 characters. See JSON schema for all validation constraints.
- `filename` (string): Maximum 255 characters. See JSON schema for all validation constraints.
- `caption` (string): Maximum 1024 characters. See JSON schema for all validation constraints.
- `mentions` (array): Maximum 100 items. See JSON schema for all validation constraints.
- `quotedMessageId` (string): Maximum 4096 characters. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "url": {
      "type": "string",
      "maxLength": 2048
    },
    "base64": {
      "type": "string",
      "maxLength": 1400000,
      "pattern": "^[A-Za-z0-9+/]+={0,2}$"
    },
    "mimetype": {
      "type": "string",
      "maxLength": 4096
    },
    "filename": {
      "type": "string",
      "maxLength": 255
    },
    "caption": {
      "type": "string",
      "maxLength": 1024
    },
    "mentions": {
      "maxItems": 100,
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "type": "array"
    },
    "quotedMessageId": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [
    "chatId"
  ],
  "additionalProperties": false
}
```





## Send a native WhatsApp poll

POST /api/v1/channels/{channel_id}/messages/send-poll

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `name` (string, required): Maximum 255 characters. See JSON schema for all validation constraints.
- `options` (array, required): Maximum 12 items. See JSON schema for all validation constraints.
- `allowMultipleAnswers` (boolean): See JSON schema for all validation constraints.
- `quotedMessageId` (string): Maximum 4096 characters. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "name": {
      "type": "string",
      "maxLength": 255
    },
    "options": {
      "minItems": 2,
      "maxItems": 12,
      "items": {
        "type": "string",
        "maxLength": 100
      },
      "type": "array"
    },
    "allowMultipleAnswers": {
      "type": "boolean"
    },
    "quotedMessageId": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [
    "chatId",
    "name",
    "options"
  ],
  "additionalProperties": false
}
```





## Reply to a message

POST /api/v1/channels/{channel_id}/messages/reply

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `quotedMessageId` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.
- `text` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.
- `mentions` (array): Maximum 100 items. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "quotedMessageId": {
      "type": "string",
      "maxLength": 4096
    },
    "text": {
      "type": "string",
      "maxLength": 4096
    },
    "mentions": {
      "maxItems": 100,
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "type": "array"
    }
  },
  "required": [
    "chatId",
    "quotedMessageId",
    "text"
  ],
  "additionalProperties": false
}
```





## Click a button on a WhatsApp Business prompt (Baileys only)

POST /api/v1/channels/{channel_id}/messages/click-button

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `messageId` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.
- `buttonId` (string, required): Maximum 256 characters. See JSON schema for all validation constraints.
- `text` (string): Maximum 4096 characters. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "messageId": {
      "type": "string",
      "maxLength": 4096
    },
    "buttonId": {
      "type": "string",
      "maxLength": 256
    },
    "text": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [
    "chatId",
    "messageId",
    "buttonId"
  ],
  "additionalProperties": false
}
```





## Forward a message to another chat

POST /api/v1/channels/{channel_id}/messages/forward

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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



- `fromChatId` (string, required): Maximum 255 characters. See JSON schema for all validation constraints.
- `toChatId` (string, required): Maximum 255 characters. See JSON schema for all validation constraints.
- `messageId` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "fromChatId": {
      "type": "string",
      "maxLength": 255
    },
    "toChatId": {
      "type": "string",
      "maxLength": 255
    },
    "messageId": {
      "type": "string",
      "maxLength": 4096
    }
  },
  "required": [
    "fromChatId",
    "toChatId",
    "messageId"
  ],
  "additionalProperties": false
}
```





## Add or remove a reaction to a message

POST /api/v1/channels/{channel_id}/messages/react

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `messageId` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.
- `emoji` (string, required): Maximum 32 characters. See JSON schema for all validation constraints.



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





## Fetch chat history live from WhatsApp

GET /api/v1/channels/{channel_id}/messages/{chatId}/history

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.





Query parameter | Required | Schema
--- | --- | ---
limit | No | {"type":"integer","minimum":1,"maximum":100}
includeMedia | No | {"type":"boolean"}
deep | No | {"type":"boolean"}

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





## Get reactions for a specific message

GET /api/v1/channels/{channel_id}/messages/{chatId}/{messageId}/reactions

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": []
}
```





## Get delivery and read receipts for a specific message

GET /api/v1/channels/{channel_id}/messages/{chatId}/{messageId}/receipts

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": []
}
```





## Download a message’s stored media

GET /api/v1/channels/{channel_id}/messages/{chatId}/{messageId}/media

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": []
}
```





## Delete a message

POST /api/v1/channels/{channel_id}/messages/delete

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `messageId` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.
- `forEveryone` (boolean): See JSON schema for all validation constraints.



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





## Cast a vote on a poll

POST /api/v1/channels/{channel_id}/messages/vote-poll

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `pollMessageId` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.
- `options` (array, required): Maximum 12 items. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "pollMessageId": {
      "type": "string",
      "maxLength": 4096
    },
    "options": {
      "maxItems": 12,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 4096
      }
    }
  },
  "required": [
    "chatId",
    "pollMessageId",
    "options"
  ],
  "additionalProperties": false
}
```





## Pin a message in its chat

POST /api/v1/channels/{channel_id}/messages/pin

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `messageId` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.
- `durationSeconds` (number): Allowed: [86400,604800,2592000]. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "messageId": {
      "type": "string",
      "maxLength": 4096
    },
    "durationSeconds": {
      "type": "number",
      "enum": [
        86400,
        604800,
        2592000
      ]
    }
  },
  "required": [
    "chatId",
    "messageId"
  ],
  "additionalProperties": false
}
```





## Remove a message’s pin

POST /api/v1/channels/{channel_id}/messages/unpin

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `messageId` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.



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





## Star or unstar a message

POST /api/v1/channels/{channel_id}/messages/star

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `messageId` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.
- `star` (boolean, required): See JSON schema for all validation constraints.



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





## Edit the text of a message sent by this account

POST /api/v1/channels/{channel_id}/messages/edit

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `messageId` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.
- `body` (string, required): Maximum 4096 characters. See JSON schema for all validation constraints.
- `mentions` (array): Maximum 100 items. See JSON schema for all validation constraints.



```json
{
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "maxLength": 255
    },
    "messageId": {
      "type": "string",
      "maxLength": 4096
    },
    "body": {
      "type": "string",
      "maxLength": 4096
    },
    "mentions": {
      "maxItems": 100,
      "items": {
        "type": "string",
        "maxLength": 64
      },
      "type": "array"
    }
  },
  "required": [
    "chatId",
    "messageId",
    "body"
  ],
  "additionalProperties": false
}
```





## Send a product message (Baileys engine only)

POST /api/v1/channels/{channel_id}/messages/send-product

Token scope: send. Paid access and a ready, customer-owned session are required. Supply an Idempotency-Key. Returns HTTP 202 and a queued message ID; inspect /api/v1/messages/{id}.

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.
- `productId` (string, required): Maximum 255 characters. See JSON schema for all validation constraints.
- `body` (string): Maximum 4096 characters. See JSON schema for all validation constraints.



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



