---
title: "List broadcasts"
method: GET
path: "/v1/broadcasts"
tags: ["Broadcasts"]
---

# List broadcasts

`GET /v1/broadcasts`

## Request

- Base URL: `https://smtpfa.st/api`
- URL: `https://smtpfa.st/api/v1/broadcasts`
- Auth: HTTP bearer

Return broadcast campaigns for the current account with recipient rollup metrics.

## Query parameters

- `status` 'all' | 'draft' | 'scheduled' | 'queued' | 'sent' | 'paused' | 'canceled'
- `q` string
- `archived` 'false' | 'true' | 'all'

## Response `200`

List of broadcasts

- BroadcastList
  - `object` string, required
  - `data` Broadcast[], required
    - `object` string
    - `id` string, required
    - `name` string, required
    - `audience` string
    - `audience_meta` AudienceMeta: Details of the audience, such as the segment_id
    - `from` string, nullable
    - `reply_to` string, nullable
    - `subject` string, nullable
    - `preview_text` string, nullable
    - `html` string, nullable
    - `text` string, nullable
    - `markdown` string, nullable
    - `status` 'draft' | 'scheduled' | 'queued' | 'sending' | 'sent' | 'paused' | 'canceled' | 'failed', required
    - `scheduled_at` string, date-time, nullable
    - `queued_at` string, date-time, nullable
    - `sent_at` string, date-time, nullable
    - `canceled_at` string, date-time, nullable
    - `archived_at` string, date-time, nullable: When the broadcast was archived. Archived broadcasts are left out of the list unless archived=true or archived=all.
    - `paused_at` string, date-time, nullable: Set when the campaign was stopped mid-send by the deliverability guard
    - `pause_reason` string, nullable: Why the campaign was paused, for example the complaint rate that tripped the guard
    - `fanout_completed_at` string, date-time, nullable: When every recipient of the send had been created
    - `expected_recipients` integer, nullable: Eligible recipients counted when the send was accepted
    - `send_over_minutes` integer: Minutes the send is spread over from its start (scheduled_at, else queued_at); 0 means all at once
    - `track_opens` boolean
    - `track_clicks` boolean
    - `recipient_count` integer
    - `metrics` BroadcastMetrics
      - `total` integer
      - `skipped` integer
      - `queued` integer
      - `sending` integer
      - `handed_off` integer: Recipients whose email the provider accepted, whatever happened next. Shows how far a send spread over send_over_minutes has got.
      - `sent` integer
      - `delivered` integer
      - `opened` integer
      - `clicked` integer
      - `unsubscribed` integer
      - `bounced` integer
      - `complained` integer
      - `failed` integer
      - `canceled` integer
      - `delivery_rate` number
      - `open_rate` number
      - `click_rate` number
      - `unsubscribe_rate` number
      - `bounce_rate` number
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `has_more` boolean, required
  - `page` integer
  - `page_size` integer
  - `filtered_total` integer: Broadcasts matching the status, search and archived filters
  - `total` integer: Every broadcast of the team that is not archived
  - `archived_total` integer: Archived broadcasts of the team
  - `status_counts` object: Broadcasts that are not archived, per status

## Other responses

- `401`: Invalid or missing API key
- `403`: Forbidden - domain not verified or insufficient permissions
- `429`: Rate limit exceeded - retry after the period indicated in the Retry-After header
- `500`: Internal server error

---

[API](https://skmtc.dev/smtpfa/apis/smtpfast-api.md) · [All operations](https://skmtc.dev/smtpfa/apis/smtpfast-api/llms.txt) · [OpenAPI document](https://skmtc.dev/smtpfa/apis/smtpfast-api/revisions/79dda742f53e?raw)
