{"openapi":"3.0.0","info":{"title":"GTM Studio API V1","version":"1.0","contact":{"name":"ZoomInfo Customer Support","email":"help@zoominfo.com"},"description":"GTM Studio API for interacting with the GTM Studio related services."},"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.\nFolders group related audiences together, making it easier to navigate and manage large collections — for example, grouping by campaign, region, or team.\nSpecify `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`.\nReturns `201 Created` with the full folder resource including the system-assigned `folderId` and creation metadata.\nReturns `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.\nUse this endpoint to browse the folder structure or to find a `folderId` before creating or moving an audience.\nFilter by `createdById`, `updatedById`, `searchText` (partial name match), or date ranges (`createdAfter`, `createdBefore`, `updatedAfter`, `updatedBefore`).\nUse `sort` to order results by `name`, `createdAt`, `updatedAt`, `audienceCount`, or `recentlyViewed`; prefix with `-` for descending order (default: `-updatedAt`).\nUse `page[number]` and `page[size]` (default `25`, max `100`) to paginate.\nReturns `200` with a paginated array of folder resources including `audiences` (list of audience IDs in each folder) and navigation links.\nReturns `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.\nAllowed 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"]}},"/studio/v1/folders/{folderId}":{"get":{"operationId":"Folders_getFolderById","summary":"Get Specific Folder","description":"Retrieves the full state of a single folder by its `folderId`.\nReturns all folder attributes — name, starred status, description, notes, creation and update timestamps, and the list of `audienceId` values contained in the folder.\nUse this endpoint to inspect a folder's contents before operating on its audiences, or to verify folder state after an update.\nReturns `200` with the folder resource.\nReturns `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.\nSupported fields: `name`, `starred`, `description`, and `notes`. Only fields present in the request body are modified; all other attributes remain unchanged.\nUse this endpoint to rename a folder, star or unstar it, or update its description and notes.\nReturns `200` with the updated folder resource.\nReturns `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.\nDeleting a folder removes the audiences it contained as well.\nThis action is irreversible.\nReturns `204 No Content` on success.\nReturns `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":{"nullable":true}}}},"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"]}},"/studio/v1/audiences":{"post":{"operationId":"Audiences_createAudience","summary":"Create New Audience","description":"Create a new Go-to-Marketing (GTM) Studio audience. An audience is a collection of contacts or companies\nthat can be organized, filtered, and managed for marketing and sales purposes. You can use audiences to build\nand maintain business-critical datasets or enrich customer lists from trade shows and conferences.\n\nYou can define the audience name, audience type (`CONTACT` or `COMPANY`), and the source of the audience.\nCurrently, only `CUSTOM` audience sources are supported meaning the audience has no linked source dataset.\nRequests to create audiences can optionally include definitions for columns to be added to the audience.\nIf no column definitions are provided, the audience will be created without any columns, and columns may\nbe added in the future using the [Create New Columns](ref:columns_addcolumns) endpoint.\n\nFolders can be used to organize and group similar audiences or audiences that will be used for similar purposes.\nFolders can be created using the [Create New Folder](ref:folders_createfolder) endpoint, and the id can be provided\nin the `folderId` field to create the audience within that folder. You can use the [List Folders](ref:folders_listfolders)\nendpoint to get a list of existing folders to place the audience into. If a `folderId` is not provided, the audience\ncreation process will create a new folder with the same name as the audience.\n\nWhen `autoMatchCriteria` is `true`, the system uses AI to automatically infer match criteria\nmappings for columns — for example, mapping an \"Email\" column to `CONTACT_EMAIL`.\n\nReturns `201 Created` with the audience resource.\nReturns `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":"Retrieves a paginated list of all audiences, with optional filtering and sorting.\nUse this endpoint to browse audiences or to find an `audienceId` before operating on rows, columns, or enrichment.\nFilter by `type` (`CONTACT` or `COMPANY`) and `searchText` (case-insensitive contains match on audience name).\nUse `sort` to order results by `name`, `createdAt`, `updatedAt`, or `recordCount`; prefix with `-` for descending order (default: `-updatedAt`).\nUse `page[number]` and `page[size]` (default `25`, max `100`) to paginate.\nReturns `200` with a paginated array of audience resources and navigation links.\nReturns `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.\nAllowed 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"]}},"/studio/v1/audiences/{audienceId}":{"get":{"operationId":"Audiences_getAudience","summary":"Fetch Audience","description":"Retrieves the full state of a single audience by its `audienceId`.\nReturns all audience attributes — name, type, source origin, current `recordCount`, folder location, creation and update timestamps, and the complete column structure with all column properties.\nUse this endpoint to check audience configuration before writing rows or before running enrichment.\nReturns `200` with the audience resource.\nReturns `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"}}}},"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.\nThis action is irreversible; the audience and all its data cannot be recovered after deletion.\nUse this endpoint only when retiring an audience entirely; to remove specific records, use the Delete Rows endpoint instead.\nReturns `204 No Content` on success.\nReturns `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":{"nullable":true}}}},"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.\nSupported fields: `name`, `folderId`, `description`, and `notes`. Only fields present in the request body are modified; all other attributes remain unchanged.\nUse this endpoint to rename an audience, move it to a different folder, or update its description or notes.\nReturns `200` with the updated audience resource.\nReturns `400` if the request body is malformed or contains unsupported fields.\nReturns `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"]}},"/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.\nUse this endpoint before building a filter-based row query to discover which operators — such as `EQUALS`, `CONTAINS`, `NOT_EQUALS` are supported for each column.\nThe 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`).\nUse this metadata to validate filter inputs client-side before sending a List Rows request.\nReturns `200` with a list of `FilterMetadata` objects keyed by `columnId`.\nReturns `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"]}},"/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).\nMatch criteria define how audience column values are mapped to ZoomInfo attributes (for example, mapping an \"Email\" column to `CONTACT_EMAIL`) for enrichment resolution.\n\nIf a request body is provided, the supplied match criteria are applied directly — each entry maps an audience `columnId` to a ZoomInfo attribute field.\nIf the request body is omitted or `matchCriteria` is not provided, the system attempts to auto-map match criteria using AI.\nIf the match column does not exist, it will be created automatically.\n\nExisting match criteria on the audience's match column are replaced by the new values.\nReturns `200` with the updated match column resource.\nReturns `400` if a `columnId` does not exist in the audience or a `mappedTo` value is invalid.\nReturns `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"]}},"/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.\n\nThe request body must include a `scope` field specifying the enrichment target:\n- `AUDIENCE`: Enriches all rows in the audience. The `rows` and `columns` fields are optional.\n- `ROW`: Enriches specific rows by `rowId`. The `rows` field is required and must contain at least one element. The `columns` field is optional.\n\nThis operation is asynchronous. Returns `202 Accepted` with an `EnrichJob` resource containing the job id.\nPoll 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.\n\nReturns `202 Accepted` on successful job creation.\nReturns `204 No Content` if no rows match the provided scope.\nReturns `400` for malformed requests, missing required fields, or invalid scope combinations.\nReturns `402` if enrichment cannot be processed for the account.\nReturns `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"]}},"/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.\nCovers all job types: `AUDIENCE_CREATE`, `AUDIENCE_ENRICH`, and `ROW_UPSERT`.\nProvide the `audienceId` and `jobId` returned by the originating operation.\nThe 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.\nReturns `200` with the job status resource.\nReturns `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"]}},"/studio/v1/audiences/{audienceId}/columns/actions/bulk/create":{"post":{"operationId":"Columns_addColumns","summary":"Create New Columns","description":"Adds one or more columns to an existing audience in a single bulk operation.\nColumns define the data fields available for each row in the audience; each column has a `name`, a `dataType` (e.g., `TEXT`, `INTEGER`, `EMAIL`, `DATE`, `BOOLEAN`), and behavior flags (`isFrozen`, `isHidden`).\n\nSupported column types:\n- `CUSTOM` (`columnType: CUSTOM`) - Static user-provided values\n- `FORMULA` (`columnType: FORMULA`) - Values generated from a formula prompt\n- `AI` (`columnType: AI`) - AI-generated values with optional `tool` and `dataDependencies` context\n- `ZOOMINFO_MATCH` (`columnType: ZOOMINFO_MATCH`) - Enrichment-driven values (configure via Upsert Column Match Criteria endpoint)\n\nReturns `201 Created` with the full array of created column resources including system-assigned `columnId` values and read-only flags.\nReturns `400` if required fields are missing or `dataType` is invalid.\nReturns `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"]}},"/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.\nThis 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.\nUse this to discover valid context sources, validate that selected context is supported, and choose relevant data dependencies that improve AI-generated output quality.\nResponse 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`).\nReturns `200 OK` with the list of supported data dependencies for the requested `tool`.\nReturns `400` if `tool` is invalid or not supported for data dependency discovery.\nReturns `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"]}},"/studio/v1/audiences/{audienceId}/columns/{columnId}":{"patch":{"operationId":"Columns_patchColumn","summary":"Update Column","description":"Updates a specific column's definition within an audience.\nSupported fields: `name`, `isFrozen`, and `isHidden`. Only fields present in the request body are modified.\nUse this endpoint to rename a column or toggle its display state.\nReturns `200` with the updated column resource.\nReturns `400` if the update is invalid or the column is not editable (`isEditable: false`).\nReturns `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.\nOnly columns where `isDeletable` is `true` can be removed using this endpoint; attempting to delete a non-deletable column returns `400`.\nThis action is irreversible — all data in the deleted column cannot be recovered.\nReturns `204 No Content` on successful deletion.\nReturns `400` if the column is not deletable.\nReturns `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":{"nullable":true}}}},"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"]}},"/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`.\nReturns 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).\nTo limit the response to specific columns, pass one or more `columnId` values in the `columns` query parameter; if omitted, all columns are returned.\nUse this endpoint to inspect individual records, verify enrichment results, or retrieve a row before an update operation.\nReturns `200` with the row resource.\nReturns `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"]}},"/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.\nRows 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).\nProvide a flat `filters` array in the request body to narrow results by column values and conditions.\nUse `page[number]` and `page[size]` (default `25`, max `100`) to paginate through results.\nUse the `sort` query parameter with a `columnId` value and a `-` prefix for descending order.\nUse the `columns` query parameter to limit which columns are returned per row.\nReturns `200` with a paginated array of rows and navigation links.\nReturns `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"]}},"/studio/v1/audiences/{audienceId}/rows/actions/bulk/upsert":{"post":{"operationId":"Rows_upsertRows","summary":"Bulk Upsert Rows","description":"Creates and/or updates multiple rows in an audience in a single bulk operation.\nEach entry in the request body includes cell values keyed by `columnId`. Including a `rowId` updates that existing row; omitting `rowId` creates a new row.\nBoth creates and updates can be combined freely in the same request.\nBy default, `runEnrichment` is `false` — enrichment does not run automatically; set it to `true` to trigger enrichment on affected rows after the upsert.\nTo limit enrichment to specific columns, provide `columnId` values in the `columns` query parameter; if omitted, all enrichable columns are processed.\nReturns `200` with `data[]` row resources — each entry includes `id`, `type`, and `attributes.values` with full cell details (`columnId`, `value`, `state`, and `errorDetails` when applicable).\nReturns `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"}},{"name":"runEnrichment","in":"query","required":false,"description":"When `true`, enrichment runs automatically on all affected rows after the upsert completes. Defaults to `false`.","schema":{"type":"boolean","default":false},"explode":false},{"name":"columns","in":"query","required":false,"description":"List of `columnId` values to enrich per row. Only used when `runEnrichment` is `true`; if omitted, all enrichable columns are processed.","schema":{"type":"array","items":{"type":"string"}},"explode":false}],"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 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"]}},"/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.\nProvide an array of `rowId` values in the request body. All row data and associated cell values are deleted and cannot be recovered.\nUse this endpoint to clean audiences of outdated, duplicate, or irrelevant records. To delete the entire audience, use the Delete Audience endpoint instead.\nThis 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.\nReturns `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"]}}},"security":[{"OAuth2Auth":[]}],"components":{"schemas":{"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."},"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."},"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."},"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."},"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"}}},"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"},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"UpdateFolderJsonApiModel":{"type":"object","properties":{"data":{"allOf":[{"$ref":"#/components/schemas/UpdateFolder"}],"description":"The primary data of the document"}},"description":"JSON API model for Folder."},"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)."}},"SourceOrigin":{"type":"string","enum":["CUSTOM","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.","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."}},"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."}},"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","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"]},"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."},"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."}},"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."},"FormulaExpressionLanguage":{"type":"string","enum":["JAVASCRIPT"],"description":"Supported expression languages for formula columns.","x-enumDescriptions":{"JAVASCRIPT":"JavaScript expression language."}},"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."},"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."}},"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."},"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."},"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."},"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."},"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}},"description":"Audience attributes returned upon creation"},"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."},"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."},"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."},"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."},"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\nFor 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,\nso 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,\nthat's why we have a separate model for column creation"},"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."},"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."},"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."},"AudienceAttributes":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CustomAudienceAttributes"}],"discriminator":{"propertyName":"origin","mapping":{"CUSTOM":"#/components/schemas/CustomAudienceAttributes"}}},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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"]},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"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`."}},"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.\n- If `scope` is `AUDIENCE`, enriches all rows; `rows` and `columns` are optional.\n- If `scope` is `ROW`, enriches specific rows; `rows` must be provided with at least one element. `columns` is optional."},"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."},"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."},"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."}},"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."},"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."},"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."},"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."},"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`."},"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."},"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."},"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.\nFORMULA - Column model representing a formula-based column where values are generated from a prompt.\nAI - Column model representing an AI-powered column where values are generated using a prompt, optional tool selection, and optional data dependency context.\nZOOMINFO_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."},"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."},"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."},"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."},"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."},"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},"columnType":{"allOf":[{"$ref":"#/components/schemas/ColumnType"}],"description":"Column type indicating the source and type of this column."}},"description":"Base attributes shared by all column types in an audience."},"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."},"ColumnUpdateJsonApiModel":{"type":"object","properties":{"data":{"allOf":[{"$ref":"#/components/schemas/UpdateColumn"}],"description":"The primary data of the document"}},"description":"JSON API model for Column update."},"StringArrayItem":{"type":"array","items":{"type":"string"},"description":"Represents a list of string values for a field"},"NumericArrayItem":{"type":"array","items":{"type":"number"},"description":"Represents a list of numeric values for a field"},"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."}},"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."},"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."},"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."},"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."},"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."},"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."},"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."},"Operator":{"type":"string","enum":["AND","OR"]},"StringArray":{"type":"array","items":{"type":"string"},"description":"Represents a list of string values for a field"},"NumericArray":{"type":"array","items":{"type":"number"},"description":"Represents a list of numeric values for a field"},"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"},"GenericFilters":{"type":"object","oneOf":[{"$ref":"#/components/schemas/GenericFilterFieldForAudience"}],"discriminator":{"propertyName":"type","mapping":{"Filter":"#/components/schemas/GenericFilterFieldForAudience"}}},"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)"},"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"},"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."},"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."},"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)."},"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."},"RowUpsertListApiModel":{"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."},"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."},"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."},"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."},"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"},"AudienceAttributesBase":{"type":"object","required":["name","recordCount","type"],"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."}},"description":"Audience model representing audience details."},"CreateColumnDuringAudienceCreation":{"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/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."},"CreateAudienceAttributes":{"type":"object","required":["name","recordCount","type"],"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."},"columns":{"type":"array","items":{"$ref":"#/components/schemas/CreateColumnDuringAudienceCreation"},"description":"The Columns in the audience"}},"description":"Audience model representing audience details."},"AiColumnBase":{"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","enum":["AI"],"description":"Column type indicating the source and type of this column."},"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."}},"description":"Base attributes shared by AI-powered columns. The `prompt` guides how the AI should generate values for the column."},"Versions":{"type":"string","enum":["1.0"]},"MatchType":{"type":"string","enum":["CONTACT","COMPANY"],"description":"Record type used for row matching during enrichment.","x-enumDescriptions":{"CONTACT":"Match against contact records.","COMPANY":"Match against company records."}}},"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"}}}}}},"servers":[{"url":"https://api.zoominfo.com/gtm","description":"Base URL for the GTM Studio API"}]}