---
title: "Enrich Audience"
method: POST
path: "/studio/v1/audiences/{audienceId}/actions/enrich"
tags: ["Audiences"]
---

# Enrich Audience

`POST /studio/v1/audiences/{audienceId}/actions/enrich`

## Request

- Base URL: `https://api.zoominfo.com/gtm`
- URL: `https://api.zoominfo.com/gtm/studio/v1/audiences/{audienceId}/actions/enrich`
- Auth: OAuth 2
  - Authorization code: `https://login.zoominfo.com`
  - Token URL: `https://okta-login.zoominfo.com/oauth2/default/v1/token` scopes: `api:audience:manage`

Initiates an asynchronous enrichment job that appends ZoomInfo intelligence data to rows in the specified audience.

The request body must include a `scope` field specifying the enrichment target:
- `AUDIENCE`: Enriches all rows in the audience. The `rows` and `columns` fields are optional.
- `ROW`: Enriches specific rows by `rowId`. The `rows` field is required and must contain at least one element. The `columns` field is optional.

This operation is asynchronous. Returns `202 Accepted` with an `EnrichJob` resource containing the job id.
Poll the [Get Async Job Status](ref:jobs_getAsyncJobStatus) endpoint at `GET /v1/audiences/{audienceId}/jobs/{jobId}` using that job id to monitor progress and detect `SUCCEEDED`, `PARTIALLY_SUCCEEDED`, or `FAILED` terminal states.

Returns `202 Accepted` on successful job creation.
Returns `204 No Content` if no rows match the provided scope.
Returns `400` for malformed requests, missing required fields, or invalid scope combinations.
Returns `402` if enrichment cannot be processed for the account.
Returns `404` if no audience matches the provided `audienceId`.

## Path parameters

- `audienceId` string, uuid, required

## Request body

- AudienceEnrichmentJsonApiModel: JSON API model for Audience enrichment request.
  - `data` EnrichAudience, required: Audience enrichment request resource.
    - `type` string, required: The type of the resource
    - `attributes` EnrichAudienceAttributes, required: Defines the scope and targets for an enrichment operation. - If `scope` is `AUDIENCE`, enriches all rows; `rows` and `columns` are optional. - If `scope` is `ROW`, enriches specific rows; `rows` must be provided with at least one element. `columns` is optional.
      - `scope` 'AUDIENCE' | 'ROW', required: Specifies the scope of enrichment operation: `AUDIENCE` enriches all rows, `ROW` enriches specific rows by ID.
      - `rows` string[]: List of `rowId` values to enrich. Required if `scope` is `ROW`; must contain at least one element. Ignored if `scope` is `AUDIENCE`.
      - `columns` string[]: List of `columnId` values to enrich for enrichment operations. Optional and can be provided for any scope value.

## Response `202`

Success

- EnrichJobJsonApiModel: JSON API model for Enrich job response.
  - `data` EnrichJob, required: Enrich async job response resource.
    - `id` string, required: The unique identifier of the resource
    - `type` string, required: The type identifier of the resource

## Other responses

- `204`: Success
- `400`: Bad Request
- `401`: Unauthorized
- `402`: Payment Required
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests

---

[API](https://skmtc.dev/zoominfo/apis/gtm-studio-api-v1.md) - [All operations](https://skmtc.dev/zoominfo/apis/gtm-studio-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/zoominfo/apis/gtm-studio-api-v1/revisions/93a0bebaaac8?raw)
