---
title: "Send a broadcast to its audience"
method: POST
path: "/broadcasts/{id}/send"
tags: ["Campaigns"]
---

# Send a broadcast to its audience

`POST /broadcasts/{id}/send`

## Request

- Base URL: `https://sendhq.cc/api/v1`
- URL: `https://sendhq.cc/api/v1/broadcasts/{id}/send`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/sendhq/apis/sendhq-api/docs/broadcasts/:id/send/post.ts> (a function with typed inputs; its response is checked against the schema)

Snapshot the broadcast's audience (the list's subscribed, non-dormant members, narrowed by its segment and limit, most engaged first when `audience.order` is `engaged`) and send one message to each in the background. Every message goes through the normal send checks: verified domain, the marketing plan (integration-trial workspaces may only send to the account email), suppressions, unsubscribes, sender reputation, and daily and monthly limits, and carries one-click List-Unsubscribe headers that remove the recipient from this list only (the unsubscribe page also offers leaving all marketing email; receipts and other transactional mail are never blocked) and the postal address from newsletter settings. With tracking on, links are rewritten to signed SendHQ redirects and an open pixel is added; the unsubscribe link is never rewritten. Members that cannot be mailed are recorded as skipped. Each contact is sent at most once per broadcast. When a limit or a reputation pause stops delivery, the broadcast keeps `sending` and resumes after `nextAttemptAt`. A scheduled draft returns 409 until it is unscheduled. Returns 202.

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string

## Response `202`

Successful response

- object
  - `id` string, required
  - `name` string, required
  - `status` string, required
  - `listId` string, required
  - `from` string, required
  - `replyTo` unknown, required
  - `subject` string, required
  - `previewText` string, required
  - `html` string, required
  - `text` unknown, required
  - `template` unknown, required
  - `audience` object, required
    - `segmentId` unknown, required
    - `order` string, required
    - `limit` unknown, required
  - `tracking` object, required
    - `opens` boolean, required
    - `clicks` boolean, required
  - `editor` string, required
  - `content` unknown, required
  - `testSentAt` unknown, required
  - `web` object, required
    - `enabled` boolean, required
    - `slug` unknown, required
    - `pinned` boolean, required
    - `publishedAt` unknown, required
  - `scheduledAt` unknown, required
  - `startedAt` unknown, required
  - `completedAt` unknown, required
  - `nextAttemptAt` unknown, required
  - `lastError` unknown, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `totals` object, required
    - `queued` integer, required
    - `sending` integer, required
    - `sent` integer, required
    - `held` integer, required
    - `skipped` integer, required
    - `failed` integer, required
    - `total` integer, required

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid authentication
- `402`: A paid entitlement is required for this recipient or feature
- `403`: The workspace, domain, policy, or suppression state forbids the operation
- `404`: Tenant-scoped resource not found
- `409`: Resource state or idempotency conflict
- `413`: Attachment count or bytes exceed the accepted limit
- `422`: Request validation or suppression check failed
- `423`: Sending is paused for this sender identity or workspace; the message gives the reason and how to appeal
- `429`: A monthly, daily, or trial usage limit was reached
- `500`: Unexpected server error
- `502`: An upstream provider operation failed
- `503`: A required provider or signing configuration is unavailable
- `default`: An error response using SendHQ's standard JSON envelope

---

[API](https://skmtc.dev/sendhq/apis/sendhq-api.md) - [All operations](https://skmtc.dev/sendhq/apis/sendhq-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sendhq/apis/sendhq-api/revisions/98e39e48cb9a?raw)
