Skip to main content
POST
Create an audience

Authorizations

Authorization
string
header
default:Bearer brew_your_api_key
required

Send your Brew API key as Authorization: Bearer brew_xxx.

Headers

Idempotency-Key
string

Optional idempotency key for safe retries. Reusing the same key with the same request body returns the original response for 24 hours.

Required string length: 1 - 100
X-Brand-Id
string

The brand this request acts on. REQUIRED for organization-scoped credentials (otherwise 400 BRAND_ID_REQUIRED — there is no default brand); list ids with GET /v1/brands. Brand-scoped credentials may omit it, and sending a different brand returns 403 BRAND_SCOPE_MISMATCH. A brand outside your organization returns 404 BRAND_NOT_FOUND.

Required string length: 1 - 64

Body

application/json
name
string
required
Required string length: 1 - 200
filters
object
required

Filter clauses combined by logicalOperator. For specific addresses use { field: "email", operator: "in", value: ["a@x.com", ...] } — a list over 100 addresses is auto-converted into a stamped custom-field snapshot of the listed EXISTING contacts (addresses without a contact record are skipped; 10,000 max).

Response

Created.

audienceId
string
required
Required string length: 1 - 64
audienceName
string
required
Required string length: 1 - 200
filters
object
required
count
integer
required
Required range: x >= 0
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
materializationStatus
enum<string>
Available options:
pending,
running,
ready,
failed
build
object
emailListMaterializations
object[]

Present when an email in [...] clause with more than 100 addresses was auto-converted into a stamped custom-field snapshot.