Skip to main content
Resend Docs

Search documentation

Type to search this documentation.

On this pageOverview

Create Broadcast

POST

/

broadcasts

Node.js
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',
  });
PHP
$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',
]);
Python
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)
Ruby
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)
Go
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)
}
Rust
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(())
}
Java
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);
.NET
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 );
cURL
# 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"
}'
CLI
# 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"
Response
{
  "object": "broadcast",
  "id": "49a3999c-0ce1-4ea6-ab68-afcd6dc2e794"
}

string

required

Sender email address.To include a friendly name, pass the sender as Name <email@example.com>, for example Acme <onboarding@example.dev>.

string

required

Email subject.

string

The HTML version of the message. You can include Contact Properties in the body of the Broadcast. Learn more about Contact Properties.

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.ReactNode

The React component used to write the message. Only available in the Node.js SDK.

string

The friendly name of the broadcast. Only used for internal reference.

boolean

Send the broadcast immediately after creation. Defaults to false.

Node.js
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',
  });
PHP
$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',
]);
Python
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)
Ruby
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)
Go
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)
}
Rust
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(())
}
Java
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);
.NET
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 );
cURL
# 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"
}'
CLI
# 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"
JSON
{
  "object": "broadcast",
  "id": "49a3999c-0ce1-4ea6-ab68-afcd6dc2e794"
}

Was this page helpful?

⌘I

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu