---
title: "Create Broadcast"
method: POST
path: "/v2/broadcasts"
tags: ["Broadcasts"]
---

# Create Broadcast

`POST /v2/broadcasts`

This endpoint allows you to create a new Broadcast depending on the type of communication channel you want to send (SMS, WhatsApp, Email, RCS). Certain factors must be considered when you want to send Broadcasts:The Broadcast scheduler configures the Broadcast sending depending on the communication channel and the delivery date. The `deliveryMethod` parameter allows us to differentiate the type of communication channel between SMS, WhatsApp, Email or RCS. That's why only this endpoint is used for the creation of Broadcasts because the `deliveryMethod` help us to send each type of communication channel, but there are several variations in the request body depending on the delivery type. You can configure the broadcast delivery date through three different status:<h4></h4><table style="width:115%"><tr><th>Broadcast Status</th><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td>Now</td><td><code>scheduleWithoutDate</code></td><td><code>false</code></td><td>Broadcast is sent at the moment.</td></tr><tr><td>Scheduled</td><td><code>broadcastDate</code></td><td>UTC Zulu format date</td><td>Broadcast is scheduled to be sent later.</td></tr><tr><td>Pending</td><td><code>scheduleWithoutDate</code></td><td><code>true</code></td><td>Indicates that Broadcast does not have a set delivery Date</td></tr></table>

## Request body

