ZoomInfo Engagements API
The Engagements API from ZoomInfo — 2 operation(s) for engagements.
The Engagements API from ZoomInfo — 2 operation(s) for engagements.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/zoominfo-engagements-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Platform API V1 Engagements API
version: '1.0'
contact:
name: ZoomInfo Customer Support
email: help@zoominfo.com
description: The Platform API
servers:
- url: https://api.zoominfo.com/gtm
description: Base URL for the Platform API
security:
- OAuth2Auth: []
tags:
- name: Engagements
paths:
/platform/v1/engagements/content-interactions:
post:
operationId: EngagementsController_upsertContentInteractions
summary: Upsert Content Interactions
description: Create or update content interaction engagement records
parameters: []
responses:
'201':
description: Created
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ContentInteractionUpsertResponse'
'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:
- Engagements
requestBody:
required: true
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ContentInteractionUpsertRequest'
description: Content interaction engagement data to create or update (supports single or multiple engagements)
security:
- OAuth2Auth:
- api:gtm-data-model:manage
x-additional-content-types:
- application/json
/platform/v1/engagements/content-interactions/{id}:
get:
operationId: EngagementsController_getContentInteractionEngagement
summary: Get content interaction
description: Retrieve a specific content interaction engagement by ID
parameters:
- name: id
in: path
required: true
description: The unique identifier of the content interaction engagement
schema:
type: string
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ContentInteractionResponse'
'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:
- Engagements
security:
- OAuth2Auth:
- api:gtm-data-model:read
delete:
operationId: EngagementsController_deleteContentInteractionEngagement
summary: Delete content interaction
description: Delete a content interaction engagement record
parameters:
- name: id
in: path
required: true
description: The unique identifier of the content interaction engagement to delete
schema:
type: string
responses:
'204':
description: Success
content:
application/vnd.api+json:
schema: {}
'401':
description: Unauthorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
'403':
description: Forbidden
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel'
'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:
- Engagements
security:
- OAuth2Auth:
- api:gtm-data-model:manage
components:
schemas:
Channel:
type: string
enum:
- Website
- Email
ContentType:
type: string
enum:
- Demo
- Document
- Email
- Form
- Video
- Website
ContentInteractionUpsertResponse:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/ContentInteraction'
description: The primary data of the document
meta:
allOf:
- $ref: '#/components/schemas/UpsertResponseMeta'
description: Non-standard meta information about the document
description: Response model for content interaction engagement upsert operations
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.
ContentInteractionResponse:
type: object
required:
- data
properties:
data:
allOf:
- $ref: '#/components/schemas/ContentInteraction'
description: The primary data of the document
description: Response model for getting a specific content interaction
InteractionType:
type: string
enum:
- Click
- Save
- Send
- Sign
- Submit
- View
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
ContentInteractionAttributes:
type: object
required:
- engagementId
- instanceId
- channel
- interactionType
- contentType
- actionPerformedAt
- status
- participant
properties:
engagementId:
type: string
description: Unique content interaction identifier
instanceId:
type: string
description: Unique identifier of the customer's organization/tenant/instance in the external platform where the data originated (e.g. unique CRM Organization Id)
instanceUrl:
type: string
description: Unique URL of the customer's organization/tenant/instance in the external platform where the data originated (e.g. unique CRM Organization Url)
duration:
type: integer
format: int32
description: Length of interaction in seconds (if applicable)
interactionProvider:
type: string
description: Name of the system where the interaction data originated
readOnly: true
channel:
allOf:
- $ref: '#/components/schemas/Channel'
description: Source or medium through which the interaction occurred
interactionDetails:
type: object
additionalProperties: {}
description: Include all attributes for this interaction that do not fit into the ContentInteraction schema (as key-value pairs)
interactionType:
allOf:
- $ref: '#/components/schemas/InteractionType'
description: 'Specific action performed during the interaction. Note: When interactionType = Send, email sends (contentType = Email) are not accepted here — email send events must be submitted via the dedicated Email object.'
contentType:
allOf:
- $ref: '#/components/schemas/ContentType'
description: 'Category or format of the content that received the interaction. Note: Email Sends (interactionType = Send and contentType = Email) are not accepted here — email send events must be submitted via the dedicated Email object.'
actionPerformedAt:
type: string
description: Timestamp when the interaction started (if duration is present, this is the start time)
endedAt:
type: string
description: Timestamp when the interaction ended (can be calculated from actionPerformedAt + duration if not explicitly provided)
targetUrl:
type: string
description: Target URL
targetName:
type: string
description: Target name
status:
allOf:
- $ref: '#/components/schemas/Status'
description: Interaction status
participant:
allOf:
- $ref: '#/components/schemas/ParticipantAttributes'
description: The participant associated with this content interaction
description: Content interaction engagement record attributes
UpsertResponseMeta:
type: object
required:
- timestamp
- processingTime
- recordsProcessed
- recordsSuccessful
- recordsFailed
properties:
timestamp:
type: string
description: Response timestamp
processingTime:
type: integer
format: int64
description: Processing time in milliseconds
recordsProcessed:
type: integer
format: int32
description: Number of records processed
recordsSuccessful:
type: integer
format: int32
description: Number of records successfully processed
recordsFailed:
type: integer
format: int32
description: Number of records that failed processing
description: API response meta information for upsert operations
ParticipantAttributes:
type: object
required:
- companyDomain
properties:
participantId:
type: string
description: Unique participant identifier
email:
type: string
description: Email address
phoneNumber:
type: string
description: Phone number
ipAddress:
type: string
description: IP address
name:
type: string
description: Full name
firstName:
type: string
description: First name
lastName:
type: string
description: Last name
title:
type: string
description: Job title
seniority:
type: string
description: Seniority level
companyDomain:
type: string
description: Company domain
companyName:
type: string
description: Company name
ziPersonId:
type: string
description: ZoomInfo person ID
readOnly: true
ziCompanyId:
type: string
description: ZoomInfo company ID
readOnly: true
description: Participant model with common properties.
ContentInteractionUpsertRequest:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/ContentInteractionCreateItem'
description: The primary data of the document
description: Model for creating multiple content interaction engagements
ContentInteraction:
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: ContentInteraction
pattern: ContentInteraction
attributes:
allOf:
- $ref: '#/components/schemas/ContentInteractionAttributes'
description: The attributes defining the resource
description: Content interaction model
Status:
type: string
enum:
- Completed
ContentInteractionCreateItem:
type: object
required:
- type
- attributes
properties:
type:
type: string
description: The type of the resource
default: ContentInteraction
pattern: ContentInteraction
attributes:
allOf:
- $ref: '#/components/schemas/ContentInteractionAttributes'
description: The attributes defining the resource
description: Content interaction model
securitySchemes:
OAuth2Auth:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://login.zoominfo.com
tokenUrl: https://okta-login.zoominfo.com/oauth2/default/v1/token
scopes:
api:gtm-data-model:read: Ability to read GTM Data Model entities, schemas, and data
api:gtm-data-model:manage: Ability to manage GTM Data Model entities, schemas, and data
api:workflows:read: Read Workflows data
api:workflows:execute: Execute Workflows
api:entitlement:read: Read User entitlements