Create Broadcast
Create a new broadcast to send to your contacts.
Body Parameters
Section titled “Body Parameters”The ID of the segment you want to send to.
-
from(string, required) — Sender email address.To include a friendly name, pass the sender as
Name <email@example.com>, for exampleAcme <onboarding@example.dev>. -
subject(string, required) — Email subject.
Reply-to email address. For multiple addresses, send as an array of strings.
-
html(string) — The HTML version of the message. You can include Contact Properties in the body of the Broadcast. Learn more about Contact Properties. -
text(string) — The plain text version of the message. You can include Contact Properties in the body of the Broadcast. Learn more about Contact Properties. -
react(React.ReactNode) — The React component used to write the message. Only available in the Node.js SDK. -
name(string) — The friendly name of the broadcast. Only used for internal reference.
Optional. Omit it to send to every subscribed contact in the segment, without checking topic preferences.
-
send(boolean) — Send the broadcast immediately after creation. Defaults tofalse.
Schedule the broadcast to be sent later. The date should be in natural language (e.g.: in 1 min) or ISO 8601 format (e.g: 2026-08-05T11:52:01.858Z).
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
// Create a draft broadcast
const { data, error } = await resend.broadcasts.create({
segmentId: '78261eea-8f8b-4381-83c6-79fa7120f1cf',
from: 'Acme <onboarding@resend.dev>',
subject: 'hello world',
html: 'Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}',
});
// Create and send immediately
const { data: sent, error: sendError } = await resend.broadcasts.create({
segmentId: '78261eea-8f8b-4381-83c6-79fa7120f1cf',
from: 'Acme <onboarding@resend.dev>',
subject: 'hello world',
html: 'Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}',
send: true,
});
// Create and schedule
const { data: scheduled, error: scheduleError } =
await resend.broadcasts.create({
segmentId: '78261eea-8f8b-4381-83c6-79fa7120f1cf',
from: 'Acme <onboarding@resend.dev>',
subject: 'hello world',
html: 'Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}',
send: true,
scheduledAt: 'in 1 hour',
});$resend = Resend::client('re_xxxxxxxxx');
// Create a draft broadcast
$resend->broadcasts->create([
'segment_id' => '78261eea-8f8b-4381-83c6-79fa7120f1cf',
'from' => 'Acme <onboarding@resend.dev>',
'subject' => 'hello world',
'html' => 'Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}',
]);
// Create and send immediately
$resend->broadcasts->create([
'segment_id' => '78261eea-8f8b-4381-83c6-79fa7120f1cf',
'from' => 'Acme <onboarding@resend.dev>',
'subject' => 'hello world',
'html' => 'Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}',
'send' => true,
]);
// Create and schedule
$resend->broadcasts->create([
'segment_id' => '78261eea-8f8b-4381-83c6-79fa7120f1cf',
'from' => 'Acme <onboarding@resend.dev>',
'subject' => 'hello world',
'html' => 'Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}',
'send' => true,
'scheduled_at' => 'in 1 hour',
]);import resend
resend.api_key = "re_xxxxxxxxx"
# Create a draft broadcast
params: resend.Broadcasts.CreateParams = {
"segment_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
"from": "Acme <onboarding@resend.dev>",
"subject": "Hello, world!",
"html": "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
}
resend.Broadcasts.create(params)
# Create and send immediately
params: resend.Broadcasts.CreateParams = {
"segment_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
"from": "Acme <onboarding@resend.dev>",
"subject": "Hello, world!",
"html": "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
"send": True,
}
resend.Broadcasts.create(params)
# Create and schedule
params: resend.Broadcasts.CreateParams = {
"segment_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
"from": "Acme <onboarding@resend.dev>",
"subject": "Hello, world!",
"html": "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
"send": True,
"scheduled_at": "in 1 hour",
}
resend.Broadcasts.create(params)require "resend"
Resend.api_key = "re_xxxxxxxxx"
# Create a draft broadcast
params = {
"segment_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
"from": "Acme <onboarding@resend.dev>",
"subject": "hello world",
"html": "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
}
Resend::Broadcasts.create(params)
# Create and send immediately
params = {
"segment_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
"from": "Acme <onboarding@resend.dev>",
"subject": "Hello, world!",
"html": "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
"send": true,
}
Resend::Broadcasts.create(params)
# Create and schedule
params = {
"segment_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
"from": "Acme <onboarding@resend.dev>",
"subject": "Hello, world!",
"html": "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
"send": true,
"scheduled_at": "in 1 hour",
}
Resend::Broadcasts.create(params)
package main
import "github.com/resend/resend-go/v4"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
// Create a draft broadcast
params := &resend.CreateBroadcastRequest{
SegmentId: "78261eea-8f8b-4381-83c6-79fa7120f1cf",
From: "Acme <onboarding@resend.dev>",
Html: "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
Subject: "Hello, world!",
}
client.Broadcasts.Create(params)
// Create and send immediately
params = &resend.CreateBroadcastRequest{
SegmentId: "78261eea-8f8b-4381-83c6-79fa7120f1cf",
From: "Acme <onboarding@resend.dev>",
Subject: "Hello, world!",
Html: "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
Send: true,
}
client.Broadcasts.Create(params)
// Create and schedule
params = &resend.CreateBroadcastRequest{
SegmentId: "78261eea-8f8b-4381-83c6-79fa7120f1cf",
From: "Acme <onboarding@resend.dev>",
Subject: "Hello, world!",
Html: "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
Send: true,
ScheduledAt: "in 1 hour",
}
client.Broadcasts.Create(params)
}use resend_rs::{types::CreateBroadcastOptions, Resend, Result};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let segment_id = "78261eea-8f8b-4381-83c6-79fa7120f1cf";
let from = "Acme <onboarding@resend.dev>";
let subject = "hello world";
let html = "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}";
let opts = CreateBroadcastOptions::new(segment_id, from, subject).with_html(html);
// Create a draft broadcast
let _broadcast = resend.broadcasts.create(opts.clone()).await?;
// Create and send immediately
let _broadcast = resend
.broadcasts
.create(opts.clone().with_send(true))
.await?;
// Create and schedule
let _broadcast = resend
.broadcasts
.create(opts.with_send(true).with_scheduled_at("in 1 hour"))
.await?;
Ok(())
}import com.resend.Resend;
import com.resend.services.broadcasts.model.CreateBroadcastOptions;
import com.resend.services.broadcasts.model.CreateBroadcastResponseSuccess;
Resend resend = new Resend("re_xxxxxxxxx");
// Create a draft broadcast
CreateBroadcastOptions params = CreateBroadcastOptions.builder()
.segmentId("78261eea-8f8b-4381-83c6-79fa7120f1cf")
.from("Acme <onboarding@resend.dev>")
.subject("hello world")
.html("Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}")
.build();
CreateBroadcastResponseSuccess data = resend.broadcasts().create(params);
// Create and send immediately
CreateBroadcastOptions sendParams = CreateBroadcastOptions.builder()
.segmentId("78261eea-8f8b-4381-83c6-79fa7120f1cf")
.from("Acme <onboarding@resend.dev>")
.subject("hello world")
.html("Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}")
.send(true)
.build();
CreateBroadcastResponseSuccess sent = resend.broadcasts().create(sendParams);
// Create and schedule
CreateBroadcastOptions scheduleParams = CreateBroadcastOptions.builder()
.segmentId("78261eea-8f8b-4381-83c6-79fa7120f1cf")
.from("Acme <onboarding@resend.dev>")
.subject("hello world")
.html("Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}")
.send(true)
.scheduledAt("in 1 hour")
.build();
CreateBroadcastResponseSuccess scheduled = resend.broadcasts().create(scheduleParams);using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
// Create a draft broadcast
var resp = await resend.BroadcastAddAsync(
new BroadcastData()
{
DisplayName = "Example Broadcast",
SegmentId = new Guid( "78261eea-8f8b-4381-83c6-79fa7120f1cf" ),
From = "Acme <onboarding@resend.dev>",
Subject = "Hello, world!",
HtmlBody = "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
}
);
Console.WriteLine( "Broadcast Id={0}", resp.Content );
// Create and send immediately
var sent = await resend.BroadcastAddAsync(
new BroadcastData()
{
DisplayName = "Example Broadcast",
SegmentId = new Guid( "78261eea-8f8b-4381-83c6-79fa7120f1cf" ),
From = "Acme <onboarding@resend.dev>",
Subject = "Hello, world!",
HtmlBody = "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
SendAfterAdd = true,
}
);
Console.WriteLine( "Broadcast Id={0}", sent.Content );
// Create and schedule
var scheduled = await resend.BroadcastAddAsync(
new BroadcastData()
{
DisplayName = "Example Broadcast",
SegmentId = new Guid( "78261eea-8f8b-4381-83c6-79fa7120f1cf" ),
From = "Acme <onboarding@resend.dev>",
Subject = "Hello, world!",
HtmlBody = "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
SendAfterAdd = true,
MomentSchedule = DateTime.UtcNow.AddHours( 1 ),
}
);
Console.WriteLine( "Broadcast Id={0}", scheduled.Content );# Create a draft broadcast
curl -X POST 'https://api.resend.com/broadcasts' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'
{
"segment_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
"from": "Acme <onboarding@resend.dev>",
"subject": "hello world",
"html": "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}"
}'
# Create and send immediately
curl -X POST 'https://api.resend.com/broadcasts' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'
{
"segment_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
"from": "Acme <onboarding@resend.dev>",
"subject": "hello world",
"html": "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
"send": true
}'
# Create and schedule
curl -X POST 'https://api.resend.com/broadcasts' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'
{
"segment_id": "78261eea-8f8b-4381-83c6-79fa7120f1cf",
"from": "Acme <onboarding@resend.dev>",
"subject": "hello world",
"html": "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}",
"send": true,
"scheduled_at": "in 1 hour"
}'# Create a draft broadcast
resend broadcasts create \
--from "Acme <onboarding@resend.dev>" \
--subject "hello world" \
--segment-id 78261eea-8f8b-4381-83c6-79fa7120f1cf \
--html "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}"
# Create and send immediately
resend broadcasts create \
--from "Acme <onboarding@resend.dev>" \
--subject "hello world" \
--segment-id 78261eea-8f8b-4381-83c6-79fa7120f1cf \
--html "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}" \
--send
# Create and schedule
resend broadcasts create \
--from "Acme <onboarding@resend.dev>" \
--subject "hello world" \
--segment-id 78261eea-8f8b-4381-83c6-79fa7120f1cf \
--html "Hi {{{contact.first_name|there}}}, you can unsubscribe here: {{{RESEND_UNSUBSCRIBE_URL}}}" \
--send \
--scheduled-at "in 1 hour"{
"object": "broadcast",
"id": "49a3999c-0ce1-4ea6-ab68-afcd6dc2e794"
}