---
title: "List all audiences"
method: GET
path: "/audiences"
tags: ["Audiences"]
---

# List all audiences

`GET /audiences`

Returns the audiences in the workspace with paging. Audiences are filter-based groups that recalculate as user profiles change.

## Query parameters

- `cursor` string, nullable

## Response `200`

- AudienceListResponse
  - `paging` Paging, required
    - `cursor` string, nullable
    - `more` boolean, required
  - `items` Audience[], required
    - `id` string, required — A unique identifier representing the audience_id
    - `name` string, required — The name of the audience
    - `description` string, required — A description of the audience
    - `operator` 'AND' | 'OR'
    - `filter` AudienceFilterConfig — Filter configuration for audience membership containing an array of filter rules
      - `operator` 'AND' | 'OR'
      - `filters` FilterConfig[], required — Array of filter rules (single conditions or nested groups)
        - `operator` string, required — The operator for this filter. Use comparison operators (EQ, GT, LT, GTE, LTE, NEQ, EXISTS, INCLUDES, STARTS_WITH, ENDS_WITH, IS_BEFORE, IS_AFTER, OMIT) for single conditions, or logical operators (AND, OR) for nested filter groups.
        - `path` string — The attribute path from the user profile to filter on. Required for single filter conditions, not used for nested filter groups.
        - `value` string — The value to compare against. Required for single filter conditions, not used for nested filter groups.
        - `filters` FilterConfig[] — Nested filter rules to combine with AND/OR. Required for nested filter groups, not used for single filter conditions.
    - `created_at` string, required
    - `updated_at` string, required

## Other responses

- `400`

## Changes

- **2026-07-07** `d3fe53f97998` — 1 info
  - added the optional property `items/items/filter/operator` to the response with the `200` status
- **2026-01-14** `e3e54d99e2a7` — 3 breaking, 3 info
  - the response property `items/items/filter` became nullable for the status `200`
  - the response property `items/items/filter` became optional for the status `200`
  - the `items/items/filter` response's property type/format changed from ``/`` to `object`/`` for status `200`
  - added the optional property `items/items/operator` to the response with the `200` status
  - …2 more
- **2026-01-05** `361d17797dff` — 1 breaking
  - added `#/components/schemas/NestedFilterConfig` to the `items/items/filter` response property `oneOf` list for the response status `200`
- **2025-10-07** `7143ea51f307` — 1 info
  - removed `#/components/schemas/NestedFilterConfig` from the `items/items/filter` response property `oneOf` list for the response status `200`

[Change history](https://skmtc.dev/trycourier/apis/courier/changes/audiences/get.md)

---

[API](https://skmtc.dev/trycourier/apis/courier.md) · [All operations](https://skmtc.dev/trycourier/apis/courier/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trycourier/courier/revisions/cb8586034158/schema)