- union
  - SMSRequestBody
    - `deliveryMethod` 'SMS' | 'EMAIL' | 'RCS' | 'WHATSAPP' | 'SMS_MO' — delivery method must be SMS
    - `campaignName` string — broadcast name
    - `description` string — broadcast description
    - `listId` integer — list ID used in broadcast
    - `listField` string — field from list used in broadcast
    - `filters` string — filters in URLEncode format, applied to the list used in the broadcast
    - `filterName` string — filter name
    - `segmentId` string — segment id
    - `message` string — broadcast description
    - `origin` string — shortcode used to address the broadcast messages
    - `broadcastDate` string, date-time — broadcast date in UTC in case of schedule broadcast
    - `scheduleWithoutDate` boolean — flag to trigger now (false) or create a pending broadcast (true)
    - `throttle` integer — throttle rate
    - `callbacks` string[] — callbacks list
    - `emailField` string — list email field - data used in BigQuery reports
    - `clientId` string — client Id field - user additional field to be used in BigQuery reports
    - `fallback` Fallback — Configuration to trigger the fallback mechanism
      - `channels` object[] — Map list to add configuration per channel
    - `requestDR` boolean — enable delivery receipts: set this value to true if you want to receive DRs for messages
  - EmailRequestBody
    - `deliveryMethod` 'SMS' | 'EMAIL' | 'RCS' | 'WHATSAPP' | 'SMS_MO' — delivery method must be EMAIL
    - `campaignName` string — broadcast name
    - `description` string — broadcast description
    - `listId` integer — list ID used in broadcast
    - `listField` string — field from list used in broadcast
    - `filters` string — filters applied to the list used in the broadcast
    - `filterName` string — filter name
    - `segmentId` string — segment id
    - `message` string — broadcast description
    - `origin` string — sender address
    - `broadcastDate` string, date-time — broadcast date in UTC in case of schedule broadcast
    - `scheduleWithoutDate` boolean — flag to trigger now (false) or create a pending broadcast (true)
    - `throttle` integer — throttle rate
    - `callbacks` string[] — callbacks list
    - `smsField` string — list sms field - data used in BigQuery reports
    - `clientId` string — client Id field - user additional field to be used in BigQuery reports
    - `fallback` Fallback — Configuration to trigger the fallback mechanism
      - `channels` object[] — Map list to add configuration per channel
    - `subject` string — email broadcast subject. required in email broadcast
    - `draftId` string — email broadcast draft Id
  - RCSRequestBody
    - `deliveryMethod` 'SMS' | 'EMAIL' | 'RCS' | 'WHATSAPP' | 'SMS_MO' — delivery method must be RCS
    - `campaignName` string — broadcast name
    - `description` string — broadcast description
    - `listId` integer — list ID used in broadcast
    - `listField` string — field from list used in broadcast
    - `filters` string — filters in URLEncode format, applied to the list used in the broadcast
    - `filterName` string — filter name
    - `segmentId` string — segment id
    - `message` string — broadcast description
    - `origin` string — agent ID used to address the broadcast messages
    - `broadcastDate` string, date-time — broadcast date in UTC in case of schedule broadcast
    - `scheduleWithoutDate` boolean — flag to trigger now (false) or create a pending broadcast (true)
    - `throttle` integer — throttle rate
    - `callbacks` string[] — callbacks list
    - `emailField` string — list email field - data used in BigQuery reports
    - `clientId` string — client Id field - user additional field to be used in BigQuery reports
    - `rcsMessageType` string — RCS message type: can be `text` or `standalonecard`
    - `rcsMessage` object — map with message info. is different between message type
    - `rcsSuggestions` object[] — optional list of suggestions
  - WhatsAppRequestBody
    - `deliveryMethod` 'SMS' | 'EMAIL' | 'RCS' | 'WHATSAPP' | 'SMS_MO' — <p>Specifies the type of delivery channel which the message will be sent: <code>´SMS´</code> ,<code>´EMAIL´</code>, <code>´RCS´</code>, <code>´WHATSAPP´</code>.</p> <p>In this case, we enter the <code>´WHATSAPP´</code> value to send the WhatsApp message template.</p>
    - `campaignName` string — Name of the broadcast, used as the main identifier for the broadcast.
    - `description` string — Description of the broadcast.
    - `listId` integer — Enter the unique identifier of the list which contains the Recipients (contacts) of the broadcast.
    - `listField` string — <p>Name of the column defined when creating the contact list that contains the mobile numbers of the contacts.</p>
    - `filters` string — Set the filter you want to apply on the message.
    - `filterName` string — Name of the filter. The content is the name of the filter applied on the message.
    - `segmentId` string — Unique identifier of the segment.
    - `message` string — <p>Applies only when sending a Session Message.</p> <p>Content of the session message that will be sent to the contacts.</p> <p>If a WhatsApp user has sent your application a message — whether it’s a reply to one of your outbound messages, or they have initiated communication themselves — your application has a <b>24-hour</b> window to send the regular message, without using a message template.</p>
    - `origin` string — <p>Source address of the broadcast.</p> <p>Phone number provided during the WABA account setup will be used as the sender of the broadcast.</p> <p><b>Only accepts numeric characters. Do not include the ´+´ sign.</b></p>
    - `broadcastDate` string, date-time — <p><i>Applies only when the <code>´scheduleWithoutDate´</code> is true. That is, when you want to define the date and time when sending the WhatsApp message template.</i></p> <p><b>Set the date and time when the WhatsApp message template will be sent in UTC format: (yyyy-mm-dd-Thh:mm:ss.ssZ).</p> <p>If you do not set the date, the sending of the broadcast will be pending.</b></p>
    - `scheduleWithoutDate` boolean — <p>Define the Date & Time of your broadcast</p><p><ul><p><li><code>true</code>: Define the date and time when sending the WhatsApp message template.</li></p><p><li><code>false</code>: Send the WhatsApp message template once the API Call is executed.</li></p></ul><p>By default is <code>false</code></p>
    - `throttle` integer — <p>Message delivery speedometer.</p> <p>By default, 250 messages are sent per second.</p>
    - `callbacks` string[] — Callbacks list.
    - `clientId` string — Unique user identifier that can be used for reporting purposes.
    - `whatsappTemplateName` string — <p><i>Applies only when sending a WhatsApp Message Template.</i></p> <p>Name of the message template created in your WhatsApp Business Account.</p>
    - `whatsappTemplateLanguage` string — <p><i>Applies only when sending a WhatsApp Message Template.</i></p> <p>Language of the message template.</p>Currently the API supports 3 Languages: English, Spanish and Portuguese. Required if you want to send message templates in languages other than English.<p></p><p><b>English</b>: <code>´en´</code>, <code>´en_GB´</code>, <code>´en_US´</code> </p><p><b>Spanish</b>: <code>´es´</code>, <code>´es_AR´</code>, <code>´es_ES´</code></p> <p><b>Portuguese</b>: <code>´pt_BR´</code>, <code>´pt_PT</code></p>
    - `whatsappTemplateId` string — <p><i>Applies only when sending a WhatsApp Message Template.</i></p> <p>Unique identifier of the whatsApp message template.</p>
    - `whatsappTemplateHeader` object — <p><i>Applies only when sending a WhatsApp Message Template.</i></p> <p>Object of personalized fields (placeholders) or URL containing the header type chosen when creating the message template.</p>
      - `type` 'text' | 'image' | 'video' | 'document' — <p>Enter the header type chosen when creating the message template in lower case: <code>´text´</code>, <code>´image´</code>, <code>´video´</code>, <code>´document´</code>.</p>
      - `text` string — <p><i>Only applies if the message template created contains the <code>´text´</code> header type and includes a personalized field (placeholder).</i>.</p> <p>Enter the personalized field (placeholder).</p>
      - `url` string — <p><i>Only applies if the message template created contains the <code>´image´</code>, <code>´video´</code> or <code>´document´</code> header type.</i></p> <p>if you set the <b>Video</b>, <b>Image</b> or <b>Document</b> as Header type when creating the message template, enter the URL of the chosen media.</p> <p>The URL of the header (image, video and document) must be a valid URL that starts with <code>´http://…´</code> or <code>´https://…´</code> and provides a <b>direct download</b>. Redirects are not supported.</p>
      - `fileName` string — <p>Only applies if the message template created contains the <code>´document´</code> header type.</p> <p>if you set the <b>Document</b> as Header option when creating the message template, enter the name and file extension (.pdf) of the document to be sent.</p>
    - `whatsappTemplateButtons` object[] — <p>If you set the <b>Call To Action</b> as Button type, it is required when the button contains a Dynamic URL.</p> <p>If you set the <b>Quick Reply</b> as Button type, it is required when the button contains a payload or keywords.</p> <p>Array that contains the URL Suffix value (placeholder) of Dynamic URL for a Call To Action Button, and payloads or keywords from Quick Reply Buttons containing the button type chosen when creating the message template.</p>
      - `type` 'cta' | 'quick-reply' — <p><i>Applies only when sending a WhatsApp Message Template.</i></p> <p>Enter the button type chosen when creating the message template:</p> <p><ul><li><code>´cta´</code>: call to action button.</li> <li><code>´quick-reply´</code>: quick reply button.</li></ul></p>
      - `values` object[] — Array that contains the message Template button values.
        - `index` integer — <p><b>Position</b> index of the button of how it was defined when creating the message template.</p> <p>For <b>Call to Action</b> and <b>Quick Reply</b> buttons, indicates the position index of the button of how it was defined when creating the message template (0, 1, 2, 3, ...).</p>
        - `value` string — <p>For <b>Call To Action</b> buttons, if the created message template has been defined with a dynamic URL, enter the <b>URL suffix</b> value defined when creating the message template regarding its index position. The URL suffix is then propagated as an extension of the registered URL address.</p> <p>For <b>Quick Reply</b> buttons, enter the payload or keyword defined when creating the message template regarding its index position.</p>

