---
title: "POST /v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/audience-preview"
method: POST
path: "/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/audience-preview"
---

# POST /v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/audience-preview

`POST /v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/audience-preview`

## Request

- Base URL: `https://api.bangermail.com`
- URL: `https://api.bangermail.com/v1/workspaces/{workspaceId}/broadcasts/{broadcastId}/audience-preview`
- Auth: HTTP bearer

## Request body

- object
  - `audience` object
    - `all_subscribed` boolean
    - `contact_ids` string[]
    - `list_ids` string[]
    - `segment_ids` string[]

## Response `200`

Canonical read-back or idempotent receipt. Provider acceptance is sent; delivered requires a delivery event and does not prove inbox placement.

- object
  - `data` BroadcastAudiencePreview, required
    - `count` integer, required
    - `missing_consent_evidence_count` integer, required
    - `sample` object[], required
      - `id` string, uuid, required
      - `email` string, required
      - `display_name` string, nullable, required
      - `attributes` object, required
    - `excluded` object, required
      - `suppressed` integer, required
      - `not_subscribed` integer, required
      - `missing_recipient_hash` integer, required
      - `missing_consent_evidence` integer, required
    - `eligible_count` integer, required
    - `required_variables` string[], required
    - `missing_personalization_fields` object[], required
      - `variable` string, required
      - `missingCount` integer, required
      - `sampleEmails` string[], required
    - `audience` CampaignAudience, required: Select all subscribed contacts or at least one nonempty contact_ids, list_ids, or segment_ids list.
      - `all_subscribed` boolean
      - `contact_ids` string[]
      - `list_ids` string[]
      - `segment_ids` string[]

## Other responses

- `400`: Invalid input or missing operating product.
- `403`: Existing OAuth scope or product boundary denied.
- `409`: Stale version or idempotency conflict.
- `422`: Consent, suppression, personalization, or readiness blocker.

---

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