ZoomInfo Audiences API

The Audiences API from ZoomInfo — 20 operation(s) for audiences.

Operations 30

POST /studio/v1/folders Create New Folder #
GET /studio/v1/folders List Folders #
GET /studio/v1/folders/{folderId} Get Specific Folder #
PATCH /studio/v1/folders/{folderId} Update Folder #
DELETE /studio/v1/folders/{folderId} Delete Specific Folder #
POST /studio/v1/audiences Create New Audience #
GET /studio/v1/audiences List Audiences #
GET /studio/v1/audiences/{audienceId} Fetch Audience #
DELETE /studio/v1/audiences/{audienceId} Delete Audience #
PATCH /studio/v1/audiences/{audienceId} Update Audience #
GET /studio/v1/audiences/{audienceId}/filter-metadata Get Audience Filter Metadata #
POST /studio/v1/audiences/{audienceId}/actions/match-criteria Upsert Column Match Criteria #
POST /studio/v1/audiences/{audienceId}/actions/enrich Enrich Audience #
GET /studio/v1/audiences/{audienceId}/jobs/{jobId} Get Job Status #
POST /studio/v1/audiences/{audienceId}/columns/actions/bulk/create Create New Columns #
GET /studio/v1/audiences/{audienceId}/columns/data-dependencies/{tool} Get Column Data Dependencies #
PATCH /studio/v1/audiences/{audienceId}/columns/{columnId} Update Column #
DELETE /studio/v1/audiences/{audienceId}/columns/{columnId} Delete Column #
GET /studio/v1/audiences/{audienceId}/rows/{rowId} Get Row by ID #
POST /studio/v1/audiences/{audienceId}/rows/actions/search List Rows #
POST /studio/v1/audiences/{audienceId}/rows/actions/upsert Upsert Rows #
POST /studio/v1/audiences/{audienceId}/rows/actions/bulk/upsert Bulk Upsert Rows #
DELETE /studio/v1/audiences/{audienceId}/rows/actions/bulk/delete Delete Rows #
POST /marketing/v1/audiences Creates a new audience #
GET /marketing/v1/audiences Lists all audiences #
GET /marketing/v1/audiences/{audienceId} Gets existing audience by ID #
PUT /marketing/v1/audiences/{audienceId} Updates audience by ID #
DELETE /marketing/v1/audiences/{audienceId} Deletes audience by ID #
POST /marketing/v1/audiences/{audienceId}/uploads Creates new audience upload #
GET /marketing/v1/audiences/{audienceId}/uploads/{uploadId} Gets audience upload status #

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/zoominfo-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 email required.

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

OpenAPI Specification

zoominfo-audiences-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Zoominfo Audiences API
  version: '1.0'
  contact:
    name: ZoomInfo Customer Support
    email: help@zoominfo.com
  description: 'Operations tagged Audiences across 2 of this provider''s published API definitions: zoominfo-gtm-gtm-studio-v1-openapi.json, zoominfo-gtm-marketing-v1-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.zoominfo.com/gtm
  description: Base URL for the GTM Studio API
