---
title: "Send a broadcast"
method: POST
path: "/broadcasts/{id}/send"
tags: ["Broadcasts"]
---

# Send a broadcast

`POST /broadcasts/{id}/send`

## Request

- Base URL: `https://api.mepmail.dev`
- URL: `https://api.mepmail.dev/broadcasts/{id}/send`
- Auth: HTTP bearer

Schedules a broadcast now or at a later time.

## Path parameters

- `id` string, uuid, required

## Request body

- SendBroadcastRequest
  - `scheduled_at` string: Deliver later: ISO 8601 with offset or relative like "in 1 hour"; omitted sends now

## Response `200`

Broadcast scheduled; finishes_at and warning say when it goes out

- SendBroadcastResponse
  - `id` string, uuid, required
  - `finishes_at` string, nullable: When the last email is expected to go out (ISO 8601); null when unknown
  - `estimated` true: finishes_at is an estimate that moves as other sends come in
  - `warning` object
    - `code` 'paced' | 'queued_behind', required: paced: more than the capacity available now; queued_behind: other sends go first
    - `days` integer, required: Days the send spans
    - `message` string, required

## Other responses

- `400`: Not a draft
- `401`: Missing, malformed or invalid API key
- `403`: Sending paused
- `404`: Not found
- `422`: Validation error
- `429`: Rate limit exceeded: 600 requests per minute per API key and 3,000 per team; wait for Retry-After

---

[API](https://skmtc.dev/mepmail/apis/mepmail-api.md) · [All operations](https://skmtc.dev/mepmail/apis/mepmail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mepmail/apis/mepmail-api/revisions/262a89f73730?raw)
