ZoomInfo · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Zoominfo Audiences API
31 actions
31 updates
phrasing
extends
openapi/zoominfo-audiences-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for ZoomInfo's API. It is a proposal applied on top of the contract, not a document ZoomInfo publishes.
What the actions change
x-apievangelist-phrasing
Targets 31 · first 16 shown; the file carries all of them
$.info
$.paths['/studio/v1/folders'].get
$.paths['/studio/v1/folders'].post
$.paths['/studio/v1/folders/{folderId}'].get
$.paths['/studio/v1/folders/{folderId}'].delete
$.paths['/studio/v1/folders/{folderId}'].patch
$.paths['/studio/v1/audiences'].get
$.paths['/studio/v1/audiences'].post
$.paths['/studio/v1/audiences/{audienceId}'].get
$.paths['/studio/v1/audiences/{audienceId}'].delete
$.paths['/studio/v1/audiences/{audienceId}'].patch
$.paths['/studio/v1/audiences/{audienceId}/filter-metadata'].get
$.paths['/studio/v1/audiences/{audienceId}/actions/match-criteria'].post
$.paths['/studio/v1/audiences/{audienceId}/actions/enrich'].post
$.paths['/studio/v1/audiences/{audienceId}/jobs/{jobId}'].get
$.paths['/studio/v1/audiences/{audienceId}/columns/actions/bulk/create'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Zoominfo Audiences API
version: 1.0.0
extends: openapi/zoominfo-audiences-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 30
- target: $.paths['/studio/v1/folders'].get
update:
x-apievangelist-phrasing:
intent: List GTM Studio folders
effect: read
questions:
- Which folders do I have for organizing my GTM Studio audiences?
- Can I find a folder by part of its name or by who created it?
- How do I see folders updated after a certain date?
instructions:
- text: List all my GTM Studio folders.
- text: Find folders whose name contains {text}.
slots:
text: query.filter[searchText]
- text: List folders created after {date}.
slots:
date: query.filter[createdAfter]
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/folders'].post
update:
x-apievangelist-phrasing:
intent: Create a folder for audiences
effect: write
questions:
- How do I create a folder to group audiences by campaign or region?
- Can I add a description when I make a new GTM Studio folder?
instructions:
- text: Create a GTM Studio folder called {folder}.
slots:
folder: requestBody.data
- text: Make a new folder {folder} to hold my event audiences.
slots:
folder: requestBody.data
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/folders/{folderId}'].get
update:
x-apievangelist-phrasing:
intent: Get a folder and its audiences
effect: read
questions:
- Which audiences are inside a specific folder?
- What are the notes and starred status on one of my folders?
instructions:
- text: Show folder {folderId}.
slots:
folderId: path.folderId
- text: List the audience IDs contained in folder {folderId}.
slots:
folderId: path.folderId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/folders/{folderId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a folder and its audiences
effect: destructive
questions:
- Does deleting a folder also delete the audiences inside it?
- Can I permanently remove a GTM Studio folder?
instructions:
- text: Delete folder {folderId}.
slots:
folderId: path.folderId
- text: Permanently remove folder {folderId} and everything in it.
slots:
folderId: path.folderId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/folders/{folderId}'].patch
update:
x-apievangelist-phrasing:
intent: Rename or update a folder
effect: write
questions:
- Can I rename a folder or star it without changing anything else?
- How do I edit the notes on an existing folder?
instructions:
- text: Rename folder {folderId} to {changes}.
slots:
folderId: path.folderId
changes: requestBody.data
- text: Star folder {folderId}.
slots:
folderId: path.folderId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences'].get
update:
x-apievangelist-phrasing:
intent: List GTM Studio audiences
effect: read
questions:
- Which GTM Studio audiences already exist so I don't create a duplicate?
- Can I list only my company audiences, or only contact audiences?
- How do I find a GTM Studio audience by part of its name?
instructions:
- text: List my GTM Studio audiences.
- text: Find GTM Studio audiences whose name contains {text}.
slots:
text: query.filter[searchText]
- text: List GTM Studio audiences of type {type} sorted by record count.
slots:
type: query.filter[type]
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences'].post
update:
x-apievangelist-phrasing:
intent: Create a GTM Studio audience
effect: write
questions:
- How do I build a working list of contacts or companies for a campaign in GTM Studio?
- Can I create an audience from trade show leads and match it automatically?
instructions:
- text: Create a GTM Studio audience {audience}.
slots:
audience: requestBody.data
- text: Create a GTM Studio audience {audience} with automatic match criteria {auto}.
slots:
audience: requestBody.data
auto: query.autoMatchCriteria
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}'].get
update:
x-apievangelist-phrasing:
intent: Get a GTM Studio audience and its columns
effect: read
questions:
- How many records are in one of my GTM Studio audiences?
- What columns does a GTM Studio audience have?
instructions:
- text: Show GTM Studio audience {audienceId}.
slots:
audienceId: path.audienceId
- text: Get the record count and column structure of audience {audienceId}.
slots:
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a GTM Studio audience
effect: destructive
questions:
- Can I permanently delete a GTM Studio audience with its rows and enrichment history?
- Is deleting a GTM Studio audience reversible?
instructions:
- text: Delete GTM Studio audience {audienceId}.
slots:
audienceId: path.audienceId
- text: Retire GTM Studio audience {audienceId} and remove all its rows.
slots:
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}'].patch
update:
x-apievangelist-phrasing:
intent: Rename or move a GTM Studio audience
effect: write
questions:
- How do I move a GTM Studio audience into a different folder?
- Can I rename an audience or change its description in GTM Studio?
instructions:
- text: Update GTM Studio audience {audienceId} with {changes}.
slots:
audienceId: path.audienceId
changes: requestBody.data
- text: Move audience {audienceId} to folder {changes}.
slots:
audienceId: path.audienceId
changes: requestBody.data
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/filter-metadata'].get
update:
x-apievangelist-phrasing:
intent: Get filter operators for an audience's columns
effect: read
questions:
- Which filter operators like EQUALS or CONTAINS can I use on each column of an audience?
- What can I filter on before querying rows in an audience?
instructions:
- text: Show the filter operators available for audience {audienceId}.
slots:
audienceId: path.audienceId
- text: Tell me which columns of audience {audienceId} support CONTAINS filters.
slots:
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/actions/match-criteria'].post
update:
x-apievangelist-phrasing:
intent: Set how an audience's column is matched
effect: write
questions:
- How do I tell ZoomInfo that my Email column should match on contact email?
- Can I change the match criteria used to enrich an audience?
instructions:
- text: Set the match criteria for audience {audienceId} to {criteria}.
slots:
audienceId: path.audienceId
criteria: requestBody.data
- text: Map the match column of audience {audienceId} using {criteria}.
slots:
audienceId: path.audienceId
criteria: requestBody.data
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/actions/enrich'].post
update:
x-apievangelist-phrasing:
intent: Enrich an audience with ZoomInfo data
effect: write
questions:
- How do I append ZoomInfo data to every row in an audience?
- Can I enrich only specific rows of an audience instead of the whole thing?
instructions:
- text: Enrich all rows in audience {audienceId}.
slots:
audienceId: path.audienceId
- text: Start an enrichment job on audience {audienceId} with scope {scope}.
slots:
audienceId: path.audienceId
scope: requestBody.data
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/jobs/{jobId}'].get
update:
x-apievangelist-phrasing:
intent: Check an audience job's progress
effect: read
questions:
- Is the enrichment job on my audience finished yet?
- What's the progress of a create, enrich or row upsert job?
instructions:
- text: Check job {jobId} on audience {audienceId}.
slots:
jobId: path.jobId
audienceId: path.audienceId
- text: Tell me how far along job {jobId} is for audience {audienceId}.
slots:
jobId: path.jobId
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/columns/actions/bulk/create'].post
update:
x-apievangelist-phrasing:
intent: Add columns to an audience
effect: write
questions:
- How do I define the columns an audience holds before loading rows?
- Can I change a column's data type after I create it?
instructions:
- text: Add columns {columns} to audience {audienceId}.
slots:
columns: requestBody.data
audienceId: path.audienceId
- text: Create an Email and a Company Name column in audience {audienceId}.
slots:
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/columns/data-dependencies/{tool}'].get
update:
x-apievangelist-phrasing:
intent: List data sources for an AI column
effect: read
questions:
- Which columns can an AI web research column use as context?
- What data dependencies are valid for an AI emailer column in my audience?
instructions:
- text: List the data dependencies for {tool} in audience {audienceId}.
slots:
tool: path.tool
audienceId: path.audienceId
- text: Show which context sources an AI_DATA_ANALYSIS column can use in audience {audienceId}.
slots:
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/columns/{columnId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a column from an audience
effect: destructive
questions:
- Can I remove a column and all its values from an audience?
- Why can't I delete some columns in an audience?
instructions:
- text: Delete column {columnId} from audience {audienceId}.
slots:
columnId: path.columnId
audienceId: path.audienceId
- text: Remove column {columnId} and its cell values in audience {audienceId}.
slots:
columnId: path.columnId
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/columns/{columnId}'].patch
update:
x-apievangelist-phrasing:
intent: Rename, freeze or hide a column
effect: write
questions:
- How do I rename a column in an audience?
- Can I freeze or hide a column in an audience view?
instructions:
- text: Rename column {columnId} in audience {audienceId} to {changes}.
slots:
columnId: path.columnId
audienceId: path.audienceId
changes: requestBody.data
- text: Hide column {columnId} in audience {audienceId}.
slots:
columnId: path.columnId
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/rows/{rowId}'].get
update:
x-apievangelist-phrasing:
intent: Get one row from an audience
effect: read
questions:
- Did enrichment finish for a particular row in my audience?
- Can I fetch a single audience row with only certain columns?
instructions:
- text: Get row {rowId} from audience {audienceId}.
slots:
rowId: path.rowId
audienceId: path.audienceId
- text: Show columns {columns} of row {rowId} in audience {audienceId}.
slots:
columns: query.columns
rowId: path.rowId
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/rows/actions/search'].post
update:
x-apievangelist-phrasing:
intent: Query rows in an audience
effect: read
questions:
- How do I filter and sort the rows in one of my audiences?
- Which rows in an audience have enrichment errors or blank cells?
instructions:
- text: List rows in audience {audienceId} matching {filter}.
slots:
audienceId: path.audienceId
filter: requestBody.data
- text: Show page {page} of rows in audience {audienceId} sorted by {sort}.
slots:
page: query.page[number]
audienceId: path.audienceId
sort: query.sort
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/rows/actions/upsert'].post
update:
x-apievangelist-phrasing:
intent: Create or update up to 50 audience rows
effect: write
questions:
- Can I add or update a handful of rows in an audience in one synchronous call?
- What's the limit on rows for the small, immediate upsert?
instructions:
- text: Upsert these rows {rows} into audience {audienceId} right away.
slots:
rows: requestBody.data
audienceId: path.audienceId
- text: Update a few rows in audience {audienceId} with {rows}, 50 or fewer.
slots:
audienceId: path.audienceId
rows: requestBody.data
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/rows/actions/bulk/upsert'].post
update:
x-apievangelist-phrasing:
intent: Load up to 500 rows into an audience
effect: write
questions:
- How do I load a CRM export or trade show list into an audience?
- Can I load hundreds of rows into an audience in one bulk call?
instructions:
- text: Bulk load {rows} into audience {audienceId}.
slots:
rows: requestBody.data
audienceId: path.audienceId
- text: Import up to 500 leads {rows} into audience {audienceId} as a bulk upsert.
slots:
rows: requestBody.data
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/studio/v1/audiences/{audienceId}/rows/actions/bulk/delete'].delete
update:
x-apievangelist-phrasing:
intent: Delete rows from an audience
effect: destructive
questions:
- Can I remove several rows from an audience at once?
- Is deleting audience rows permanent?
instructions:
- text: Delete rows {rowIds} from audience {audienceId}.
slots:
rowIds: requestBody.data
audienceId: path.audienceId
- text: Clean out rows {rowIds} in audience {audienceId}.
slots:
rowIds: requestBody.data
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/marketing/v1/audiences'].get
update:
x-apievangelist-phrasing:
intent: List marketing audiences
effect: read
questions:
- Which marketing audiences do I have for ad targeting?
- Can I page through my marketing audiences with a page token?
instructions:
- text: List my marketing audiences.
- text: Get the next page of marketing audiences using token {pageToken}.
slots:
pageToken: query.pageToken
method: generated
generated: '2026-09-26'
- target: $.paths['/marketing/v1/audiences'].post
update:
x-apievangelist-phrasing:
intent: Create a marketing audience
effect: write
questions:
- How do I create a new marketing audience?
- Can I set up a marketing audience before uploading a segment to it?
instructions:
- text: Create a marketing audience {audience}.
slots:
audience: requestBody.data
- text: Set up a new marketing audience named {audience}.
slots:
audience: requestBody.data
method: generated
generated: '2026-09-26'
- target: $.paths['/marketing/v1/audiences/{audienceId}'].get
update:
x-apievangelist-phrasing:
intent: Get a marketing audience
effect: read
questions:
- What are the settings of one marketing audience?
- Can I look up a marketing audience by its ID?
instructions:
- text: Get marketing audience {audienceId}.
slots:
audienceId: path.audienceId
- text: Show the details of marketing audience {audienceId}.
slots:
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/marketing/v1/audiences/{audienceId}'].put
update:
x-apievangelist-phrasing:
intent: Replace a marketing audience's settings
effect: write
questions:
- How do I change an existing marketing audience?
- Does updating a marketing audience overwrite the whole record?
instructions:
- text: Update marketing audience {audienceId} with {audience}.
slots:
audienceId: path.audienceId
audience: requestBody.data
- text: Replace the settings of marketing audience {audienceId} with {audience}.
slots:
audienceId: path.audienceId
audience: requestBody.data
method: generated
generated: '2026-09-26'
- target: $.paths['/marketing/v1/audiences/{audienceId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a marketing audience
effect: destructive
questions:
- Can I delete a marketing audience I no longer use?
- What happens when I remove a marketing audience?
instructions:
- text: Delete marketing audience {audienceId}.
slots:
audienceId: path.audienceId
- text: Remove the marketing audience {audienceId} from my account.
slots:
audienceId: path.audienceId
method: generated
generated: '2026-09-26'
- target: $.paths['/marketing/v1/audiences/{audienceId}/uploads'].post
update:
x-apievangelist-phrasing:
intent: Upload a segment to a marketing audience
effect: write
questions:
- How do I upload a segment into a marketing audience?
- Can I push a new list of records into an existing marketing audience?
instructions:
- text: Upload segment {segment} to marketing audience {audienceId}.
slots:
segment: requestBody.data
audienceId: path.audienceId
- text: Start a new upload for marketing audience {audienceId} with {segment}.
slots:
audienceId: path.audienceId
segment: requestBody.data
method: generated
generated: '2026-09-26'
- target: $.paths['/marketing/v1/audiences/{audienceId}/uploads/{uploadId}'].get
update:
x-apievangelist-phrasing:
intent: Check a marketing audience upload
effect: read
questions:
- Did my segment upload to a marketing audience succeed?
- What's the status of an audience upload I started?
instructions:
- text: Check upload {uploadId} for marketing audience {audienceId}.
slots:
uploadId: path.uploadId
audienceId: path.audienceId
- text: Get the status of upload {uploadId} on audience {audienceId}.
slots:
uploadId: path.uploadId
audienceId: path.audienceId
method: generated
generated: '2026-09-26'