security:
- OAuth2Auth: []
tags:
- name: Audiences
paths:
  /studio/v1/folders:
    post:
      operationId: Folders_createFolder
      summary: Create New Folder
      description: 'Creates a new folder for organizing audiences in GTM Studio.

        Folders group related audiences together, making it easier to navigate and manage large collections — for example, grouping by campaign, region, or team.

        Specify `name` and optionally set `starred` to `true` to mark the folder for quick access. The folder is created empty; audiences are assigned to it via the Create Audience or Update Audience endpoints using `folderId`.

        Returns `201 Created` with the full folder resource including the system-assigned `folderId` and creation metadata.

        Returns `400` if required fields are missing or invalid.'
      parameters: []
      responses:
        '201':
          description: Created
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/FolderJsonApiModel'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/FolderJsonApiModelCreate'
        description: Request body containing the folder creation details
      security:
      - OAuth2Auth:
        - api:audience:manage
      x-additional-content-types:
      - application/json
      x-api-roles:
      - lim:wkb
    get:
      operationId: Folders_listFolders
      summary: List Folders
      description: 'Retrieves a paginated list of all folders, with optional filtering and sorting.

        Use this endpoint to browse the folder structure or to find a `folderId` before creating or moving an audience.

        Filter by `createdById`, `updatedById`, `searchText` (partial name match), or date ranges (`createdAfter`, `createdBefore`, `updatedAfter`, `updatedBefore`).

        Use `sort` to order results by `name`, `createdAt`, `updatedAt`, `audienceCount`, or `recentlyViewed`; prefix with `-` for descending order (default: `-updatedAt`).

        Use `page[number]` and `page[size]` (default `25`, max `100`) to paginate.

        Returns `200` with a paginated array of folder resources including `audiences` (list of audience IDs in each folder) and navigation links.

        Returns `400` if filter or sort parameters are invalid.'
      parameters:
      - name: page[number]
        in: query
        required: false
        description: Page number for the results.
        schema:
          type: integer
          format: int32
          minimum: 1
          default: 1
        explode: false
      - name: page[size]
        in: query
        required: false
        description: Number of records to return per page. Default is 25.
        schema:
          type: integer
          format: int32
          minimum: 1
          maximum: 100
          default: 25
        explode: false
      - name: sort
        in: query
        required: false
        description: 'Field based on which to sort the results. Use ''-'' prefix for descending order.

          Allowed values: name, createdAt, updatedAt, audienceCount, recentlyViewed'
        schema:
          type: string
          default: -updatedAt
        explode: false
      - name: filter[createdById]
        in: query
        required: false
        description: Filter folders by userId of the creator.
        schema:
          type: array
          items:
            type: integer
            format: uint32
        explode: false
      - name: filter[updatedById]
        in: query
        required: false
        description: Filter folders by userId of the last updated person.
        schema:
          type: array
          items:
            type: integer
            format: uint32
        explode: false
      - name: filter[searchText]
        in: query
        required: false
        description: Search folders by name (partial match).
        schema:
          type: string
        explode: false
      - name: filter[createdAfter]
        in: query
        required: false
        description: 'Filter folders created after a specific date. Eg: 2025-10-10T17:08:00Z'
        schema:
          type: string
          format: date-time
        explode: false
      - name: filter[createdBefore]
        in: query
        required: false
        description: 'Filter folders created before a specific date. Eg: 2025-10-10T17:08:00Z'
        schema:
          type: string
          format: date-time
        explode: false
      - name: filter[updatedAfter]
        in: query
        required: false
        description: 'Filter folders updated after a specific date. Eg: 2025-10-10T17:08:00Z'
        schema:
          type: string
          format: date-time
        explode: false
      - name: filter[updatedBefore]
        in: query
        required: false
        description: 'Filter folders updated before a specific date. Eg: 2025-10-10T17:08:00Z'
        schema:
          type: string
          format: date-time
        explode: false
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/FolderJsonApiList'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      security:
      - OAuth2Auth:
        - api:audience:read
      x-api-roles:
      - lim:wkb
    servers:
    - url: https://api.zoominfo.com/gtm
      description: Base URL for the GTM Studio API
  /studio/v1/folders/{folderId}:
    get:
      operationId: Folders_getFolderById
      summary: Get Specific Folder
      description: 'Retrieves the full state of a single folder by its `folderId`.

        Returns all folder attributes — name, starred status, description, notes, creation and update timestamps, and the list of `audienceId` values contained in the folder.

        Use this endpoint to inspect a folder''s contents before operating on its audiences, or to verify folder state after an update.

        Returns `200` with the folder resource.

        Returns `404` if no folder matches the provided `folderId`.'
      parameters:
      - name: folderId
        in: path
        required: true
        description: The ID of the folder to retrieve.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/FolderJsonApiModel'
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      security:
      - OAuth2Auth:
        - api:audience:read
      x-api-roles:
      - lim:wkb
    patch:
      operationId: Folders_updateFolder
      summary: Update Folder
      description: 'Updates one or more attributes of an existing folder without requiring a full replacement.

        Supported fields: `name`, `starred`, `description`, and `notes`. Only fields present in the request body are modified; all other attributes remain unchanged.

        Use this endpoint to rename a folder, star or unstar it, or update its description and notes.

        Returns `200` with the updated folder resource.

        Returns `404` if no folder matches the provided `folderId`.'
      parameters:
      - name: folderId
        in: path
        required: true
        description: The ID of the folder to update.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/FolderJsonApiModel'
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/UpdateFolderJsonApiModel'
        description: Request body containing the folder update details
      security:
      - OAuth2Auth:
        - api:audience:manage
      x-additional-content-types:
      - application/json
      x-api-roles:
      - lim:wkb
    delete:
      operationId: Folders_deleteFolder
      summary: Delete Specific Folder
      description: 'Permanently deletes a folder from GTM Studio.

        Deleting a folder removes the audiences it contained as well.

        This action is irreversible.

        Returns `204 No Content` on success.

        Returns `404` if no folder matches the provided `folderId`.'
      parameters:
      - name: folderId
        in: path
        required: true
        description: The ID of the folder to delete.
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Success
          content:
            application/vnd.api+json:
              schema: {}
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      security:
      - OAuth2Auth:
        - api:audience:manage
      x-api-roles:
      - lim:wkb
    servers:
    - url: https://api.zoominfo.com/gtm
      description: Base URL for the GTM Studio API
  /studio/v1/audiences:
    post:
      operationId: Audiences_createAudience
      summary: Create New Audience
      description: 'Create a named working list of people (`CONTACT`) or companies (`COMPANY`) to drive a GTM motion — campaign targeting, enrichment runs, outbound sequences, or importing leads from trade shows and events.


        You can define the audience name, audience type (`CONTACT` or `COMPANY`), and the source of the audience.

        Supported audience sources are:

        - `CUSTOM`: audience has no linked source dataset.

        - `ZOOMINFO_PUBLIC_API`: audience is defined by `zoomInfoSearchCriteria`.

        Requests to create audiences can optionally include definitions for columns to be added to the audience.

        If no column definitions are provided, the audience will be created without any columns, and columns may

        be added in the future using the [Create New Columns](ref:columns_addcolumns) endpoint.


        **Folders:** Every audience must live in a folder. Pass `folderId` to place it in an existing folder (use [List Folders](ref:folders_listfolders) to find one). If `folderId` is omitted, GTM Studio automatically creates a new folder with the same name as the audience.


        **Columns:** Define columns up front — they describe the shape of data you intend to load. The `columnId` values returned here are required when loading rows via [Bulk Upsert Rows](ref:rows_upsertrows). Choose `dataType` carefully — it cannot be changed after creation. If `columns` is omitted, the audience is created with no columns; add them later via [Create New Columns](ref:columns_addcolumns) before loading any rows.


        For `zoomInfoSearchCriteria`, use the [Lookup Data](ref:lookupinterface_lookup) endpoint to retrieve valid values.


        Returns `201 Created` with the audience resource.

        Returns `400` if required fields are missing or `type` is invalid.'
      parameters:
      - name: autoMatchCriteria
        in: query
        required: false
        description: When `true`, the system uses AI to automatically infer and apply match criteria mappings for columns (for example, mapping an "Email" column to `CONTACT_EMAIL`). Defaults to `false`. Set to `true` to enable auto-mapping; leave `false` to define match criteria manually.
        schema:
          type: boolean
          default: false
        explode: false
      responses:
        '201':
          description: Created
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/CreateAudienceResponseJsonApiModel'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/AudienceJsonApiModel'
        description: Request body containing the audience creation details
      security:
      - OAuth2Auth:
        - api:audience:manage
      x-additional-content-types:
      - application/json
      x-api-roles:
      - lim:wkb
    get:
      operationId: Audiences_listAudiences
      summary: List Audiences
      description: 'Search and browse all GTM Studio audiences. The primary way to discover an `audienceId` before loading rows, managing columns, or triggering enrichment. Also use this to check what audiences already exist before creating a duplicate.


        **Filters:**

        - `filter[type]`: `CONTACT` or `COMPANY`

        - `filter[searchText]`: case-insensitive partial match on audience name


        **Sorting:** `sort` accepts `name`, `createdAt`, `updatedAt`, or `recordCount`. Prefix with `-` for descending order. Default: `-updatedAt`.


        **Pagination:** `page[number]` (default `1`) and `page[size]` (default `25`, max `100`).


        Returns `200` with a paginated list of audience resources and navigation links.

        Returns `400` if filter or sort parameters are invalid.'
      parameters:
      - name: page[number]
        in: query
        required: false
        description: Page number for the results.
        schema:
          type: integer
          format: int32
          minimum: 1
          default: 1
        explode: false
      - name: page[size]
        in: query
        required: false
        description: Number of records to return per page. Default is 25.
        schema:
          type: integer
          format: int32
          minimum: 1
          maximum: 100
          default: 25
        explode: false
      - name: sort
        in: query
        required: false
        description: 'Field based on which to sort the results. Use ''-'' prefix for descending order.

          Allowed values: name, createdAt, updatedAt, recordCount'
        schema:
          type: string
          default: -updatedAt
        explode: false
      - name: filter[type]
        in: query
        required: false
        description: Filter audiences by record type. `CONTACT` for person-level records; `COMPANY` for account-level records.
        schema:
          $ref: '#/components/schemas/AudienceType'
        explode: false
      - name: filter[searchText]
        in: query
        required: false
        description: Search audiences by name using a case-insensitive contains match.
        schema:
          type: string
        explode: false
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/AudiencesJsonApiList'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      security:
      - OAuth2Auth:
        - api:audience:read
      x-api-roles:
      - lim:wkb
    servers:
    - url: https://api.zoominfo.com/gtm
      description: Base URL for the GTM Studio API
  /studio/v1/audiences/{audienceId}:
    get:
      operationId: Audiences_getAudience
      summary: Fetch Audience
      description: 'Retrieves the full state of a single audience by its `audienceId`.

        Returns all audience attributes — name, type, source origin, current `recordCount`, folder location, creation and update timestamps, and the complete column structure with all column properties.

        Use this endpoint to check audience configuration before writing rows or before running enrichment.

        Returns `200` with the audience resource.

        Returns `404` if no audience matches the provided `audienceId`.'
      parameters:
      - name: audienceId
        in: path
        required: true
        description: The unique identifier for the audience
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ReadAudienceDetailJsonApiModel'
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      security:
      - OAuth2Auth:
        - api:audience:read
      x-api-roles:
      - lim:wkb
    delete:
      operationId: Audiences_deleteAudience
      summary: Delete Audience
      description: 'Permanently deletes an audience and all associated data — rows, column definitions, and enrichment history.

        This action is irreversible; the audience and all its data cannot be recovered after deletion.

        Use this endpoint only when retiring an audience entirely; to remove specific records, use the Delete Rows endpoint instead.

        Returns `204 No Content` on success.

        Returns `404` if no audience matches the provided `audienceId`.'
      parameters:
      - name: audienceId
        in: path
        required: true
        description: The unique identifier for the audience
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Success
          content:
            application/vnd.api+json:
              schema: {}
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      security:
      - OAuth2Auth:
        - api:audience:manage
      x-api-roles:
      - lim:wkb
    patch:
      operationId: Audiences_patchAudience
      summary: Update Audience
      description: 'Updates one or more metadata attributes of an existing audience without requiring a full replacement.

        Supported fields: `name`, `folderId`, `description`, and `notes`. Only fields present in the request body are modified; all other attributes remain unchanged.

        Use this endpoint to rename an audience, move it to a different folder, or update its description or notes.

        Returns `200` with the updated audience resource.

        Returns `400` if the request body is malformed or contains unsupported fields.

        Returns `404` if no audience matches the provided `audienceId`.'
      parameters:
      - name: audienceId
        in: path
        required: true
        description: The unique identifier for the audience
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ReadAudienceJsonApiModel'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/AudienceUpdateJsonApiModel'
        description: Request body containing the audience patch details
      security:
      - OAuth2Auth:
        - api:audience:manage
      x-additional-content-types:
      - application/json
      x-api-roles:
      - lim:wkb
    servers:
    - url: https://api.zoominfo.com/gtm
      description: Base URL for the GTM Studio API
  /studio/v1/audiences/{audienceId}/filter-metadata:
    get:
      operationId: Audiences_getAudienceFilterMetadata
      summary: Get Audience Filter Metadata
      description: 'Returns the available filter operators for each column in the specified audience.

        Use this endpoint before building a filter-based row query to discover which operators — such as `EQUALS`, `CONTAINS`, `NOT_EQUALS` are supported for each column.

        The response includes per-operator configuration: whether multiple values are supported (`isMultipleSupported`), the maximum number of allowed values (`valueCountLimit`), and the minimum character requirement per value for string-based operators (`minCharLimit`).

        Use this metadata to validate filter inputs client-side before sending a List Rows request.

        Returns `200` with a list of `FilterMetadata` objects keyed by `columnId`.

        Returns `404` if no audience matches the provided `audienceId`.'
      parameters:
      - name: audienceId
        in: path
        required: true
        description: The unique identifier for the audience
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/AudienceFilterMetadataJsonApiModel'
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      security:
      - OAuth2Auth:
        - api:audience:read
      x-api-roles:
      - lim:wkb
    servers:
    - url: https://api.zoominfo.com/gtm
      description: Base URL for the GTM Studio API
  /studio/v1/audiences/{audienceId}/actions/match-criteria:
    post:
      operationId: Audiences_upsertMatchCriteria
      summary: Upsert Column Match Criteria
      description: 'Upserts match criteria for the audience''s designated match column (the column used for enrichment matching).

        Match criteria define how audience column values are mapped to ZoomInfo attributes (for example, mapping an "Email" column to `CONTACT_EMAIL`) for enrichment resolution.


        If a request body is provided, the supplied match criteria are applied directly — each entry maps an audience `columnId` to a ZoomInfo attribute field.

        If the request body is omitted or `matchCriteria` is not provided, the system attempts to auto-map match criteria using AI.

        If the match column does not exist, it will be created automatically.


        Existing match criteria on the audience''s match column are replaced by the new values.

        Returns `200` with the updated match column resource.

        Returns `400` if a `columnId` does not exist in the audience or a `mappedTo` value is invalid.

        Returns `404` if no audience matches the provided `audienceId`.'
      parameters:
      - name: audienceId
        in: path
        required: true
        description: The unique identifier for the audience
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ReadColumnJsonApiModel'
        '400':
          description: Bad Request
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '403':
          description: Forbidden
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '404':
          description: Not Found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
        '429':
          description: Too Many Requests
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
      tags:
      - Audiences
      request

# --- truncated at 32 KB (203 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoominfo/refs/heads/main/openapi/zoominfo-audiences-api-openapi.yml