Courier Audiences API

The Audiences API from Courier — 3 operation(s) for audiences.

Operations 5

GET /audiences/{audience_id} Get an audience #
PUT /audiences/{audience_id} Update an audience #
DELETE /audiences/{audience_id} Delete an audience #
GET /audiences/{audience_id}/members List audience members #
GET /audiences List all audiences #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/courier-audiences-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

courier-audiences-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Courier Audiences API
  description: The Courier REST API.
  version: '1.0'
servers:
- url: https://api.courier.com
  description: Production
tags:
- name: Audiences
paths:
  /audiences/{audience_id}:
    get:
      description: Returns the specified audience by id.
      operationId: audiences_get
      tags:
      - Audiences
      parameters:
      - name: audience_id
        in: path
        description: A unique identifier representing the audience_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Audience'
      summary: Get an audience
      security:
      - BearerAuth: []
    put:
      description: Creates or updates audience.
      operationId: audiences_update
      tags:
      - Audiences
      parameters:
      - name: audience_id
        in: path
        description: A unique identifier representing the audience id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AudienceUpdateResponse'
      summary: Update an audience
      security:
      - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type:
                  - string
                  - 'null'
                  description: The name of the audience
                description:
                  type:
                  - string
                  - 'null'
                  description: A description of the audience
                operator:
                  $ref: '#/components/schemas/LogicalOperator'
                  description: The logical operator (AND/OR) for the top-level filter
                filter:
                  $ref: '#/components/schemas/AudienceFilterConfig'
    delete:
      description: Deletes the specified audience.
      operationId: audiences_delete
      tags:
      - Audiences
      parameters:
      - name: audience_id
        in: path
        description: A unique identifier representing the audience id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
      summary: Delete an audience
      security:
      - BearerAuth: []
  /audiences/{audience_id}/members:
    get:
      description: Get list of members of an audience.
      operationId: audiences_listMembers
      tags:
      - Audiences
      parameters:
      - name: audience_id
        in: path
        description: A unique identifier representing the audience id
        required: true
        schema:
          type: string
      - name: cursor
        in: query
        description: A unique identifier that allows for fetching the next set of members
        required: false
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AudienceMemberListResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
      summary: List audience members
      security:
      - BearerAuth: []
  /audiences:
    get:
      description: Get the audiences associated with the authorization token.
      operationId: audiences_listAudiences
      tags:
      - Audiences
      parameters:
      - name: cursor
        in: query
        description: A unique identifier that allows for fetching the next set of audiences
        required: false
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AudienceListResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
      summary: List all audiences
      security:
      - BearerAuth: []
components:
  schemas:
    BaseError:
      title: BaseError
      type: object
      properties:
        message:
          type: string
          description: A message describing the error that occurred.
      required:
      - message
    AudienceUpdateResponse:
      title: AudienceUpdateResponse
      type: object
      properties:
        audience:
          $ref: '#/components/schemas/Audience'
      required:
      - audience
    Paging:
      title: Paging
      type: object
      properties:
        cursor:
          type:
          - string
          - 'null'
        more:
          type: boolean
      required:
      - more
    AudienceFilterConfig:
      title: AudienceFilterConfig
      type: object
      description: Filter configuration for audience membership containing an array of filter rules
      properties:
        filters:
          type: array
          items:
            $ref: '#/components/schemas/FilterConfig'
          description: Array of filter rules (single conditions or nested groups)
      required:
      - filters
    FilterConfig:
      title: FilterConfig
      type: object
      description: A filter rule that can be either a single condition (with path/value) or a  nested group (with filters array). Use comparison operators (EQ, GT, etc.)  for single conditions, and logical operators (AND, OR) for nested groups.
      properties:
        operator:
          type: string
          description: 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:
          type: string
          description: The attribute path from the user profile to filter on. Required for single  filter conditions, not used for nested filter groups.
        value:
          type: string
          description: The value to compare against. Required for single filter conditions,  not used for nested filter groups.
        filters:
          type: array
          items:
            $ref: '#/components/schemas/FilterConfig'
          description: Nested filter rules to combine with AND/OR. Required for nested filter groups, not used for single filter conditions.
      required:
      - operator
    Audience:
      title: Audience
      type: object
      properties:
        id:
          type: string
          description: A unique identifier representing the audience_id
        name:
          type: string
          description: The name of the audience
        description:
          type: string
          description: A description of the audience
        operator:
          $ref: '#/components/schemas/LogicalOperator'
          description: The logical operator (AND/OR) for the top-level filter
        filter:
          $ref: '#/components/schemas/AudienceFilterConfig'
        created_at:
          type: string
        updated_at:
          type: string
      required:
      - id
      - name
      - description
      - created_at
      - updated_at
    BadRequest:
      title: BadRequest
      type: object
      properties:
        type:
          type: string
          enum:
          - invalid_request_error
      required:
      - type
      allOf:
      - $ref: '#/components/schemas/BaseError'
    AudienceMember:
      title: AudienceMember
      type: object
      properties:
        added_at:
          type: string
        audience_id:
          type: string
        audience_version:
          type: integer
        member_id:
          type: string
        reason:
          type: string
      required:
      - added_at
      - audience_id
      - audience_version
      - member_id
      - reason
    LogicalOperator:
      title: LogicalOperator
      type: string
      enum:
      - AND
      - OR
    AudienceListResponse:
      title: AudienceListResponse
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        items:
          type: array
          items:
            $ref: '#/components/schemas/Audience'
      required:
      - paging
      - items
    AudienceMemberListResponse:
      title: AudienceMemberListResponse
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        items:
          type: array
          items:
            $ref: '#/components/schemas/AudienceMember'
      required:
      - paging
      - items
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer