---
title: "Broadcast Message"
method: POST
path: "/message/broadcast"
tags: ["message"]
---

# Broadcast Message

`POST /message/broadcast`

This endpoint is used to send bulk messages to many chats

## Headers

- `x-phone` string

## Request body

- object
  - `chat_ids` string[], required — - Array of all the recipients - For groups, enter the chat_id of the group. This will be a string that ends with @g.us - For 1-1 chats, enter the country_code + number of the recipient e.g. [919537851844@c.us](https://mailto:919537851844@c.us) (The @c.us is optional)
  - `message` string — - The text body or caption. You can use basic markdown formatting supported by WhatsApp e.g. * for bold, and _ for italic, etc.
  - `scheduled_at` string — - UTC date and time when the message should be sent, in ISO 8601 format (YYYY-MM-DDTHH:mm:ss.sssZ). Example: 2025-02-06T11:21:00Z
  - `delay` number — - Time interval between each broadcasted message in seconds. Defaults to `1 second`
  - `media` object — - Required to send a media object. You can send a public URL of the media content, or the base64 data of the media - Media can be a document, image, video or audio - `url` - public URL that hosts the content to be sent - `filedata` - Raw bytes of the file, represented in base64 - `type` - The type of the media. Can be image, video, document or audio - `filename` - The filename of the media. Only applicable for document messages
  - `poll` object — - `pollName` - The question or title of the poll - `pollOptions` - Raw bytes of the file, represented in base64 - `options` - Additional options to be sent with the poll - `allowMultipleAnswers` - Boolean. When set to true, respondents can select multiple options - `pollId` - Optional unique identifier of the poll. Useful when sending it across multiple chats
  - `reply_to` string — - To reply to a message, add the message_id in this field
  - `variables` object[] — - Array of variable objects for dynamic message personalization - Each variable can replace placeholders in the message body written in the format `{{var}}` - Note: This parameter is required if `{{var}}` placeholders are present in the message
    - `values` object — Key-value pair of variable names and their values for specific chat_id
    - `chat_id` string — The target chat where these values apply

## Response `200`

200 OK

- object — The response object contains the `broadcast_id` You can check the status and logs of the broadcast jobs from the `/queue/jobs` endpoint Alternatively, to get all individual message queue jobs for this broadcast, call `POST /message/queues` with `{ "broadcast_id": "<id>" }` in the request body The `broadcast_id` can also be mapped in the message object against the `broadcast_id` (same key)

---

[API](https://skmtc.net/periskope/apis/api-local.md) · [All operations](https://skmtc.net/periskope/apis/api-local/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/periskope/api-local/revisions/f2738ced87d8/schema)
