---
title: "Create an Audience"
method: POST
path: "/v1/audiences"
tags: ["Audiences"]
---

# Create an Audience

`POST /v1/audiences`

## Request

- Base URL: `https://api.monaco.com`
- URL: `https://api.monaco.com/v1/audiences`
- Auth: none declared

Creates a new audience, optionally seeded with contacts — either an explicit `contact_ids` list or a `filters` query over the contacts field schemas (optionally narrowed by `excluded_ids` or `source_audience_id`).

Audiences can be shared across campaigns.

## Request body

- CreateAudienceRequest
  - `name` string, required: Name of the audience to create
  - `contact_ids` string[], nullable: Optional list of contact IDs to add to the audience on creation. Provide either `contact_ids` or `filters`, not both.
  - `filters` union: Selects the contacts to seed the audience with by query instead of listing every id. Either a flat list of rules (ANDed) or an expression with 'operator' and 'filters'. Each rule has 'field', 'condition', and 'value'; valid keys, operators, and values come from the contacts field schemas. A flat rule on 'account_id' selects the account's contacts. Provide `filters` or `contact_ids`, not both. At most 10000 matching contacts (before exclusions). WARNING: an empty list matches every contact.
    - FilterRule[]
      - `field` string, required
      - `condition` string, required
      - `value` unknown
    - FilterExpression: A filter expression with an explicit operator. Contains filters that can be either FilterRule objects (leaf nodes) or nested FilterExpression objects (branch nodes), allowing for arbitrarily nested filter structures.
      - `operator` 'and' | 'or': Logical operators to combine filters or filter expressions.
      - `filters` union[]
        - union
          - FilterRule
            - `field` string, required
            - `condition` string, required
            - `value` unknown
          - FilterExpression (recursive)
  - `excluded_ids` string[], nullable: Contact IDs to exclude from the filtered set. Only used with `filters`.
  - `source_audience_id` string, uuid, nullable: When set with `filters`, restricts the selected contacts to current members of this audience.

## Response `200`

Successful Response

- PublicItemResponseAudienceResponse
  - `data` AudienceResponse, required
    - `id` string, required: Unique identifier for the audience
    - `name` string, required: Name of the audience
    - `type` string, required: Audience type
    - `status` string, required: Audience status
    - `contact_count` integer, required: Number of contacts currently in the audience
    - `created_at` string, date-time, required: Date and time the audience was created
    - `updated_at` string, date-time, required: Date and time the audience was last updated
  - `meta` ResponseMeta
    - `timestamp` string, date-time: Server timestamp of the response

## Other responses

- `4XX`: Client error

## Changes

- **2026-11-03** `fc720ada2a81`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/monaco/apis/monaco-public-api/changes/v1/audiences/post.md)

---

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