## Response `201`

Broadcast creation request accepted

- BroadcastCreateResponse
  - `meta` MetadataDTO
    - `timestamp` integer, required — Transaction's date in timestamp
    - `transactionId` string, required — Id for the current transaction (Endpoint's call)
    - `explain` string — Explain string in case of failure
  - `data` BroadcastResponse — list of broadcasts
    - `id` integer — broadcast id
    - `beginDate` string, date-time — broadcast begin date in UTC
    - `endDate` string, date-time — broadcast end date in UTC
    - `deliveryMethod` 'SMS' | 'EMAIL' | 'RCS' | 'WHATSAPP' | 'SMS_MO' — delivery method or digital channel to broadcast messages - SMS/EMAIL/RCS/WHATSAPP -
    - `campaignName` string — broadcast name
    - `createdBy` string — broadcast creator username
    - `operator` string — broadcast operator username
    - `description` string — broadcast description
    - `listId` integer — list ID used in broadcast
    - `listSize` integer — list size used in broadcast
    - `listField` string — field from list used in broadcast
    - `filters` string — filters - in URL encoded format - applied to the list used in the broadcast
    - `filterName` string — filter name
    - `segmentId` string — segment id
    - `message` string — broadcast description
    - `origin` string — broadcast origin: code in sms, from in email
    - `broadcastDate` string, date-time — broadcast date in UTC
    - `broadcastStatus` 'DONE' | 'PENDING' | 'SCHEDULED' | 'SENDING' | 'SUSPENDED' | 'PAUSED' | 'DONE_WITH_FLAWS' | 'FATAL_ERROR' — broadcast status
    - `createdAt` string, date-time — broadcast creation date in UTC
    - `scheduleWithoutDate` boolean — flag to trigger now or schedule broadcast
    - `throttle` integer — throttle rate
    - `callbacks` string[] — callbacks list
    - `notSentCounter` integer — number of messages that have not been sent
    - `messagesSentCounter` integer — number of messages that have been sent
    - `smsField` string — list sms field - user additional field to be used in BigQuery reports
    - `emailField` string — list email field - user additional field to be used in BigQuery reports
    - `clientId` string — client Id field - user additional field to be used in BigQuery reports
    - `fallback` Fallback — Configuration to trigger the fallback mechanism
      - `channels` object[] — Map list to add configuration per channel
    - `multimediaFileName` string — Multimedia File Name
    - `report` Report — Information about reports from missandei to differents broadcasts
      - `sent` string — the message was sent
      - `delivered` string — the message was delivered
      - `unique_clicked` string — when the customer clicked at least once
      - `clicked` string — When the customer clicks
      - `failed` string — when the message failed
    - `requestDR` boolean — ONLY SMS: request DR flag
    - `subject` string — ONLY EMAIL: email broadcast subject. required in email broadcast
    - `draftId` string — ONLY EMAIL: email broadcast draft Id
    - `attachmentName` string — attachment name
    - `rcsConfig` RcsConfig — ONLY RCS: particular RCS broadcast information
      - `rcsMessage` object — RCS message payload. changes according to the type of RCS: text or standalonecard
      - `rcsMessageType` string — RCS message type: text or standalonecard
      - `rcsSuggestions` object[] — list with suggestions map
    - `whatsappConfig` WhatsAppConfig — ONLY WHATSAPP: particular WHATSAPP broadcast information
      - `whatsappTemplateName` string
      - `whatsappTemplateLanguage` string
      - `whatsappTemplateHeader` object
      - `whatsappTemplateButtons` TemplateButtons[]
        - `type` 'cta' | 'quick-reply' | 'flow', required — Button type
        - `values` ButtonValue[]
          - `index` integer, required — Button index position
          - `value` string — Button value/text. Required for regular buttons, optional for flow buttons
      - `whatsappTemplateId` string
    - `caption` string
    - `type` string

## Other responses

- `400` — bad request
- `401` — unauthorized: malformed jwt
- `410` — gone: expired jwt
- `412` — a precondition is not met
- `500` — internal server error

---

[API](https://skmtc.dev/messangi/apis/raven.md) · [All operations](https://skmtc.dev/messangi/apis/raven/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/messangi/raven/revisions/c87f398fa338/schema)
