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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'