v1

latestOpenAPI 3.0.32026-07-26870417.2 KB
message

Broadcast Message

This endpoint is used to send bulk messages to many chats

post/message/broadcast

Headers

x-phonestring
Example:918527184400

Please provide the number of the phone you want to call with this API in the header. The number must be in country code + number format without any characters or spaces, e.g. 919876543210; Alternatively, provide the phone_id (phone-xxxxxxxxxxxx) in the header

Request body

chat_idsstring[] 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 (The @c.us is optional)
messagestring
  • The text body or caption. You can use basic markdown formatting supported by WhatsApp e.g. * for bold, and _ for italic, etc.
scheduled_atstring
  • 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
delaynumber
  • Time interval between each broadcasted message in seconds. Defaults to 1 second
mediaobject
  • 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
pollobject
  • 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_tostring
  • To reply to a message, add the message_id in this field

Example request

{
  "message": "Hello World",
  "scheduled_at": "2025-02-06T11:21:00Z",
  "delay": 10,
  "variables": [
    {
      "values": {
        "name": "hansal",
        "var1": "test"
      },
      "chat_id": "91882424xxxx@c.us"
    }
  ]
}

Response

200 OK

object required

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)