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 requestBody: required: false content: application/vnd.api+json: schema: $ref: '#/components/schemas/UpsertMatchCriteriaRequestJsonApiModel' description: Request body containing match criteria to apply. If omitted, auto-mapping is attempted for all eligible columns. 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}/actions/enrich: post: operationId: Audiences_enrichAudience summary: Enrich Audience description: '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`.' parameters: - name: audienceId in: path required: true description: The unique identifier for the audience schema: type: string format: uuid responses: '202': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/EnrichJobJsonApiModel' '204': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/EnrichJobJsonApiModel' '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' '402': description: Payment Required 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 requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/AudienceEnrichmentJsonApiModel' description: Request body containing the enrichment 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}/jobs/{jobId}: get: operationId: Audiences_getJobStatus summary: Get Job Status description: 'Returns the current status and progress of any previously initiated asynchronous job for an audience. Covers all job types: `AUDIENCE_CREATE`, `AUDIENCE_ENRICH`, and `ROW_UPSERT`. Provide the `audienceId` and `jobId` returned by the originating operation. The response includes the job status — one of `SCHEDULED` (queued), `RUNNING` (actively processing), `SUCCEEDED` (finished successfully), `PARTIALLY_SUCCEEDED` (completed with some failures), `FAILED` (terminated with errors), or `CANCELLED` — and a `percentProgress` value. Returns `200` with the job status resource. Returns `404` if the `audienceId` or `jobId` does not exist.' parameters: - name: audienceId in: path required: true description: The unique identifier for the audience. schema: type: string format: uuid - name: jobId in: path required: true description: The unique identifier for the job. schema: type: string format: uuid responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/JobStatusResponseJsonApiModel' '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}/columns/actions/bulk/create: post: operationId: Columns_addColumns summary: Create New Columns description: 'Add columns to an audience to define the shape of data it holds. Do this before loading rows — `columnId` values returned here are required by [Bulk Upsert Rows](ref:rows_upsertrows). Choose `dataType` carefully — it cannot be changed after creation. **Supported `dataType` values for `CUSTOM` columns:** - Text: `TEXT` (short labels, names, <2000 chars), `LARGE_TEXT` (notes, descriptions, >2000 chars) - Contact data: `EMAIL` (single address), `PHONE` (single number), `URL` (website or domain) - Numbers: `INTEGER` (whole numbers), `DECIMAL` (floating-point), `PERCENT`, `CURRENCY` - Boolean: `BOOLEAN`, `CHECKBOX` - Dates: `DATE` (calendar date, no time component) - Arrays: `STRING_LIST`, `NUMBER_LIST`, `EMAIL_LIST`, `PHONE_LIST`, `URL_LIST` - Structured: `OBJECT` (JSON) **Column types:** - `CUSTOM` — Values you load directly via Bulk Upsert Rows. Requires `name` and `dataType`. - `FORMULA` — Values computed from a `prompt` expression evaluated across other columns in the audience. - `AI` — Values generated by a ZoomInfo AI tool. Requires `prompt`. Optionally specify `tool` (`AI_DATA_ANALYSIS`, `AI_WEB_RESEARCH`, `AI_CONVERSATION_INTELLIGENCE`, `AI_EMAILER`) and `dataDependencies` (other column IDs or knowledge base sources for grounding). Use [Get Column Data Dependencies](ref:columns_getsupporteddatadependencies) to discover valid context sources. - `ZOOMINFO_MATCH` — Values populated by ZoomInfo enrichment matching. Accepts only `ZI_CONTACT_ID` or `ZI_COMPANY_ID` as `dataType`. Configure match criteria via [Upsert Column Match Criteria](ref:audiences_upsertmatchcriteria) after creation. Returns `201 Created` with all column resources including system-assigned `columnId` values and read-only behavior flags (`isDeletable`, `isEditable`, `isFilterable`, `isSortable`). Returns `400` if required fields are missing or `dataType` 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: '201': description: Created content: application/vnd.api+json: schema: $ref: '#/components/schemas/ReadColumnListJsonApiModel' '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 requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/ColumnJsonApiModel' description: Request body containing the column creation 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}/columns/data-dependencies/{tool}: get: operationId: Columns_getSupportedDataDependencies summary: Get Column Data Dependencies description: 'Returns the available data dependencies for AI-powered columns so clients can build valid prompts and grounding context before creating the column. This endpoint solves data dependency discovery for AI workflows by listing which audience columns and knowledge sources can be used as context for the selected AI column type. Use this to discover valid context sources, validate that selected context is supported, and choose relevant data dependencies that improve AI-generated output quality. Response entries include data dependency identifiers, display names, data types, and whether the source comes from an audience column (`COLUMN`) or from a knowledge source (`KNOWLEDGE_BASE`). Returns `200 OK` with the list of supported data dependencies for the requested `tool`. Returns `400` if `tool` is invalid or not supported for data dependency discovery. 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 - name: tool in: path required: true description: AI tool used to retrieve supported data dependencies (`AI_DATA_ANALYSIS`, `AI_WEB_RESEARCH`, `AI_CONVERSATION_INTELLIGENCE`, or `AI_EMAILER`). schema: $ref: '#/components/schemas/AiTool' responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/ColumnDataDependencyListModel' '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 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}/columns/{columnId}: patch: operationId: Columns_patchColumn summary: Update Column description: 'Updates a specific column''s definition within an audience. Supported fields: `name`, `isFrozen`, and `isHidden`. Only fields present in the request body are modified. Use this endpoint to rename a column or toggle its display state. Returns `200` with the updated column resource. Returns `400` if the update is invalid or the column is not editable (`isEditable: false`). Returns `404` if the `audienceId` or `columnId` does not exist.' parameters: - name: audienceId in: path required: true description: The unique identifier for the audience schema: type: string format: uuid - name: columnId in: path required: true description: The unique identifier for the column 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 requestBody: required: true content: application/vnd.api+json: schema: $ref: '#/components/schemas/ColumnUpdateJsonApiModel' description: Request body containing the column update details security: - OAuth2Auth: - api:audience:manage x-additional-content-types: - application/json x-api-roles: - lim:wkb delete: operationId: Columns_deleteColumn summary: Delete Column description: 'Permanently removes a specific column from an audience, including all cell values stored in that column across every row. Only columns where `isDeletable` is `true` can be removed using this endpoint; attempting to delete a non-deletable column returns `400`. This action is irreversible — all data in the deleted column cannot be recovered. Returns `204 No Content` on successful deletion. Returns `400` if the column is not deletable. Returns `404` if the `audienceId` or `columnId` does not exist.' parameters: - name: audienceId in: path required: true description: The unique identifier for the audience schema: type: string format: uuid - name: columnId in: path required: true description: The unique identifier for the column 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/{audienceId}/rows/{rowId}: get: operationId: Rows_getRowById summary: Get Row by ID description: 'Retrieves a single row from an audience by its `rowId`. Returns the full row record including all cell values and their `CellState` — `RESULT` (value present), `BLANK` (no value set), `LOADING` (enrichment in progress), `ERROR` (enrichment failed for this cell), or `NO_RESULT` (enrichment completed but returned no match). To limit the response to specific columns, pass one or more `columnId` values in the `columns` query parameter; if omitted, all columns are returned. Use this endpoint to inspect individual records, verify enrichment results, or retrieve a row before an update operation. Returns `200` with the row resource. Returns `404` if the `audienceId` or `rowId` does not exist.' parameters: - name: audienceId in: path required: true description: The unique identifier for the audience schema: type: string format: uuid - name: rowId in: path required: true description: The unique identifier for the row schema: type: string format: uuid - name: columns in: query required: false description: List of column IDs to include in the response, If provided, only these columns will be returned for each row. schema: type: array items: type: string explode: false responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/RowJsonApiModel' '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}/rows/actions/search: post: operationId: Rows_listRows summary: List Rows description: 'Retrieves rows from an audience with support for filtering, sorting, and pagination. Rows are individual contact or company records; each row contains cells keyed by `columnId`, where each cell reports its `value` and a `CellState` — `RESULT` (value present), `BLANK` (no value set), `LOADING` (enrichment in progress), `ERROR` (enrichment failed for this cell), or `NO_RESULT` (enrichment returned no match). Provide a flat `filters` array in the request body to narrow results by column values and conditions. Use `page[number]` and `page[size]` (default `25`, max `100`) to paginate through results. Use the `sort` query parameter with a `columnId` value and a `-` prefix for descending order. Use the `columns` query parameter to limit which columns are returned per row. Returns `200` with a paginated array of rows and navigation links. Returns `400` if filter criteria are malformed or column references are invalid.' parameters: - name: audienceId in: path required: true description: The unique identifier for the audience schema: type: string format: uuid - 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: 500 default: 25 explode: false - name: sort in: query required: false description: ColumnId based on which to sort the results. Use '-' prefix for descending order. schema: type: string explode: false - name: columns in: query required: false description: List of column IDs to include in the response, If provided, only these columns will be returned for each row. schema: type: array items: type: string explode: false responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetRowsJsonApiModel' '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: false content: application/vnd.api+json: schema: $ref: '#/components/schemas/RowSearchJsonApiModel' description: Request body containing the row search criteria security: - OAuth2Auth: - api:audience:read 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}/rows/actions/upsert: post: operationId: Rows_upsertRows summary: Upsert Rows description: 'Creates and/or updates up to 50 rows in an audience in a single synchronous operation. Each entry in the request body includes cell values keyed by `columnId`. Including a `rowId` updates that existing row; omitting `rowId` creates a new row. Both creates and updates can be combined freely in the same request. Use this endpoint when upserting **50 rows or fewer**. For larger batches (up to 500 rows), use [Bulk Upsert Rows](ref:Rows_upsertRows) at `POST /actions/bulk/upsert` instead. Returns `200` with `data[]` row resources — each entry includes `id`, `type`, and `attributes.values` with full cell details (`columnId`, `value`, `state`, and `errorDetails` when applicable). Returns `400` if the request body is malformed, exceeds 50 rows, or `columnId` references are invalid.' 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/UpsertRowsJsonApiModel' '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' '402': description: Payment Required 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/RowUpsertListApiModel' description: Request body containing up to 50 rows to create or update. Include `id` to update an existing row; omit it to create a new row. 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}/rows/actions/bulk/upsert: post: operationId: Rows_bulkUpsertRows summary: Bulk Upsert Rows description: 'Load records into an audience — create new rows, update existing ones, or mix both in a single call. This is the primary way to populate an audience with GTM data: trade show leads, CRM exports, account lists, enrichment targets. Each row is an array of cell values keyed by `columnId` (use the IDs returned by [Create Audience](ref:audiences_createaudience) or [Create New Columns](ref:columns_addcolumns)). Omit `id` to create a new row; include a `rowId` to update an existing one. Max 500 rows per call. **Cell values:** Each cell''s `value` must match the column''s `dataType`. For example, an `EMAIL` column expects a string like `"user@example.com"`, an `INTEGER` column expects a number, a `STRING_LIST` column expects an array of strings. Sending the wrong shape will result in a validation error. Returns `200` with the full row records including per-cell state: `RESULT` (value present), `BLANK` (no value set), `LOADING` (enrichment in progress), `ERROR` (enrichment failed — check `errorDetails`), or `NO_RESULT` (enrichment found no match). Returns `400` if the request body is malformed or `columnId` references are invalid.' 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/UpsertRowsJsonApiModel' '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' '402': description: Payment Required 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/BulkRowUpsertListApiModel' description: Request body containing rows to create or update. Include `id` (rowId) to update an existing row; omit `id` to create a new row. 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}/rows/actions/bulk/delete: delete: operationId: Rows_deleteRows summary: Delete Rows description: 'Permanently removes multiple rows from an audience in a single bulk operation. Provide an array of `rowId` values in the request body. All row data and associated cell values are deleted and cannot be recovered. Use this endpoint to clean audiences of outdated, duplicate, or irrelevant records. To delete the entire audience, use the Delete Audience endpoint instead. This operation is asynchronous. Returns `202 Accepted` with a `jobId`. Poll the [Get Async Job Status](ref:jobs_getAsyncJobStatus) endpoint at `GET /v1/audiences/{audienceId}/jobs/{jobId}` using that `jobId` to confirm all rows have been removed. Returns `400` if the request body is malformed or `rowId` values are invalid.' parameters: - name: audienceId in: path required: true description: The unique identifier for the audience schema: type: string format: uuid responses: '202': description: Accepted content: application/vnd.api+json: schema: $ref: '#/components/schemas/RowAsyncJobJsonApiModel' '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/DeleteRowJsonApiModel' description: Request body containing the row deletion 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 /marketing/v1/audiences: post: operationId: AudienceInterface_createAudience summary: Creates a new audience description: Creates a new audience. parameters: [] responses: '201': description: Created content: application/vnd.api+json: schema: $ref: '#/components/schemas/AudienceModel' '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/AudienceModelCreate' description: Request body containing the audience creation details security: - OAuth2Auth: - api:audience:manage x-additional-content-types: - application/json x-api-roles: - fea:mcp get: operationId: AudienceInterface_getAudiences summary: Lists all audiences description: Lists all audiences. parameters: - name: pageToken in: query required: false description: The page token to use for pagination schema: type: string explode: false - name: pageSize in: query required: false description: The number of audiences to return per page schema: type: integer format: int32 explode: false responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/GetAudiencesResponse' '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: - fea:mcp servers: - url: https://api.zoominfo.com/gtm description: Base URL for the Marketing API /marketing/v1/audiences/{audienceId}: get: operationId: AudienceInterface_getAudience summary: Gets existing audience by ID description: Gets an existing audience. parameters: - name: audienceId in: path required: true description: The unique identifier of the audience schema: type: string responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/AudienceModel' '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 security: - OAuth2Auth: - api:audience:read x-api-roles: - fea:mcp put: operationId: AudienceInterface_updateAudience summary: Updates audience by ID description: Updates an existing audience. parameters: - name: audienceId in: path required: true description: The unique identifier of the audience schema: type: string responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/AudienceModel' '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/AudienceModelUpdate' description: Request body containing the audience update details security: - OAuth2Auth: - api:audience:manage x-additional-content-types: - application/json x-api-roles: - fea:mcp delete: operationId: AudienceInterface_deleteAudience summary: Deletes audience by ID description: Deletes an existing audience. parameters: - name: audienceId in: path required: true description: The unique identifier of the audience schema: type: string responses: '204': description: Success content: application/vnd.api+json: schema: {} '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 security: - OAuth2Auth: - api:audience:manage x-api-roles: - fea:mcp servers: - url: https://api.zoominfo.com/gtm description: Base URL for the Marketing API /marketing/v1/audiences/{audienceId}/uploads: post: operationId: AudienceInterface_uploadAudience summary: Creates new audience upload description: Create a new audience segment upload. parameters: - name: audienceId in: path required: true description: The unique identifier of the audience schema: type: string responses: '201': description: Created content: application/vnd.api+json: schema: $ref: '#/components/schemas/AudienceUploadModel' '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/AudienceUploadModelCreate' description: Request body containing the audience upload details security: - OAuth2Auth: - api:audience-member:manage x-additional-content-types: - application/json x-api-roles: - fea:mcp servers: - url: https://api.zoominfo.com/gtm description: Base URL for the Marketing API /marketing/v1/audiences/{audienceId}/uploads/{uploadId}: get: operationId: AudienceInterface_getAudienceUpload summary: Gets audience upload status description: Gets the upload status for an existing audience. parameters: - name: audienceId in: path required: true description: The unique identifier of the audience schema: type: string - name: uploadId in: path required: true description: The unique identifier of the audience upload schema: type: string responses: '200': description: Success content: application/vnd.api+json: schema: $ref: '#/components/schemas/AudienceUploadModel' '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 security: - OAuth2Auth: - api:audience-member:manage x-api-roles: - fea:mcp servers: - url: https://api.zoominfo.com/gtm description: Base URL for the Marketing API components: schemas: FolderJsonApiModelCreate: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/FolderCreate' description: The primary data of the document description: JSON API model for Folder. ReadAudienceAttributes: type: object required: - name - recordCount - type - origin properties: name: type: string description: Display name of the audience. description: type: string description: Optional free-text description of the audience's purpose or contents. notes: type: string description: Optional notes about the audience for internal reference. recordCount: type: integer format: int32 description: Total number of rows currently in the audience. Read-only; updated automatically as rows are added or removed. readOnly: true type: allOf: - $ref: '#/components/schemas/AudienceType' description: Record type for this audience. `CONTACT` for person-level records; `COMPANY` for account-level records. Set at creation and cannot be changed. folderId: type: string description: UUID of the folder that contains this audience. If omitted on create, a new folder matching the audience name is created automatically. origin: allOf: - $ref: '#/components/schemas/SourceOrigin' description: The origin of the audience source readOnly: true folderName: type: string description: Display name of the folder that contains this audience. readOnly: true columns: type: array items: $ref: '#/components/schemas/ReadColumn' description: The Columns in the audience readOnly: true description: Audience model representing audience details. GetRowsAttributes: type: object properties: filter: allOf: - $ref: '#/components/schemas/GenericFilterGroupForAudience' description: Filter criteria to narrow down the rows returned. ids: type: array items: type: string description: List of specific Row IDs to retrieve. description: Attributes defining the request parameters for retrieving Rows CellState: type: string enum: - RESULT - BLANK - LOADING - ERROR - NO_RESULT description: Processing state of a cell value within a row. Indicates whether enrichment has run and what the outcome was. x-enumDescriptions: RESULT: A value was successfully retrieved — the cell holds valid data. BLANK: No value has been set — the cell is empty and enrichment has not been attempted. LOADING: Enrichment is currently in progress for this cell — the value is not yet available. ERROR: Enrichment failed for this cell — see `errorDetails` for the reason and whether it is retryable. NO_RESULT: Enrichment completed but returned no data — ZoomInfo found no data for this cell. Operator: type: string enum: - AND - OR FolderJsonApiList: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/Folder' description: The primary data of the document meta: allOf: - $ref: '#/components/schemas/Pagination' description: Non-standard meta information about the document links: allOf: - $ref: '#/components/schemas/FoldersPagingLinks' description: Links related to the primary data description: JSON API model for Folder List. ReadColumnAttributes: type: object required: - name - isDeletable - isEditable - isExportable - isFilterable - isSortable - columnType properties: name: type: string description: Display name of the column shown in the UI and returned in row responses. dataType: allOf: - $ref: '#/components/schemas/ColumnDataType' description: Data type of the column. Optional for AI columns; required for static and ZoomInfo match columns. isDeletable: type: boolean description: Whether this column can be deleted via the Delete Column endpoint. Read-only; set by the system. readOnly: true isEditable: type: boolean description: Whether this column's value can be updated via the Update rows endpoint. Read-only; set by the system. readOnly: true isExportable: type: boolean description: Whether this column's values can be included in data exports. Read-only; set by the system. readOnly: true isFilterable: type: boolean description: Whether this column supports row filtering via the filterCriteria. Read-only; set by the system. readOnly: true isFrozen: type: boolean description: Whether this column is pinned (frozen) to the left in grid views. Optional; defaults to `false`. default: false isHidden: type: boolean description: Whether this column is hidden from grid views. Optional; defaults to `false`. default: false isSortable: type: boolean description: Whether this column supports row sorting via the List Rows endpoint. Read-only; set by the system. readOnly: true columnType: allOf: - $ref: '#/components/schemas/ColumnType' description: Column type indicating the source and type of this column. prompt: type: string description: Formula or AI prompt used to generate values for this column. Returned for `FORMULA` and `AI` columns. tool: allOf: - $ref: '#/components/schemas/AiTool' description: Optional AI tool used to process this AI column. Returned for `AI` columns if a tool was selected. dataDependencies: type: array items: $ref: '#/components/schemas/ColumnContextInput' description: List of data dependencies that provide context to the AI model for this column. Returned for `AI` columns if data dependencies were specified. scriptConfiguration: allOf: - $ref: '#/components/schemas/ScriptConfiguration' description: Optional script configuration for `FORMULA` columns. Includes generated formula language and expression. matchCriteria: type: array items: $ref: '#/components/schemas/MatchCriteria' description: List of match criteria defining how rows are matched against ZoomInfo data. Returned for `ZOOMINFO_MATCH` columns. description: Base attributes shared by all column types in an audience. RowAsyncJob: type: object required: - id - type properties: id: type: string description: The unique identifier of the resource type: type: string description: The type identifier of the resource default: RowAsyncJob pattern: RowAsyncJob description: Row async job response resource. JobResponseStatus: type: object required: - status properties: status: allOf: - $ref: '#/components/schemas/RunStatus' description: Current state of the job. One of `SCHEDULED`, `RUNNING`, `SUCCEEDED`, `PARTIALLY_SUCCEEDED`, `FAILED`, or `CANCELLED`. percentProgress: type: integer format: uint8 minimum: 0 maximum: 100 description: Completion percentage of the job, from `0` to `100`. Not always present for all job types. description: Current status and progress of an asynchronous job. ColumnMeta: type: object required: - createdAt - createdById - createdByName - updatedAt - updatedById - updatedByName properties: createdAt: type: string format: date-time description: The timestamp when the resource was created readOnly: true createdById: type: integer format: uint32 description: Id of the user who created the resource readOnly: true createdByName: type: string description: Name of the user who created the resource readOnly: true updatedAt: type: string format: date-time description: The timestamp when the resource was last updated readOnly: true updatedById: type: integer format: uint32 description: Id of the user who last updated the resource readOnly: true updatedByName: type: string description: Name of the user who last updated the resource readOnly: true description: Metadata for Column model. EnrichAudienceAttributes: type: object required: - scope properties: scope: allOf: - $ref: '#/components/schemas/EnrichmentScope' description: The scope of the enrichment operation. rows: type: array items: type: string description: List of `rowId` values to enrich. Required if `scope` is `ROW`; must contain at least one element. Ignored if `scope` is `AUDIENCE`. columns: type: array items: type: string description: List of `columnId` values to enrich for enrichment operations. Optional and can be provided for any scope value. description: '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.' UpdateFolderJsonApiModel: type: object properties: data: allOf: - $ref: '#/components/schemas/UpdateFolder' description: The primary data of the document description: JSON API model for Folder. ReadAudience: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: Audience pattern: Audience attributes: allOf: - $ref: '#/components/schemas/ReadAudienceAttributes' description: The attributes defining the resource meta: allOf: - $ref: '#/components/schemas/AudienceMeta' description: Non-standard meta information about the resource readOnly: true description: Audience read request resource. ReadAudienceDetailJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/ReadAudienceDetail' description: The primary data of the document description: JSON API model for Audience detail responses. AudienceFilterMetadataJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/AudienceFilterMetadata' description: The primary data of the document description: JSON API model for Audience filter metadata request. AiColumn: type: object required: - name - isDeletable - isEditable - isExportable - isFilterable - isSortable - columnType - prompt properties: name: type: string description: Display name of the column shown in the UI and returned in row responses. dataType: allOf: - $ref: '#/components/schemas/ColumnDataType' description: Data type of the column. Optional for AI columns; required for static and ZoomInfo match columns. isDeletable: type: boolean description: Whether this column can be deleted via the Delete Column endpoint. Read-only; set by the system. readOnly: true isEditable: type: boolean description: Whether this column's value can be updated via the Update rows endpoint. Read-only; set by the system. readOnly: true isExportable: type: boolean description: Whether this column's values can be included in data exports. Read-only; set by the system. readOnly: true isFilterable: type: boolean description: Whether this column supports row filtering via the filterCriteria. Read-only; set by the system. readOnly: true isFrozen: type: boolean description: Whether this column is pinned (frozen) to the left in grid views. Optional; defaults to `false`. default: false isHidden: type: boolean description: Whether this column is hidden from grid views. Optional; defaults to `false`. default: false isSortable: type: boolean description: Whether this column supports row sorting via the List Rows endpoint. Read-only; set by the system. readOnly: true columnType: type: string description: Column type indicating the source and type of this column. default: AI pattern: AI prompt: type: string description: The prompt provided to the AI model to generate values for this column. The prompt can include instructions and guidance on the expected analysis, generation behavior, and output format. tool: allOf: - $ref: '#/components/schemas/AiTool' description: Optional AI tool used to process this AI column. If omitted, the default AI workflow is used. dataDependencies: type: array items: $ref: '#/components/schemas/ColumnContextInput' description: List of data dependencies that provide additional context to the AI model for this column. Each data dependency references an existing audience column or a knowledge base attribute used to guide generation. description: Column model representing an AI column — values are generated by AI. The optional `tool` determines which AI capability is used. ZoomInfo.Core.Foundations.ErrorSourceModel: type: object properties: cookie: type: string description: Identifies the cookie name that caused the issue header: type: string description: Identifies the header name that caused the error pointer: type: string description: An RFC 6901 compliant JSON pointer to the entity in the request body that caused the error parameter: type: string description: The name of the path or query parameter that caused the error Page: type: object required: - size - number properties: size: type: integer format: uint32 description: Number of items per page number: type: integer format: uint32 description: Current page number description: Page details for paginated responses. ColumnInputType: type: string enum: - COLUMN - KNOWLEDGE_BASE description: Defines the type of context input used for AI column generation. x-enumDescriptions: COLUMN: Input source is available in the Audience itself as a column. KNOWLEDGE_BASE: Input source is not available as an Audience column. It is for Account Intelligence or ZoomInfo data. AudienceJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/Audience' description: The primary data of the document description: JSON API model for Audience. CellErrorDetails: type: object required: - summary - description - retryable properties: summary: type: string description: Short human-readable label for the error. description: type: string description: Full explanation of the error — what went wrong and why. retryable: type: boolean description: Whether re-running enrichment for this cell is expected to succeed. If `false`, the error is permanent until the underlying data issue is resolved. description: Describes an error that occurred during enrichment for a specific cell. GenericFilters: type: object oneOf: - $ref: '#/components/schemas/GenericFilterFieldForAudience' discriminator: propertyName: type mapping: Filter: '#/components/schemas/GenericFilterFieldForAudience' Row: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: Row pattern: Row attributes: allOf: - $ref: '#/components/schemas/RowAttributes' description: The attributes defining the resource description: Attributes defining Row. FormulaColumn: type: object required: - name - isDeletable - isEditable - isExportable - isFilterable - isSortable - columnType - prompt properties: name: type: string description: Display name of the column shown in the UI and returned in row responses. dataType: allOf: - $ref: '#/components/schemas/ColumnDataType' description: Data type of the column. Optional for AI columns; required for static and ZoomInfo match columns. isDeletable: type: boolean description: Whether this column can be deleted via the Delete Column endpoint. Read-only; set by the system. readOnly: true isEditable: type: boolean description: Whether this column's value can be updated via the Update rows endpoint. Read-only; set by the system. readOnly: true isExportable: type: boolean description: Whether this column's values can be included in data exports. Read-only; set by the system. readOnly: true isFilterable: type: boolean description: Whether this column supports row filtering via the filterCriteria. Read-only; set by the system. readOnly: true isFrozen: type: boolean description: Whether this column is pinned (frozen) to the left in grid views. Optional; defaults to `false`. default: false isHidden: type: boolean description: Whether this column is hidden from grid views. Optional; defaults to `false`. default: false isSortable: type: boolean description: Whether this column supports row sorting via the List Rows endpoint. Read-only; set by the system. readOnly: true columnType: type: string description: Column type indicating the source and type of this column. default: FORMULA pattern: FORMULA prompt: type: string description: Formula prompt used to generate values for this column. description: Column model representing a formula column — values are generated by a formula prompt. Requires only `name` and `prompt`. ReadAudienceJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/ReadAudience' description: The primary data of the document description: JSON API model for Audience. StringArrayItem: type: array items: type: string description: Represents a list of string values for a field GetRowsJsonApiModel: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/Row' description: The primary data of the document meta: allOf: - $ref: '#/components/schemas/Pagination' description: Non-standard meta information about the document links: allOf: - $ref: '#/components/schemas/RowSearchPagingLinks' description: Links related to the primary data description: JSON API model for get Rows. EnrichmentScope: type: string enum: - AUDIENCE - ROW description: 'Specifies the scope of enrichment operation: `AUDIENCE` enriches all rows, `ROW` enriches specific rows by ID.' x-enumDescriptions: AUDIENCE: Enrich all rows in the audience. ROW: Enrich specific rows identified by `rowId`. AudienceMeta: type: object required: - createdAt - createdById - createdByName - updatedAt - updatedById - updatedByName properties: createdAt: type: string format: date-time description: The timestamp when the resource was created readOnly: true createdById: type: integer format: uint32 description: Id of the user who created the resource readOnly: true createdByName: type: string description: Name of the user who created the resource readOnly: true updatedAt: type: string format: date-time description: The timestamp when the resource was last updated readOnly: true updatedById: type: integer format: uint32 description: Id of the user who last updated the resource readOnly: true updatedByName: type: string description: Name of the user who last updated the resource readOnly: true description: Metadata for Audience model. FolderAttributes: type: object required: - name properties: name: type: string description: Display name of the folder. Required on create. description: type: string description: Optional free-text description of the folder's purpose. notes: type: string description: Optional notes about the folder for internal reference. starred: type: boolean description: Whether the folder is starred for quick access. Optional; defaults to `false`. default: false audiences: type: array items: type: string description: List of `audienceId` values for the audiences contained in this folder. Read-only; updated automatically as audiences are added or moved. readOnly: true description: Attributes for a folder that organizes audiences in GTM Studio. BulkRowUpsertListApiModel: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/UpsertRow' minItems: 1 maxItems: 500 description: The primary data of the document description: JSON API model for bulk upsert Row request. Row `id` is optional — omit to create, provide to update. FolderCreate: type: object required: - type - attributes properties: type: type: string description: The type of the resource default: Folder pattern: Folder attributes: allOf: - $ref: '#/components/schemas/FolderAttributes' description: The attributes defining the resource description: Folder request resource. FilterMetadata: type: object required: - columnId - filterOperators - isFilterable properties: columnId: type: string description: '`columnId` for which the filter metadata applies. This corresponds to the `columnId` values returned in audience details and used in filter criteria for row queries.' filterOperators: type: array items: $ref: '#/components/schemas/FilterOperatorConfig' description: List of filter operators supported for this column, each with its configuration constraints. isFilterable: type: boolean description: Indicates whether this column supports filtering. If `false`, do not include it in filter criteria. description: Filter metadata for a single column — lists which operators are valid and their constraints. RowJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/Row' description: The primary data of the document description: JSON API model for Row. AudienceUpdateJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/UpdateAudience' description: The primary data of the document description: JSON API model for Audience. ReadAudienceDetailAttributes: type: object required: - name - recordCount - type - origin properties: name: type: string description: Display name of the audience. description: type: string description: Optional free-text description of the audience's purpose or contents. notes: type: string description: Optional notes about the audience for internal reference. recordCount: type: integer format: int32 description: Total number of rows currently in the audience. Read-only; updated automatically as rows are added or removed. readOnly: true type: allOf: - $ref: '#/components/schemas/AudienceType' description: Record type for this audience. `CONTACT` for person-level records; `COMPANY` for account-level records. Set at creation and cannot be changed. folderId: type: string description: UUID of the folder that contains this audience. If omitted on create, a new folder matching the audience name is created automatically. origin: allOf: - $ref: '#/components/schemas/SourceOrigin' description: The origin of the audience source readOnly: true folderName: type: string description: Display name of the folder that contains this audience. readOnly: true columns: type: array items: $ref: '#/components/schemas/ReadColumn' description: The Columns in the audience readOnly: true zoomInfoSearchCriteria: allOf: - $ref: '#/components/schemas/ZoomInfoSearchCriteria' description: ZoomInfo search criteria used to define audience targeting. readOnly: true description: Audience attributes returned by detail endpoints. ColumnType: type: string enum: - CUSTOM - CRM_SEARCH - CRM - CSV - FORMULA - ACCOUNT_AI - CONNECTORS - ROUTING - SNOWFLAKE - AI - ZOOMINFO_COPILOT_SIGNALS - ZOOMINFO_AUDIENCE - ZOOMINFO_JOB_POSTINGS - ZOOMINFO_WEBSIGHTS - ZOOMINFO_CONTACT_CHANGES - ZOOMINFO_TECHNOLOGIES - ZOOMINFO_INTENT - IN_MARKET_SCORE - ZOOMINFO_SCOOPS - ZOOMINFO_COMPANY - ZOOMINFO_CONTACT - ZOOMINFO_CUSTOM - ZOOMINFO_MATCH - ZOOMINFO_CONTACT_SEARCH - SIGNALS_AUDIENCE_DEFAULT - JSON_PARSER - REFERENCE_MAPPER - AUDIENCE_LOOKUP - GRAPHQL_AUDIENCE_DEFAULT - GRAPHQL - ACCOUNT_LOOK_ALIKE - CONTACT_LOOK_ALIKE - ZOOMINFO_FEDERATED_SEARCH ReadColumn: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: Column pattern: Column attributes: allOf: - $ref: '#/components/schemas/ReadColumnAttributes' description: The attributes defining the resource meta: allOf: - $ref: '#/components/schemas/ColumnMeta' description: Non-standard meta information about the resource readOnly: true description: Column Read resource model. UpdateFolderAttributes: type: object properties: name: type: string description: Display name of the folder. Required on create. description: type: string description: Optional free-text description of the folder's purpose. notes: type: string description: Optional notes about the folder for internal reference. starred: type: boolean description: Whether the folder is starred for quick access. Optional; defaults to `false`. default: false description: Attributes for a folder that organizes audiences in GTM Studio. FoldersPagingLinks: type: object properties: first: type: string format: uri description: A link to the first page of data last: type: string format: uri description: A link to the last page of data prev: type: string format: uri description: A link to the previous page of data next: type: string format: uri description: A link to the next page of data description: Paging links for Folder list. CustomAudienceAttributes: type: object required: - name - type - origin properties: name: type: string description: Display name of the audience. description: type: string description: Optional free-text description of the audience's purpose or contents. notes: type: string description: Optional notes about the audience for internal reference. type: allOf: - $ref: '#/components/schemas/AudienceType' description: Record type for this audience. `CONTACT` for person-level records; `COMPANY` for account-level records. Set at creation and cannot be changed. folderId: type: string description: UUID of the folder that contains this audience. If omitted on create, a new folder matching the audience name is created automatically. zoomInfoSearchCriteria: allOf: - $ref: '#/components/schemas/ZoomInfoSearchCriteria' description: ZoomInfo search criteria used to define audience targeting. columns: type: array items: $ref: '#/components/schemas/CreateColumnDuringAudienceCreationCreateItem' description: The Columns in the audience origin: type: string description: The origin of the audience source default: CUSTOM pattern: CUSTOM description: Audience model representing audience details. RowAsyncJobJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/RowAsyncJob' description: The primary data of the document description: JSON API model for Row async job response. ZoomInfo.Core.Foundations.ErrorResponseModel: type: object required: - errors properties: detail: type: string description: A high-level detail of the error(s) that occurred during the request title: type: string description: A high-level summary of the error(s) detected errors: type: array items: $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorModel' description: The list of errors raised during the request description: The standard error response body model for the ZoomInfo API. EnrichJob: type: object required: - id - type properties: id: type: string description: The unique identifier of the resource type: type: string description: The type identifier of the resource default: EnrichJob pattern: EnrichJob description: Enrich async job response resource. FilterMetadataAttributes: type: object required: - filterMetadata properties: filterMetadata: type: array items: $ref: '#/components/schemas/FilterMetadata' description: List of filter metadata for each column. description: Filter metadata model representing the filter configuration and types allowed for each column. ReadAudienceDetail: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: Audience pattern: Audience attributes: allOf: - $ref: '#/components/schemas/ReadAudienceDetailAttributes' description: The attributes defining the resource meta: allOf: - $ref: '#/components/schemas/AudienceMeta' description: Non-standard meta information about the resource readOnly: true description: Audience read detail request resource. ColumnAttributes: type: object oneOf: - $ref: '#/components/schemas/StaticColumn' - $ref: '#/components/schemas/FormulaColumn' - $ref: '#/components/schemas/ZoominfoMatchColumn' - $ref: '#/components/schemas/AiColumn' discriminator: propertyName: columnType mapping: CUSTOM: '#/components/schemas/StaticColumn' FORMULA: '#/components/schemas/FormulaColumn' ZOOMINFO_MATCH: '#/components/schemas/ZoominfoMatchColumn' AI: '#/components/schemas/AiColumn' description: 'CUSTOM - Column model representing static column in an audience. FORMULA - Column model representing a formula-based column where values are generated from a prompt. AI - Column model representing an AI-powered column where values are generated using a prompt, optional tool selection, and optional data dependency context. ZOOMINFO_MATCH - Column model representing a ZoomInfo match column — values are populated by matching rows against ZoomInfo''s database using defined criteria. This Column accepts only ZI_COMPANY_ID or ZI_CONTACT_ID as data type since these columns are used for matching against ZoomInfo data and these are the only supported data types for matching.' UpdateFolder: type: object properties: type: type: string description: The type of the resource default: Folder pattern: Folder attributes: allOf: - $ref: '#/components/schemas/UpdateFolderAttributes' description: The attributes defining the resource description: Folder request resource. RowAttributes: type: object required: - values properties: values: type: array items: $ref: '#/components/schemas/CellDetails' description: Array of cell details for this row. Each entry corresponds to one column identified by `columnId`. description: Contains all cell data for a row, organized as an array of `CellDetails` objects — one per column. UpsertMatchCriteriaRequestJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/UpsertMatchCriteriaRequest' description: The primary data of the document description: JSON API model for upsert match criteria request. ContactsEmploymentHistory: type: object required: - companyName - jobTitle properties: companyName: type: string description: Company name of past employment. jobTitle: type: string description: Job title at past employment. description: Employment history criteria used in contact search. FolderJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/Folder' description: The primary data of the document description: JSON API model for Folder. ReadColumnJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/ReadColumn' description: The primary data of the document description: JSON API model for read Column. ZoomInfo.Core.Foundations.ErrorModel: type: object required: - id - code - status properties: id: type: string description: The unique id used to identify this specific error instance code: type: string description: The error code describing the error category. A full list of error codes can be found in the documentation for each service detail: type: string description: Message containing the specific details about this occurrence of the error source: allOf: - $ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorSourceModel' description: An optional object identifying which part of the request caused the error status: type: string description: The HTTP status code for the error title: type: string description: The error name that describes this type of error description: The object describing a specific error from the API FormulaExpressionLanguage: type: string enum: - JAVASCRIPT description: Supported expression languages for formula columns. x-enumDescriptions: JAVASCRIPT: JavaScript expression language. ZoomInfoSearchCriteria: type: object properties: companySearch: allOf: - $ref: '#/components/schemas/ZoomInfo.SearchCriteria.CompanySearch' description: Company search configuration. Required for `COMPANY` audiences; optional for `CONTACT` audiences. contactSearch: allOf: - $ref: '#/components/schemas/ZoomInfo.SearchCriteria.ContactSearch' description: Contact search configuration. Required for `CONTACT` audiences; optional for `COMPANY` audiences. description: 'ZoomInfo search criteria configuration for audience targeting. At least one of `companySearch` or `contactSearch` must be provided. - For `COMPANY` audiences, `companySearch` is required; `contactSearch` is optional. - For `CONTACT` audiences, `contactSearch` is required; `companySearch` is optional. Use the [Lookup Data](ref:lookupinterface_lookup) endpoint to retrieve valid values where applicable.' NumericArray: type: array items: type: number description: Represents a list of numeric values for a field RunStatus: type: string enum: - SCHEDULED - RUNNING - SUCCEEDED - PARTIALLY_SUCCEEDED - FAILED - CANCELLED description: Terminal and in-progress states for an asynchronous job. x-enumDescriptions: SCHEDULED: Job is queued and has not started processing yet. RUNNING: Job is actively processing. SUCCEEDED: Job completed successfully — all operations finished without errors. PARTIALLY_SUCCEEDED: Job completed but some operations failed — check individual results for details. FAILED: Job terminated with errors — no operations completed successfully. CANCELLED: Job was cancelled before completion. ColumnAttributesForAudienceCreate: type: object oneOf: - $ref: '#/components/schemas/StaticColumn' discriminator: propertyName: columnType mapping: CUSTOM: '#/components/schemas/StaticColumn' description: 'Only Some columns can be created while creating an audience, so we are having a separate model to represent it For example ZoomInfo Match columns are created based on the match criteria defined by the user based on other columns, Without the other columns we cannot create the match columns, so we will not have the option to create match columns while creating an audience, but only after the audience is created and other columns are created then only we can create the match columns, that''s why we have a separate model for column creation' EnrichJobJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/EnrichJob' description: The primary data of the document description: JSON API model for Enrich job response. EnrichAudience: type: object required: - type - attributes properties: type: type: string description: The type of the resource default: AudienceEnrichment pattern: AudienceEnrichment attributes: allOf: - $ref: '#/components/schemas/EnrichAudienceAttributes' description: The attributes defining the resource description: Audience enrichment request resource. ReadColumnListJsonApiModel: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/ReadColumn' description: The primary data of the document description: JSON API model for read Column. ColumnContextInput: type: object required: - id - type properties: id: type: string description: The `columnId` of an existing column in the audience whose values should be included as context for the AI when generating values for the column, OR the `id` of a knowledge base attribute configured. type: allOf: - $ref: '#/components/schemas/ColumnInputType' description: The type of context input. Can be either an existing column (`COLUMN`) or a knowledge base (`KNOWLEDGE_BASE`). description: Defines a context input for an AI column, referencing either an existing column in the audience or a knowledge base attribute. This context is used to inform the AI's analysis or generation when producing values for the column. ZoomInfo.SearchCriteria.CompanySearch: type: object properties: marketingDepartmentBudgetMin: type: integer format: int32 description: Minimum marketing department budget amount in thousands (e.g., 1 = 1000, 500 = 500,000). Minimum value is 0, maximum value is 2147483647 (approximately 2 trillion). marketingDepartmentBudgetMax: type: integer format: int32 description: Maximum marketing department budget amount in thousands (e.g., 1 = 1000, 500 = 500,000). Minimum value is 0, maximum value is 2147483647 (approximately 2 trillion). financeDepartmentBudgetMin: type: integer format: int32 description: Minimum finance department budget amount in thousands (e.g., 1 = 1000, 500 = 500,000). Minimum value is 0, maximum value is 2147483647 (approximately 2 trillion). financeDepartmentBudgetMax: type: integer format: int32 description: Maximum finance department budget amount in thousands (e.g., 1 = 1000, 500 = 500,000). Minimum value is 0, maximum value is 2147483647 (approximately 2 trillion). itDepartmentBudgetMin: type: integer format: int32 description: Minimum information technology department budget amount in thousands (e.g., 1 = 1000, 500 = 500,000). Minimum value is 0, maximum value is 2147483647 (approximately 2 trillion). itDepartmentBudgetMax: type: integer format: int32 description: Maximum information technology department budget amount in thousands (e.g., 1 = 1000, 500 = 500,000). Minimum value is 0, maximum value is 2147483647 (approximately 2 trillion). hrDepartmentBudgetMin: type: integer format: int32 description: Minimum human resources department budget amount in thousands (e.g., 1 = 1000, 500 = 500,000). Minimum value is 0, maximum value is 2147483647 (approximately 2 trillion). hrDepartmentBudgetMax: type: integer format: int32 description: Maximum human resources department budget amount in thousands (e.g., 1 = 1000, 500 = 500,000). Minimum value is 0, maximum value is 2147483647 (approximately 2 trillion). certified: type: integer format: int32 description: Denotes if ZoomInfo's research and data team has confirmed activity within the past 12 months. 1 = certified, 0 = not certified. excludeDefunctCompanies: type: boolean description: Defaults to false. Set true to exclude defunct companies from results. businessModel: type: array items: type: string description: Search using Business Model (B2C, B2B, B2G) for a company. Default is All. underManagement: type: boolean description: Returns whether or not record is under management if set to true. companyTicker: type: array items: type: string description: Company stock ticker symbol. companyDescription: type: string description: Search for companies based on description. Accepts a space-separated list of individual words. companyType: type: string description: Company type (private, public, etc.). Accepts a comma-separated list of types. address: type: string description: Full Company Address. street: type: string description: Street address portion of the company's location. state: type: string description: State or province of the company's address. zipCode: type: string description: Zip Code or Postal Code of the company's address. country: type: string description: Country of the primary address of the associated company. continent: type: string description: Continent of the primary address of the associated company. zipCodeRadiusMiles: type: integer format: int16 description: Used in conjunction with zipCode, designates a geographical radius (in miles) from the zipCode provided. Supported values are [10, 25, 50, 100, 250] hashTagString: type: string description: Hash tags for a company. Can include a comma-separated list. techAttributeTagList: type: string description: Technology Product Tags. Can include a comma-separated list. primaryIndustriesOnly: type: boolean description: Default is false. Used in conjunction with the industryCodes input parameter. When set to true, any result returned must have one of the specified industries as a primary industry. If no industries are specified, then this parameter will be ignored. subUnitTypes: type: string description: Company sub types (e.g., division, subsidiary). Use this in conjunction with parentId or ultimateParentId. industryCodes: type: string description: Top-level industry that the contact works in. A contact can have multiple top level industries. Tags are based on the contact's current company. Can include a comma-separated list. industryKeywords: type: string description: Industry keywords associated with a company. Can include either 'AND' or 'OR' operators. For example, 'software AND security' or 'software OR security' sicCodes: type: string description: The Standard Industrial Classification is a system for classifying industries by a four-digit code numerical assigned by the U.S. government to business establishments to identify the primary business of the establishment. Accepts a comma-separated list. naicsCodes: type: string description: Four-digit numerical codes assigned by the U.S. government to business establishments to identify the primary business of the establishment. Accepts a comma-separated list of values. revenue: type: string description: Annual revenue range in U.S. dollars. Accepts a comma-separated list of values. revenueMin: type: integer format: int32 description: Minimum annual revenue for a company in U.S. dollars (expressed in thousands). Use with revenueMax to set a range. revenueMax: type: integer format: int32 description: Maximum annual revenue for a company in U.S. dollars (expressed in thousands). Use with revenueMin to set a range. employeeRangeMin: type: string description: Minimum employee count for a company. Use with employeeRangeMax to set a range. Alternatively, you can use the employeeCount parameter to search for pre-defined ranges. employeeRangeMax: type: string description: Maximum employee count for a company. Use with employeeRangeMin to set a range. Alternatively, you can use the employeeCount parameter to search for pre-defined ranges. employeeCount: type: string description: Employee count range. Accepts a comma-separated list of values. Alternatively, for more granular ranges, you can use the employeeRangeMin and employeeRangeMax parameters. companyRanking: type: string description: Company ranking (e.g., Fortune 500). Accepts a comma-separated list of IDs. metroRegion: type: string description: Company metro area. Accepts a comma-separated list of U.S. and Canada metro areas. locationSearchType: type: string description: Location type (PersonOrHQ, PersonAndHQ, Person, HQ, PersonThenHQ). fundingAmountMin: type: integer format: int32 description: Minimum funding amount in thousands (e.g., 1 = 1000, 500 = 500,000). If fundingAmountMin is used without fundingAmountMax, the result will be the amount specified or greater. fundingAmountMax: type: integer format: int32 description: Maximum funding amount in thousands (e.g., 1 = 1000, 500 = 500,000). If fundingAmountMax is used without fundingAmountMin, the result will be the amount specified or less. fundingStartDate: type: string format: date description: Start date of the funding in YYYY-MM-DD format. If fundingStartDate and fundingEndDate are both specified, they will be used as a range. Start date after end date returns an error. If start date and end date are the same, will return results for exact date. fundingEndDate: type: string format: date description: End date of the funding in YYYY-MM-DD format. If fundingStartDate and fundingEndDate are both specified, they will be used as a range. Start date after end date returns an error. If start date and end date are the same, will return results for exact date. recentFundingRoundTypes: type: array items: type: string description: 'Filters for companies whose most recent funding round matches one of the given types. Accepts an array of values from the endpoint: /lookup/funding-round-types. This is a different filter mode than allFundingRoundTypes (which matches any round in the company''s history), so only one of the two should be supplied per request.' allFundingRoundTypes: type: array items: type: string description: 'Filters for companies that have had any funding round (at any point in their history) matching one of the given types. Accepts an array of values from the endpoint: /lookup/funding-round-types. This is a different filter mode than recentFundingRoundTypes (which matches only the most recent round), so only one of the two should be supplied per request.' zoominfoContactsMin: type: string description: Minimum number of ZoomInfo contacts associated with company. zoominfoContactsMax: type: string description: Maximum number of ZoomInfo contacts associated with company. excludedRegions: type: string description: Accepts a comma-separated list of U.S. and Canada states and metro areas. Companies from any of these regions will be excluded from search results. companyStructureIncludedSubUnitTypes: type: string description: Company hierarchical structure values. Accepts a comma-separated list of values from 'UNSPECIFIED', 'LOCATION', 'DIVISION', 'ACQUISITION', 'SUBSIDIARY', 'FORMER_NEW_NAME'. oneYearEmployeeGrowthRateMin: type: string description: Minimum one year employee growth rate for a company. Use with oneYearEmployeeGrowthRateMax to set a range. oneYearEmployeeGrowthRateMax: type: string description: Maximum one year employee growth rate for a company. Use with oneYearEmployeeGrowthRateMin to set a range. twoYearEmployeeGrowthRateMin: type: string description: Minimum two year employee growth rate for a company. Use with twoYearEmployeeGrowthRateMax to set a range. twoYearEmployeeGrowthRateMax: type: string description: Maximum two year employee growth rate for a company. Use with twoYearEmployeeGrowthRateMin to set a range. parentId: type: string description: ZoomInfo Company ID for parent company. ultimateParentId: type: string description: Company sub types (e.g., division, subsidiary). Use this in conjunction with parentId or ultimateParentId. companyId: type: string description: Unique ZoomInfo identifier for a company. companyName: type: string description: Company name. companyWebsite: type: string description: Company website URL in http://www.example.com format. Accepts a comma-separated list. engagementStartDate: type: string format: date description: Engagement start date in YYYY-MM-DD format. engagementEndDate: type: string format: date description: Engagement end date in YYYY-MM-DD format. EngagementStartDate is required. engagementType: type: array items: type: string description: List of engagement types to search for. Accepted values are 'email', 'phone', 'online meeting'. Accepts a comma-separated list of these values. excludeTechAttributeTagList: type: string description: Exclude companies with these technology product tags. String can be one value ('131315') or a comma-separated list which is treated as OR logic ('131315, 132222'). Individual values can also include AND logic ('131315 AND 131301, 132222'). This last example would be evaluated as ((131201 AND 131301) OR 132222). description: Company search configuration. CellDetails: type: object required: - columnId - value - state properties: columnId: type: string description: The `columnId` identifying which column this cell belongs to. value: anyOf: - type: string - type: number - type: boolean - $ref: '#/components/schemas/StringArrayItem' - $ref: '#/components/schemas/NumericArrayItem' description: The cell's current value. Type must match the column's `dataType`. Provide on create/update; returned on read. This could be of datatypes `string`, `number`, `boolean`, `string array`, `numeric array`, `JsonString(JsonObject, JsonArrayOfObjects)` depending on the column definition state: allOf: - $ref: '#/components/schemas/CellState' description: Processing state of this cell. One of `RESULT`, `BLANK`, `LOADING`, `ERROR`, or `NO_RESULT`. Read-only. readOnly: true errorDetails: allOf: - $ref: '#/components/schemas/CellErrorDetails' description: Populated only when `state` is `ERROR`. Contains the error reason and whether re-running enrichment is expected to succeed. readOnly: true description: Defines the data and processing state for a single cell within a row. AudienceFilterMetadata: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: AudienceFilterMetadata pattern: AudienceFilterMetadata attributes: allOf: - $ref: '#/components/schemas/FilterMetadataAttributes' description: The attributes defining the resource description: Audience filter metadata request resource. ZoomInfoPublicApiAudienceAttributes: type: object required: - name - type - origin properties: name: type: string description: Display name of the audience. description: type: string description: Optional free-text description of the audience's purpose or contents. notes: type: string description: Optional notes about the audience for internal reference. type: allOf: - $ref: '#/components/schemas/AudienceType' description: Record type for this audience. `CONTACT` for person-level records; `COMPANY` for account-level records. Set at creation and cannot be changed. folderId: type: string description: UUID of the folder that contains this audience. If omitted on create, a new folder matching the audience name is created automatically. zoomInfoSearchCriteria: allOf: - $ref: '#/components/schemas/ZoomInfoSearchCriteria' description: ZoomInfo search criteria used to define audience targeting. columns: type: array items: $ref: '#/components/schemas/CreateColumnDuringAudienceCreationCreateItem' description: The Columns in the audience origin: type: string description: The origin of the audience source default: ZOOMINFO_PUBLIC_API pattern: ZOOMINFO_PUBLIC_API description: Audience model representing audience details. GenericFilterGroupForAudience: type: object required: - operator properties: operator: allOf: - $ref: '#/components/schemas/Operator' description: The logical operator to combine filters (AND or OR) filters: type: array items: $ref: '#/components/schemas/GenericFilters' description: The list of filter items in this group description: Represents a group of filters combined with a logical operator (AND/OR) ColumnJsonApiModel: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/Column' description: The primary data of the document description: JSON API model for create Column. MatchCriteria: type: object required: - columnId - mappedTo properties: columnId: type: string description: The `columnId` of the audience column whose value is used as the match input. mappedTo: allOf: - $ref: '#/components/schemas/MatchFields' description: The ZoomInfo attribute this column maps to. For company audiences use fields that are supported for company records; for contact audiences use fields that are supported for contact records. description: Defines a single match criterion that maps an audience column to a ZoomInfo attribute for row matching during enrichment. ColumnDataType: type: string enum: - TEXT - BOOLEAN - DATE - STRING_LIST - NUMBER_LIST - EMAIL_LIST - PHONE_LIST - PHONE - EMAIL - LARGE_TEXT - INTEGER - DECIMAL - OBJECT - URL - URL_LIST - CHECKBOX - PERCENT - OPAQUE_IDENTIFIER - ORDINAL_IDENTIFIER - REFERENCE - PICKLIST - MULTIPICKLIST - CURRENCY - ZI_CONTACT_ID - ZI_COMPANY_ID - MARKUP x-enumDescriptions: TEXT: Text data type representing short text values <2000 characters. BOOLEAN: Boolean data type representing true/false values. DATE: Date data type representing date values. STRING_LIST: String list data type representing a list of string values. NUMBER_LIST: Number list data type representing a list of numeric values. EMAIL_LIST: Email list data type representing a list of email addresses. PHONE_LIST: Phone list data type representing a list of phone numbers. PHONE: Phone data type representing a single phone number. EMAIL: Email data type representing a single email address. LARGE_TEXT: Large text data type representing long text values that could be more than 2000 characters also. INTEGER: Integer data type representing whole number values. DECIMAL: Decimal data type representing decimal number values. OBJECT: Object data type representing complex nested data structures. URL: URL data type representing web addresses. URL_LIST: List of URLs data type representing multiple web addresses. CHECKBOX: Checkbox data type representing boolean values. PERCENT: Percentage data type representing percentage values. OPAQUE_IDENTIFIER: Id Field data type representing identifiers in string format. ORDINAL_IDENTIFIER: Identifier data type representing identifiers in numeric format. REFERENCE: Datatype representing which is linked to another entity. PICKLIST: Picklist data type representing a predefined list of selectable options. MULTIPICKLIST: Multi-picklist data type representing multiple selectable options from a predefined list. CURRENCY: Currency data type representing monetary values. ZI_CONTACT_ID: ZoomInfo Contact ID data type representing unique identifiers for contacts. ZI_COMPANY_ID: ZoomInfo Company ID data type representing unique identifiers for companies. MARKUP: Markup data type representing formatted text or HTML content. StringArray: type: array items: type: string description: Represents a list of string values for a field ColumnDataDependency: type: object required: - id - name - dataType - type properties: id: type: string description: The unique identifier for the data dependency name: type: string description: The name of the data dependency description: type: string description: The description of the data dependency dataType: allOf: - $ref: '#/components/schemas/ColumnDataType' description: The data type of the data dependency type: allOf: - $ref: '#/components/schemas/ColumnInputType' description: The source category for this context input. `COLUMN` means an existing audience column; `KNOWLEDGE_BASE` means an external knowledge source available to AI. description: Defines a supported data dependency for a selected AI column type. JobStatusResponse: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: JobStatus pattern: JobStatus attributes: allOf: - $ref: '#/components/schemas/JobResponseStatus' description: The attributes defining the resource description: Job status resource. RowUpsertListApiModel: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/UpsertRow' minItems: 1 maxItems: 50 description: The primary data of the document description: JSON API model for synchronous upsert Row request (≤ 50 rows). Row `id` is optional — omit to create, provide to update. UpdateAudience: type: object required: - type - attributes properties: type: type: string description: The type of the resource default: Audience pattern: Audience attributes: allOf: - $ref: '#/components/schemas/UpdateAudienceAttributes' description: The attributes defining the resource description: Audience request resource. CreateColumnDuringAudienceCreationCreateItem: type: object required: - type - attributes properties: type: type: string description: The type of the resource default: Column pattern: Column attributes: allOf: - $ref: '#/components/schemas/ColumnAttributesForAudienceCreate' description: The attributes defining the resource meta: allOf: - $ref: '#/components/schemas/ColumnMeta' description: Non-standard meta information about the resource description: Column Create request resource model during audience creation. This model only includes attributes that are allowed during the creation of an audience, eg. Excludes ZoomInfo Match columns since they depend on other columns to be created first. FolderMeta: type: object required: - createdAt - createdById - createdByName - updatedAt - updatedById - updatedByName properties: createdAt: type: string format: date-time description: The timestamp when the resource was created readOnly: true createdById: type: integer format: uint32 description: Id of the user who created the resource readOnly: true createdByName: type: string description: Name of the user who created the resource readOnly: true updatedAt: type: string format: date-time description: The timestamp when the resource was last updated readOnly: true updatedById: type: integer format: uint32 description: Id of the user who last updated the resource readOnly: true updatedByName: type: string description: Name of the user who last updated the resource readOnly: true description: Metadata for Folder model. AudiencesJsonApiList: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/ReadAudience' description: The primary data of the document meta: allOf: - $ref: '#/components/schemas/Pagination' description: Non-standard meta information about the document links: allOf: - $ref: '#/components/schemas/AudiencesPagingLinks' description: Links related to the primary data description: JSON API model for Audience list. RowSearchPagingLinks: type: object properties: first: type: string format: uri description: A link to the first page of data last: type: string format: uri description: A link to the last page of data prev: type: string format: uri description: A link to the previous page of data next: type: string format: uri description: A link to the next page of data description: Paging links for get Rows. ZoominfoMatchColumn: type: object required: - name - dataType - isDeletable - isEditable - isExportable - isFilterable - isSortable - columnType properties: name: type: string description: Display name of the column shown in the UI and returned in row responses. dataType: allOf: - $ref: '#/components/schemas/ColumnDataType' description: Data type of the column. Optional for AI columns; required for static and ZoomInfo match columns. isDeletable: type: boolean description: Whether this column can be deleted via the Delete Column endpoint. Read-only; set by the system. readOnly: true isEditable: type: boolean description: Whether this column's value can be updated via the Update rows endpoint. Read-only; set by the system. readOnly: true isExportable: type: boolean description: Whether this column's values can be included in data exports. Read-only; set by the system. readOnly: true isFilterable: type: boolean description: Whether this column supports row filtering via the filterCriteria. Read-only; set by the system. readOnly: true isFrozen: type: boolean description: Whether this column is pinned (frozen) to the left in grid views. Optional; defaults to `false`. default: false isHidden: type: boolean description: Whether this column is hidden from grid views. Optional; defaults to `false`. default: false isSortable: type: boolean description: Whether this column supports row sorting via the List Rows endpoint. Read-only; set by the system. readOnly: true columnType: type: string description: Column type indicating the source and type of this column. default: ZOOMINFO_MATCH pattern: ZOOMINFO_MATCH description: Column model representing a ZoomInfo match column — values are populated by matching rows against ZoomInfo's database using defined criteria. This Column accepts only ZI_COMPANY_ID or ZI_CONTACT_ID as data type since these columns are used for matching against ZoomInfo data and these are the only supported data types for matching. GenericFilterFieldForAudience: type: object required: - type - columnId - values - filterOperator properties: type: type: string description: Discriminator value to identify this as a filter default: Filter pattern: Filter columnId: type: string description: The column id to filter on values: anyOf: - $ref: '#/components/schemas/StringArray' - $ref: '#/components/schemas/NumericArray' description: The values to filter against, should match the column data type filterOperator: allOf: - $ref: '#/components/schemas/GenericFilterOperator' description: The operator to use for filtering description: Represents a single filter field with its associated properties CreateAudienceResponseAttributes: type: object required: - name - recordCount - type - origin properties: name: type: string description: Display name of the audience. description: type: string description: Optional free-text description of the audience's purpose or contents. notes: type: string description: Optional notes about the audience for internal reference. recordCount: type: integer format: int32 description: Total number of rows currently in the audience. Read-only; updated automatically as rows are added or removed. readOnly: true type: allOf: - $ref: '#/components/schemas/AudienceType' description: Record type for this audience. `CONTACT` for person-level records; `COMPANY` for account-level records. Set at creation and cannot be changed. folderId: type: string description: UUID of the folder that contains this audience. If omitted on create, a new folder matching the audience name is created automatically. origin: allOf: - $ref: '#/components/schemas/SourceOrigin' description: The origin of the audience source readOnly: true folderName: type: string description: Display name of the folder that contains this audience. readOnly: true columns: type: array items: $ref: '#/components/schemas/ReadColumn' description: The Columns in the audience readOnly: true zoomInfoSearchCriteria: allOf: - $ref: '#/components/schemas/ZoomInfoSearchCriteria' description: ZoomInfo search criteria used to define audience targeting. readOnly: true description: Audience attributes returned upon creation Column: type: object required: - type - attributes properties: type: type: string description: The type of the resource default: Column pattern: Column attributes: allOf: - $ref: '#/components/schemas/ColumnAttributes' description: The attributes defining the resource description: Column Create request resource. JobStatusResponseJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/JobStatusResponse' description: The primary data of the document description: JSON API model for Job status response. GenericFilterOperator: type: string enum: - EQUALS - NOT_EQUALS - CONTAINS - DOES_NOT_CONTAINS - CONTAINS_WORD - DOES_NOT_CONTAIN_WORD - EMPTY - NOT_EMPTY - STARTS_WITH - DOES_NOT_START_WITH - GREATER_THAN - LESS_THAN - GREATER_THAN_OR_EQUAL - LESS_THAN_OR_EQUAL - IN_RANGE - IS_TRUE - IS_FALSE - HAS_ONE_OF - HAS_NONE_OF - HAS_ALL_OF - IS_EXACT_DATE - BEFORE - AFTER - WITHIN - ROLLING_RANGE AudiencesPagingLinks: type: object properties: first: type: string format: uri description: A link to the first page of data last: type: string format: uri description: A link to the last page of data prev: type: string format: uri description: A link to the previous page of data next: type: string format: uri description: A link to the next page of data description: Paging links for Audience list. ColumnDataDependencyList: type: object required: - type - attributes properties: type: type: string description: The type of the resource default: ColumnDataDependencyList pattern: ColumnDataDependencyList attributes: type: array items: $ref: '#/components/schemas/ColumnDataDependency' description: The attributes defining the resource description: Resource model for list of column data dependencies supported for a specific column type. ColumnDataDependencyListModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/ColumnDataDependencyList' description: The primary data of the document description: JSON API model for list of column data dependencies supported for a specific column type. UpsertRow: type: object required: - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: Row pattern: Row attributes: allOf: - $ref: '#/components/schemas/RowAttributes' description: The attributes defining the resource description: Row attributes for upsert operations. Identical to `RowAttributes` but `id` is optional — omit it to create a new row, provide it to update an existing one. UpdateColumn: type: object properties: type: type: string description: The type of the resource default: Column pattern: Column attributes: allOf: - $ref: '#/components/schemas/UpdateColumnAttributes' description: The attributes defining the resource description: Column update request resource. Pagination: type: object required: - page - total properties: page: allOf: - $ref: '#/components/schemas/Page' description: Field representing the current page number total: type: integer format: uint32 description: Total number of items available description: Pagination details for paginated responses. AudienceType: type: string enum: - CONTACT - COMPANY description: Determines the record type the audience holds. Set at creation and cannot be changed. x-enumDescriptions: CONTACT: Person-level records (individuals/contacts). COMPANY: Account-level records (organizations/companies). MatchFields: type: string enum: - COMPANY_WEBSITE - COMPANY_NAME - ZOOMINFO_COMPANY_ID - COMPANY_COUNTRY - COMPANY_STATE - COMPANY_CITY - COMPANY_ZIP_CODE - COMPANY_PHONE - COMPANY_TICKER - COMPANY_LINKEDIN_ID - COMPANY_IP_ADDRESSES - COMPANY_METRO_AREA - COMPANY_LINKEDIN_URL - COMPANY_FACEBOOK_URL - COMPANY_TWITTER_URL - COMPANY_GOOGLE_PLUS_URL - COMPANY_YOUTUBE_URL - COMPANY_LOCATION - COMPANY_LOCATION_CODE - CONTACT_FIRST_NAME - CONTACT_LAST_NAME - CONTACT_EMAIL - JOB_TITLE - DIRECT_PHONE - MOBILE_PHONE - CONTACT_STREET - CONTACT_CITY - CONTACT_STATE - CONTACT_COUNTRY - CONTACT_ZIP_CODE - ZOOMINFO_CONTACT_ID - CONTACT_MIDDLE_NAME - CONTACT_LINKEDIN_URL - CONTACT_TWITTER_URL - CONTACT_LINKEDIN_COMPANY_ID - CONTACT_ZOOMINFO_COMPANY_ID - CONTACT_PARENT_ID - CONTACT_HASHED_EMAILS - CONTACT_LINKEDIN_PRIVATE_IDS x-enumDescriptions: COMPANY_WEBSITE: The domain name associated with the company, e.g. `zoominfo.com`. Supported for both contact and company records. COMPANY_NAME: The name of the company. Supported for both company and contact records. ZOOMINFO_COMPANY_ID: The ZoomInfo unique identifier for the company. Supported for company records. COMPANY_COUNTRY: The country where the company is located. Supported for company records. COMPANY_STATE: The state or province where the company is located. Supported for company records. COMPANY_CITY: The city where the company is located. Supported for company records. COMPANY_ZIP_CODE: The postal or zip code for the company's location. Supported for company records. COMPANY_PHONE: The main phone number for the company. Supported for company records. COMPANY_TICKER: The stock ticker symbol for the company. Supported for company records. COMPANY_LINKEDIN_ID: The LinkedIn company ID for the company. Supported for company records. COMPANY_IP_ADDRESSES: The IP addresses associated with the company. Supported for company records. COMPANY_METRO_AREA: The metropolitan area where the company is located. Supported for company records. COMPANY_LINKEDIN_URL: The LinkedIn profile URL for the company. Supported for company records. COMPANY_FACEBOOK_URL: The Facebook profile URL for the company. Supported for company records. COMPANY_TWITTER_URL: The Twitter profile URL for the company. Supported for company records. COMPANY_GOOGLE_PLUS_URL: The Google Plus profile URL for the company. Supported for company records. COMPANY_YOUTUBE_URL: The YouTube channel URL for the company. Supported for company records. COMPANY_LOCATION: The full location of the company, combining address components. Supported for company records. COMPANY_LOCATION_CODE: The location code representing the company's geographic location. Supported for company records. CONTACT_FIRST_NAME: The first name of the contact. Supported for contact records. CONTACT_LAST_NAME: The last name of the contact. Supported for contact records. CONTACT_EMAIL: The email address of the contact. Supported for contact records. JOB_TITLE: The job title of the contact. Supported for contact records. DIRECT_PHONE: The direct phone number for the contact. Supported for contact records. MOBILE_PHONE: The mobile phone number for the contact. Supported for contact records. CONTACT_STREET: The street address of the contact. Supported for contact records. CONTACT_CITY: The city of the contact's address. Supported for contact records. CONTACT_STATE: The state or province of the contact's address. Supported for contact records. CONTACT_COUNTRY: The country of the contact's address. Supported for contact records. CONTACT_ZIP_CODE: The postal or zip code of the contact's address. Supported for contact records. ZOOMINFO_CONTACT_ID: The ZoomInfo unique identifier for the contact. Supported for contact records. CONTACT_MIDDLE_NAME: The middle name of the contact. Supported for contact records. CONTACT_LINKEDIN_URL: The LinkedIn profile URL for the contact. Supported for contact records. CONTACT_TWITTER_URL: The Twitter profile URL for the contact. Supported for contact records. CONTACT_LINKEDIN_COMPANY_ID: The LinkedIn company ID associated with the contact. Supported for contact records. CONTACT_ZOOMINFO_COMPANY_ID: The ZoomInfo company ID associated with the contact. Supported for contact records. CONTACT_PARENT_ID: The parent record ID for the contact. Supported for contact records. CONTACT_HASHED_EMAILS: The hashed email addresses for the contact. Supported for contact records. CONTACT_LINKEDIN_PRIVATE_IDS: The LinkedIn private IDs for the contact. Supported for contact records. UpsertMatchCriteriaRequest: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource readOnly: true type: type: string description: The type of the resource default: UpsertMatchCriteria pattern: UpsertMatchCriteria attributes: allOf: - $ref: '#/components/schemas/UpsertMatchCriteriaAttributes' description: The attributes defining the resource description: Upsert match criteria request resource. ScriptConfiguration: type: object required: - language - expression properties: language: allOf: - $ref: '#/components/schemas/FormulaExpressionLanguage' description: Expression language used for formula evaluation. expression: type: string description: Generated formula expression evaluated for this column. description: Optional script configuration returned for `FORMULA` columns. Contains the generated expression and its language. Folder: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: Folder pattern: Folder attributes: allOf: - $ref: '#/components/schemas/FolderAttributes' description: The attributes defining the resource meta: allOf: - $ref: '#/components/schemas/FolderMeta' description: Non-standard meta information about the resource readOnly: true description: Folder request resource. StaticColumn: type: object required: - name - dataType - isDeletable - isEditable - isExportable - isFilterable - isSortable - columnType properties: name: type: string description: Display name of the column shown in the UI and returned in row responses. dataType: allOf: - $ref: '#/components/schemas/ColumnDataType' description: Data type of the column. Optional for AI columns; required for static and ZoomInfo match columns. isDeletable: type: boolean description: Whether this column can be deleted via the Delete Column endpoint. Read-only; set by the system. readOnly: true isEditable: type: boolean description: Whether this column's value can be updated via the Update rows endpoint. Read-only; set by the system. readOnly: true isExportable: type: boolean description: Whether this column's values can be included in data exports. Read-only; set by the system. readOnly: true isFilterable: type: boolean description: Whether this column supports row filtering via the filterCriteria. Read-only; set by the system. readOnly: true isFrozen: type: boolean description: Whether this column is pinned (frozen) to the left in grid views. Optional; defaults to `false`. default: false isHidden: type: boolean description: Whether this column is hidden from grid views. Optional; defaults to `false`. default: false isSortable: type: boolean description: Whether this column supports row sorting via the List Rows endpoint. Read-only; set by the system. readOnly: true columnType: type: string description: Column type indicating the source and type of this column. default: CUSTOM pattern: CUSTOM description: Column model representing static column in an audience. FilterOperatorConfig: type: object required: - operator - isMultipleSupported properties: operator: allOf: - $ref: '#/components/schemas/GenericFilterOperator' description: The filter operator this configuration applies to. isMultipleSupported: type: boolean description: Whether multiple values can be provided in the `values` field for this operator. valueCountLimit: type: integer format: uint32 description: Maximum number of values allowed for this operator. If `0`, pass an empty array `[]`. If absent, no limit is enforced. minCharLimit: type: integer format: uint32 description: Minimum number of characters required per value for string-based operators. If absent, no minimum character limit is enforced. description: Configuration constraints for a single filter operator on a column. NumericArrayItem: type: array items: type: number description: Represents a list of numeric values for a field CreateAudienceResponseJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/CreateAudienceResponse' description: The primary data of the document description: JSON API model for the Create Audience response. UpdateAudienceAttributes: type: object properties: name: type: string description: Display name of the audience. description: type: string description: Optional free-text description of the audience's purpose or contents. notes: type: string description: Optional notes about the audience for internal reference. folderId: type: string description: UUID of the folder that contains this audience. If omitted on create, a new folder matching the audience name is created automatically. description: Audience model representing audience details. SourceOrigin: type: string enum: - CUSTOM - ZOOMINFO_PUBLIC_API - CRM - CSV - ZOOMINFO_SIGNALS - SNOWFLAKE - ZOOMINFO - DERIVED_ZOOMINFO_CONTACTS - DERIVED_CRM_CONTACTS - DERIVED_CRM_ACCOUNTS - DERIVED_CRM_OPPORTUNITIES - AUDIENCE_COPY - GRAPHQL description: Indicates how the audience was originally populated. Read-only; set by the system based on the creation method. x-enumDescriptions: CUSTOM: Manually created with no linked source dataset. ZOOMINFO_PUBLIC_API: Sourced from ZoomInfo based on search criteria. CRM: Synced from a CRM system. CSV: Imported via CSV file upload. ZOOMINFO_SIGNALS: Built from behavioral signal data. SNOWFLAKE: Sourced from Snowflake data warehouse. ZOOMINFO: Sourced directly from ZoomInfo's database. DERIVED_ZOOMINFO_CONTACTS: Derived from ZoomInfo contacts linked to Zoominfo companies. DERIVED_CRM_CONTACTS: Derived from CRM contact records. DERIVED_CRM_ACCOUNTS: Derived from CRM account records. DERIVED_CRM_OPPORTUNITIES: Derived from CRM opportunity records. AUDIENCE_COPY: Created by copying an existing audience. GRAPHQL: Created via GraphQL workflow. AiTool: type: string enum: - AI_DATA_ANALYSIS - AI_WEB_RESEARCH - AI_CONVERSATION_INTELLIGENCE - AI_EMAILER description: Defines AI tool names used by AI columns and data dependency discovery. AudienceAttributes: type: object oneOf: - $ref: '#/components/schemas/CustomAudienceAttributes' - $ref: '#/components/schemas/ZoomInfoPublicApiAudienceAttributes' discriminator: propertyName: origin mapping: CUSTOM: '#/components/schemas/CustomAudienceAttributes' ZOOMINFO_PUBLIC_API: '#/components/schemas/ZoomInfoPublicApiAudienceAttributes' Audience: type: object required: - type - attributes properties: type: type: string description: The type of the resource default: Audience pattern: Audience attributes: allOf: - $ref: '#/components/schemas/AudienceAttributes' description: The attributes defining the resource description: Audience request resource. RowSearchJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/RowSearch' description: The primary data of the document description: JSON API model for get Rows request. ZoomInfo.SearchCriteria.ContactSearch: type: object properties: lastUpdatedDateAfter: type: string format: date description: 'Limit results to only contacts that have a `lastUpdateDate` **after** the provided value. The value must be a date formatted using the ISO 8601 date format (YYYY-MM-DD). Example value: `2024-01-01` will return only contacts with a `lastUpdatedDate` after January 1, 2024' validDateAfter: type: string format: date description: 'Limit results to only contacts that have a `validDate` **after** the provided value. The value must be a date formatted using the ISO 8601 date format (YYYY-MM-DD) Example value: `2024-01-01` will return only contacts with a `validDate` after January 1, 2024' phone: type: array items: type: string description: 'List of phone numbers used to locate the contacts you are searching for. The phone numbers can either be direct dial office phone numbers or mobile phone numbers. Contacts will be returned if they match a single phone number from the provided list. Phone numbers can be formatted in any standard format as all non-digit characters will be stripped before searching. Example: `800-555-2345` is functionally equivalent to `8005552345` as an input value' positionStartDateMin: type: string format: date description: Minimum date for when a contact began current employment. Use with positionStartDateMax to set a range. Uses YYYY-MM-DD format. positionStartDateMax: type: string format: date description: Maximum date for when a contact began current employment. Use with positionStartDateMin to set a range. Uses YYYY-MM-DD format. supplementalEmail: type: array items: type: string description: Supplemental email address for the contact in example@example.com format. webReferences: type: array items: type: string description: List of Web References for a contact. Default criteria is OR between multiple values. Should only contain english letters and numbers. buyingGroup: type: array items: type: string description: Filters results based on the provided Buying Group ID. Only one ID can be submitted. techSkills: type: array items: type: string description: List of technology skill IDs for a contact. Default criteria is OR between multiple values. Should only contain string numbers. Find the IDs for the skills in the lookup endpoint. yearsOfExperience: type: string description: Total years of experience. Accepts a comma-separated list. personId: type: string description: Unique ZoomInfo identifier for the contact. Can include a comma-separated list. emailAddress: type: string description: Email address for the contact in example@example.com format. hashedEmail: type: string description: 'Hashed email value for the contact. Allows searching via an email address with the extra security of not exposing the email. Supported hash algorithms are: MD5, SHA1, SHA256 and SHA512.' fullName: type: string description: Contact full name. firstName: type: string description: Contact first name. middleInitial: type: string description: Contact middle initial. lastName: type: string description: Contact last name. jobTitle: type: string description: Contact title at current place of employment. Use OR to input multiple job titles. exactJobTitle: type: string description: Contact title at current place of employment using exact match logic. Use OR to input multiple job titles. excludeJobTitle: type: string description: Comma-separated list of job titles to exclude from search results. managementLevel: type: string description: Contact management level at current place of employment. excludeManagementLevel: type: string description: Comma-separated list of management levels to exclude from search results. department: type: string description: Contact department at current place of employment. Accepts a comma-separated list of values. boardMember: type: string description: Exclude or include board members from search results. Default behavior is to exclude board members from search results. Submit this as `include` to include board members, set this as `only` to only include board members. excludePartialProfiles: type: boolean description: Defaults to false. To include partial profiles in your search results, set this to true. Contacts who do not have an active company associated with them are considered partial profiles. executivesOnly: type: boolean description: Defaults to false. Set this to true to include only executives in search results. requiredFields: type: string description: Specify a list of required fields for each record returned. Can include email (business email), phone (direct or company phone), directPhone (contact's direct phone), personalEmail, and mobilePhone. Can include a comma-separated list of these fields. contactAccuracyScoreMin: type: string description: Minimum accuracy score for search results. This score indicates the likelihood that a contact is reachable and still employed by the company listed. Minimum score is 70 and maximum is 99. contactAccuracyScoreMax: type: string description: Maximum accuracy score for search results. This score indicates the likelihood that a contact is reachable and still employed by the company listed. Minimum score is 70 and maximum is 99. jobFunction: type: string description: Contact job function at their current place of employment. lastUpdatedInMonths: type: integer format: int32 description: Number of months within which the contact's profile was last updated. hasBeenNotified: type: string description: Defaults to include. Set this to `exclude` to exclude contacts who have been notified of inclusion in ZoomInfo's database. Set this to `only` to only include contacts who have been notified. companyPastOrPresent: type: string description: Defaults to only include the present company for a contact. Set this to `past` to return past companies, set this to `pastAndPresent` to include both. school: type: string description: School name. degree: type: string description: Searches by contact's education. locationCompanyId: type: array items: type: integer format: int64 description: Searches by contact's locationIds. underManagement: type: boolean description: Returns whether or not record is under management if set to true. employmentHistory: type: array items: $ref: '#/components/schemas/ContactsEmploymentHistory' maxItems: 5 description: Search by contact's past employments. Accepts an array of past employment criteria. Contacts matching ANY of the provided past employment records will be returned. companyTicker: type: array items: type: string description: Company stock ticker symbol. companyDescription: type: string description: Search for companies based on description. Accepts a space-separated list of individual words. companyType: type: string description: Company type (private, public, etc.). Accepts a comma-separated list of types. address: type: string description: Full Company Address. street: type: string description: Street address portion of the company's location. state: type: string description: State or province of the company's address. zipCode: type: string description: Zip Code or Postal Code of the company's address. country: type: string description: Country of the primary address of the associated company. continent: type: string description: Continent of the primary address of the associated company. zipCodeRadiusMiles: type: integer format: int16 description: Used in conjunction with zipCode, designates a geographical radius (in miles) from the zipCode provided. Supported values are [10, 25, 50, 100, 250] hashTagString: type: string description: Hash tags for a company. Can include a comma-separated list. techAttributeTagList: type: string description: Technology Product Tags. Can include a comma-separated list. primaryIndustriesOnly: type: boolean description: Default is false. Used in conjunction with the industryCodes input parameter. When set to true, any result returned must have one of the specified industries as a primary industry. If no industries are specified, then this parameter will be ignored. subUnitTypes: type: string description: Company sub types (e.g., division, subsidiary). Use this in conjunction with parentId or ultimateParentId. industryCodes: type: string description: Top-level industry that the contact works in. A contact can have multiple top level industries. Tags are based on the contact's current company. Can include a comma-separated list. industryKeywords: type: string description: Industry keywords associated with a company. Can include either 'AND' or 'OR' operators. For example, 'software AND security' or 'software OR security' sicCodes: type: string description: The Standard Industrial Classification is a system for classifying industries by a four-digit code numerical assigned by the U.S. government to business establishments to identify the primary business of the establishment. Accepts a comma-separated list. naicsCodes: type: string description: Four-digit numerical codes assigned by the U.S. government to business establishments to identify the primary business of the establishment. Accepts a comma-separated list of values. revenue: type: string description: Annual revenue range in U.S. dollars. Accepts a comma-separated list of values. revenueMin: type: integer format: int32 description: Minimum annual revenue for a company in U.S. dollars (expressed in thousands). Use with revenueMax to set a range. revenueMax: type: integer format: int32 description: Maximum annual revenue for a company in U.S. dollars (expressed in thousands). Use with revenueMin to set a range. employeeRangeMin: type: string description: Minimum employee count for a company. Use with employeeRangeMax to set a range. Alternatively, you can use the employeeCount parameter to search for pre-defined ranges. employeeRangeMax: type: string description: Maximum employee count for a company. Use with employeeRangeMin to set a range. Alternatively, you can use the employeeCount parameter to search for pre-defined ranges. employeeCount: type: string description: Employee count range. Accepts a comma-separated list of values. Alternatively, for more granular ranges, you can use the employeeRangeMin and employeeRangeMax parameters. companyRanking: type: string description: Company ranking (e.g., Fortune 500). Accepts a comma-separated list of IDs. metroRegion: type: string description: Company metro area. Accepts a comma-separated list of U.S. and Canada metro areas. locationSearchType: type: string description: Location type (PersonOrHQ, PersonAndHQ, Person, HQ, PersonThenHQ). fundingAmountMin: type: integer format: int32 description: Minimum funding amount in thousands (e.g., 1 = 1000, 500 = 500,000). If fundingAmountMin is used without fundingAmountMax, the result will be the amount specified or greater. fundingAmountMax: type: integer format: int32 description: Maximum funding amount in thousands (e.g., 1 = 1000, 500 = 500,000). If fundingAmountMax is used without fundingAmountMin, the result will be the amount specified or less. fundingStartDate: type: string format: date description: Start date of the funding in YYYY-MM-DD format. If fundingStartDate and fundingEndDate are both specified, they will be used as a range. Start date after end date returns an error. If start date and end date are the same, will return results for exact date. fundingEndDate: type: string format: date description: End date of the funding in YYYY-MM-DD format. If fundingStartDate and fundingEndDate are both specified, they will be used as a range. Start date after end date returns an error. If start date and end date are the same, will return results for exact date. recentFundingRoundTypes: type: array items: type: string description: 'Filters for companies whose most recent funding round matches one of the given types. Accepts an array of values from the endpoint: /lookup/funding-round-types. This is a different filter mode than allFundingRoundTypes (which matches any round in the company''s history), so only one of the two should be supplied per request.' allFundingRoundTypes: type: array items: type: string description: 'Filters for companies that have had any funding round (at any point in their history) matching one of the given types. Accepts an array of values from the endpoint: /lookup/funding-round-types. This is a different filter mode than recentFundingRoundTypes (which matches only the most recent round), so only one of the two should be supplied per request.' zoominfoContactsMin: type: string description: Minimum number of ZoomInfo contacts associated with company. zoominfoContactsMax: type: string description: Maximum number of ZoomInfo contacts associated with company. excludedRegions: type: string description: Accepts a comma-separated list of U.S. and Canada states and metro areas. Companies from any of these regions will be excluded from search results. companyStructureIncludedSubUnitTypes: type: string description: Company hierarchical structure values. Accepts a comma-separated list of values from 'UNSPECIFIED', 'LOCATION', 'DIVISION', 'ACQUISITION', 'SUBSIDIARY', 'FORMER_NEW_NAME'. oneYearEmployeeGrowthRateMin: type: string description: Minimum one year employee growth rate for a company. Use with oneYearEmployeeGrowthRateMax to set a range. oneYearEmployeeGrowthRateMax: type: string description: Maximum one year employee growth rate for a company. Use with oneYearEmployeeGrowthRateMin to set a range. twoYearEmployeeGrowthRateMin: type: string description: Minimum two year employee growth rate for a company. Use with twoYearEmployeeGrowthRateMax to set a range. twoYearEmployeeGrowthRateMax: type: string description: Maximum two year employee growth rate for a company. Use with twoYearEmployeeGrowthRateMin to set a range. parentId: type: string description: ZoomInfo Company ID for parent company. ultimateParentId: type: string description: Company sub types (e.g., division, subsidiary). Use this in conjunction with parentId or ultimateParentId. companyId: type: string description: Unique ZoomInfo identifier for a company. companyName: type: string description: Company name. companyWebsite: type: string description: Company website URL in http://www.example.com format. Accepts a comma-separated list. engagementStartDate: type: string format: date description: Engagement start date in YYYY-MM-DD format. engagementEndDate: type: string format: date description: Engagement end date in YYYY-MM-DD format. EngagementStartDate is required. engagementType: type: array items: type: string description: List of engagement types to search for. Accepted values are 'email', 'phone', 'online meeting'. Accepts a comma-separated list of these values. excludeTechAttributeTagList: type: string description: Exclude companies with these technology product tags. String can be one value ('131315') or a comma-separated list which is treated as OR logic ('131315, 132222'). Individual values can also include AND logic ('131315 AND 131301, 132222'). This last example would be evaluated as ((131201 AND 131301) OR 132222). description: Contact search configuration. RowSearch: type: object required: - type - attributes properties: type: type: string description: The type of the resource default: RowSearch pattern: RowSearch attributes: allOf: - $ref: '#/components/schemas/GetRowsAttributes' description: The attributes defining the resource description: Row Get request resource. CreateAudienceResponse: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: Audience pattern: Audience attributes: allOf: - $ref: '#/components/schemas/CreateAudienceResponseAttributes' description: The attributes defining the resource meta: allOf: - $ref: '#/components/schemas/AudienceMeta' description: Non-standard meta information about the resource readOnly: true description: Audience response resource returned on creation. ColumnUpdateJsonApiModel: type: object properties: data: allOf: - $ref: '#/components/schemas/UpdateColumn' description: The primary data of the document description: JSON API model for Column update. UpsertRowsJsonApiModel: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/Row' description: The primary data of the document description: JSON API response for bulk row upsert. Returns created/updated rows in `data[]`, matching the get row by ID response shape (includes `state` and `errorDetails` per cell). UpdateColumnAttributes: type: object properties: name: type: string description: Display name of the column shown in the UI and returned in row responses. isFrozen: type: boolean description: Whether this column is pinned (frozen) to the left in grid views. Optional; defaults to `false`. default: false isHidden: type: boolean description: Whether this column is hidden from grid views. Optional; defaults to `false`. default: false description: Base attributes shared by all column types in an audience. AudienceEnrichmentJsonApiModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/EnrichAudience' description: The primary data of the document description: JSON API model for Audience enrichment request. UpsertMatchCriteriaAttributes: type: object properties: matchCriteria: type: array items: $ref: '#/components/schemas/MatchCriteria' description: Array of match criteria to apply to the audience's match column. Each entry maps an audience `columnId` to a ZoomInfo attribute field (e.g., mapping an 'Email' column to `CONTACT_EMAIL`). If not provided, auto-mapping is attempted. description: Request attributes for upserting match criteria on the audience's designated match column. Match criteria define how audience column values are mapped to ZoomInfo attributes for enrichment matching. If omitted, auto-mapping is attempted for all eligible columns. DeleteRowJsonApiModel: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/RowIdentifier' minItems: 1 maxItems: 1000 description: The primary data of the document description: Deleting Rows Request Models RowIdentifier: type: object required: - id - type properties: id: type: string description: The unique identifier of the resource type: type: string description: The type identifier of the resource default: Row pattern: Row description: Row Delete request resource. UploadStatus: type: string enum: - IN_PROGRESS - COMPLETE - FAILED description: The various status values for an audience member upload GetAudiencesMeta: type: object required: - page - pageSize - totalCount properties: page: type: integer format: uint32 description: The current page of audiences being returned pageSize: type: integer format: uint32 description: The page size as specified by the request totalCount: type: integer format: uint32 description: The total count of audience within the current search parameters description: Metadata for the current page of audiences returned UploadOperationType: type: string enum: - ADD - DELETE description: The type of upload x-enumDescriptions: ADD: Adds the member upload to audience DELETE: Removes the records from an audience UploadField: type: string enum: - ziCompanyId - ziPersonId - firstName - lastName - emailAddress - companyName - companyUrl description: Enumeration of allowed field names for records. AudienceType_2: type: string enum: - B2B - B2C AudienceUploadCreate: type: object required: - type - attributes properties: type: type: string description: The type of the resource default: AudienceUpload pattern: AudienceUpload attributes: allOf: - $ref: '#/components/schemas/AudienceUploadAttributesCreate' description: The attributes defining the resource description: ZoomInfo Audience Upload AudienceUploadAttributesCreate: type: object required: - operationType - fields - records properties: operationType: allOf: - $ref: '#/components/schemas/UploadOperationType' description: Define the type of operation that this upload will perform for the audience. Add - add records to the audiences, Delete - delete records from the audience fields: type: array items: $ref: '#/components/schemas/UploadField' description: Define the schema of the records by selecting which fields are included in each record records: type: array items: type: array items: type: string description: The list of records matching the exact order of the schema defined in fields description: Attributes defining an audience member upload AudienceModelUpdate: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/AudienceUpdate' description: The primary data of the document description: Response containing a single ZoomInfo Audience AudienceUploadModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/AudienceUpload' description: The primary data of the document description: Request/Response wrapper for a ZoomInfo Audience Upload AudienceAttributes_2: type: object required: - name - type - status properties: name: type: string description: The name of the audience type: allOf: - $ref: '#/components/schemas/AudienceType_2' description: The audience type defining whether the audience is targeting businesses (B2B) or consumers (B2C) status: allOf: - $ref: '#/components/schemas/AudienceStatus' description: The status of the audience readOnly: true description: Attributes defining a ZoomInfo Audience AudienceUploadAttributes: type: object required: - operationType - createDate - updateDate - status properties: operationType: allOf: - $ref: '#/components/schemas/UploadOperationType' description: Define the type of operation that this upload will perform for the audience. Add - add records to the audiences, Delete - delete records from the audience createDate: type: string format: date-time description: The create date of the upload readOnly: true updateDate: type: string format: date-time description: The last update date of the upload readOnly: true completeDate: type: string format: date-time description: The completion date of upload readOnly: true status: allOf: - $ref: '#/components/schemas/UploadStatus' description: The status of the upload readOnly: true description: Attributes defining an audience member upload Audience_2: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: Audience pattern: Audience attributes: allOf: - $ref: '#/components/schemas/AudienceAttributes_2' description: The attributes defining the resource description: ZoomInfo Audience AudienceStatus: type: string enum: - ACTIVE - ARCHIVED GetAudiencesResponse: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/Audience_2' description: The primary data of the document meta: allOf: - $ref: '#/components/schemas/GetAudiencesMeta' description: Non-standard meta information about the document links: allOf: - $ref: '#/components/schemas/GetAudiencesLinks' description: Links related to the primary data description: A paged list of ZoomInfo Audiences AudienceUpdate: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: Audience pattern: Audience attributes: allOf: - $ref: '#/components/schemas/AudienceAttributesUpdate' description: The attributes defining the resource description: ZoomInfo Audience AudienceUploadModelCreate: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/AudienceUploadCreate' description: The primary data of the document description: Request/Response wrapper for a ZoomInfo Audience Upload AudienceModelCreate: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/AudienceCreate' description: The primary data of the document description: Response containing a single ZoomInfo Audience AudienceCreate: type: object required: - type - attributes properties: type: type: string description: The type of the resource default: Audience pattern: Audience attributes: allOf: - $ref: '#/components/schemas/AudienceAttributes_2' description: The attributes defining the resource description: ZoomInfo Audience AudienceAttributesUpdate: type: object required: - name properties: name: type: string description: The name of the audience description: Attributes defining a ZoomInfo Audience GetAudiencesLinks: type: object properties: first: type: string format: uri description: A link to the first page of data last: type: string format: uri description: A link to the last page of data prev: type: string format: uri description: A link to the previous page of data description: Links describing the various audience paging options AudienceUpload: type: object required: - id - type - attributes properties: id: type: string description: The unique identifier for the resource type: type: string description: The type of the resource default: AudienceUpload pattern: AudienceUpload attributes: allOf: - $ref: '#/components/schemas/AudienceUploadAttributes' description: The attributes defining the resource description: ZoomInfo Audience Upload AudienceModel: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/Audience_2' description: The primary data of the document description: Response containing a single ZoomInfo Audience securitySchemes: OAuth2Auth: type: oauth2 flows: authorizationCode: authorizationUrl: https://login.zoominfo.com tokenUrl: https://okta-login.zoominfo.com/oauth2/default/v1/token scopes: api:audience:manage: Create and Manage Audiences api:audience:read: Read Audiences x-refined-from: - zoominfo-gtm-gtm-studio-v1-openapi.json - zoominfo-gtm-marketing-v1-openapi.json