---
title: "Create a broadcast"
method: POST
path: "/broadcasts"
tags: ["Broadcasts"]
---

# Create a broadcast

`POST /broadcasts`

## Request

- Base URL: `https://api.crevio.co/v1`
- URL: `https://api.crevio.co/v1/broadcasts`
- Auth: API key in header `Authorization`

Creates a broadcast. Omit `scheduled_at` to save a draft, pass a future timestamp to schedule it, or pass `send_now: true` to resolve the audience and start sending immediately.

Sending a 1:1 email? Use `POST /v1/email/inboxes/{inbox_id}/messages` instead — it creates a tracked thread you can reply within.

## Headers

- `Idempotency-Key` string

## Request body

- BroadcastRequest
  - `from` string, nullable: Sender email address (uses account default if omitted)
  - `to` string[]: List of recipient email addresses
  - `subject` string: Email subject line
  - `body` string: Email body content
  - `customer_type` string, nullable: Filter recipients by customer type
  - `send_to_all` boolean, nullable: Send to all customers

## Response `201`

The created broadcast

- Broadcast
  - `object` string, required
  - `id` string, required
  - `subject` string, nullable, required
  - `preview_text` string, nullable, required
  - `body` string, nullable, required
  - `html_body` string, nullable, required
  - `from` string, nullable, required
  - `reply_to` string, nullable, required
  - `styled` boolean, required
  - `audience` object, required
  - `audience_description` string, required
  - `status` 'draft' | 'scheduled' | 'sending' | 'sent' | 'canceled' | 'failed', required
  - `scheduled_at` string, date-time, nullable, required
  - `started_at` string, date-time, nullable, required
  - `sent_at` string, date-time, nullable, required
  - `canceled_at` string, date-time, nullable, required
  - `stats` object, required
  - `error` string, nullable, required
  - `metadata` object, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `403`: Forbidden
- `422`: Validation error
- `429`: The account's daily email limit for its plan has been reached.
- `500`: Internal server error

---

[API](https://skmtc.dev/crevio/apis/crevio-api-v1.md) · [All operations](https://skmtc.dev/crevio/apis/crevio-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/crevio/apis/crevio-api-v1/revisions/2219f18ad651?raw)
