ZoomInfo Pulses API
The Pulses API from ZoomInfo — 1 operation(s) for pulses.
The Pulses API from ZoomInfo — 1 operation(s) for pulses.
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-pulses-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: Agent API V1 Pulses API
version: '1.0'
contact:
name: ZoomInfo Customer Support
email: help@zoominfo.com
description: "This definition only exposes one of many API routes from agentic-ai-platform\n in order to quickly support an integration opportunity with SalesForce.\n The model includes some definitions used by API routes that are not being\n surfaced at this time. They remain included where they are referenced as\n dependencies, to avoid model refactoring, and with the intent that additional\n capabilities of agentic-ai-platform will be released under ZI-API in the future/"
servers:
- url: https://api.zoominfo.com/gtm
description: Base URL for the Agent API
security:
- OAuth2Auth: []
tags:
- name: Pulses
paths:
/agent/v1/pulses:
get:
operationId: PulsesController_listPulses
summary: List Pulses
description: 'Returns the authenticated user''s active pulses as a lightweight collection optimized for consumption
by large language models (LLMs). Each entry includes a plain-text summary of the rendered content,
priority, category, typed identity references for associated companies and contacts, and an optional
`context` explanation.
Designed for AI / agent consumption. Dismissed, saved, and expired pulses are excluded.
## Ordering
Results are returned in stable descending order of `meta.createdAt`, then by `priority`
(`HIGH` first, then `MEDIUM`, then `LOW`), then by `id` ascending as a tiebreaker. The ordering
is consistent across pages so pagination is safe under concurrent inserts.
'
parameters:
- name: page[size]
in: query
required: false
description: 'The number of pulses to return per page of results. Allowable values are between 1 and 100.
The default value if not provided is 25 pulses per page.'
schema:
type: integer
format: int32
minimum: 1
maximum: 100
explode: false
- name: page[number]
in: query
required: false
description: The page of results to fetch. The default value if not provided is `1` to fetch the first page of results.
schema:
type: integer
format: int32
minimum: 1
explode: false
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PulsesListResponse'
'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:
- Pulses
security:
- OAuth2Auth:
- api:agent-pulses:read
x-api-roles:
- fea:pls
components:
schemas:
PulseAttributes:
type: object
required:
- title
- priority
- category
- pulseType
properties:
title:
type: string
maxLength: 256
description: Display title of the pulse.
priority:
allOf:
- $ref: '#/components/schemas/PulsePriority'
description: Priority level assigned to the pulse.
category:
allOf:
- $ref: '#/components/schemas/PulseCategory'
description: Category the pulse belongs to.
pulseType:
allOf:
- $ref: '#/components/schemas/PulseType'
description: Type of pulse content.
signalType:
allOf:
- $ref: '#/components/schemas/PulseSignalType'
description: Underlying signal that drove the pulse. Present only on signal-derived pulses; absent on task, event, and summary pulses.
companies:
type: array
items:
$ref: '#/components/schemas/PulseCompanyRef'
maxItems: 100
description: Companies associated with the pulse. Each entry carries a ZoomInfo company identifier and display name so agents can chain into other ZoomInfo APIs without an additional lookup step. Absent when the pulse has no company associations (for example, a contact-only pulse).
contacts:
type: array
items:
$ref: '#/components/schemas/PulseContactRef'
maxItems: 100
description: Contacts associated with the pulse. Each entry carries a ZoomInfo contact identifier and display name so agents can chain into other ZoomInfo APIs without an additional lookup step. Absent when the pulse has no contact associations (for example, a company-only pulse).
summary:
type: string
maxLength: 4000
description: Plain-text summary of the rendered pulse content. Suitable as input to a large language model (LLM). Absent when the content block fails to render or contains no extractable text.
context:
type: string
maxLength: 2000
description: 'LLM-generated natural-language context explaining why this pulse is relevant to the authenticated user. Non-deterministic: the wording, length, and emphasis can change across invocations and across underlying model versions. Treat the field as opaque context, not as a stable contract for downstream parsing.'
description: Lightweight view of a pulse optimized for consumption by large language models (LLMs). Omits content blocks, recipients, data sources, and calls to action (CTAs) in favor of typed identity references for associated companies and contacts plus an LLM-generated relevance explanation.
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.
PulseCategory:
type: string
enum:
- FINANCIAL
- PEOPLE
- ACTIVITY
- COMPETITIVE
- INITIATIVE
- ENGAGEMENT
- PLAY
- OTHER
description: Top-level category a pulse belongs to.
x-enumDescriptions:
FINANCIAL: Funding, earnings, M&A, and budget-related signals.
PEOPLE: Hires, departures, role changes, and leadership moves.
ACTIVITY: Website activity, form intent signals, and engagement trends.
COMPETITIVE: Competitor actions, market positioning, and win/loss signals.
INITIATIVE: Strategic programs, transformations, and internal priorities.
ENGAGEMENT: Meetings, calls, and other direct engagement themes.
PLAY: Pulse originating from a GTM Studio play.
OTHER: Uncategorized pulse.
PulseSignalType:
type: string
enum:
- CONTACT_NEW_HIRES
- CONTACT_PROMOTIONS
- CONTACT_DEPARTURES
- UPCOMING_MEETING
- WEBSITE_VISITOR
- COMPETITOR_INTENT
- WEBSITE_SPIKES
- FORM_COMPLETE
- WEBSITE_VISITS
- COMPANY_FUNDING
- HIRING
- ANOMALOUS_HIRING
- EARNINGS
- INITIAL_PUBLIC_OFFERING
- LAYOFFS
- G2_TRUST_RADIUS
- PODCAST_MENTIONS
- PERSON_BASED_NEWS
- BUYING_INTENT_SPIKE
- TECHNOLOGY_ADDED
description: Underlying signal that drove the pulse. New signal types are introduced by adding values to this enum; consumers should accept additive enum changes without treating them as a breaking schema change.
x-enumDescriptions:
CONTACT_NEW_HIRES: A contact at a target account has joined a new role.
CONTACT_PROMOTIONS: A contact at a target account has been promoted.
CONTACT_DEPARTURES: A contact at a target account has left the company.
UPCOMING_MEETING: A meeting with a contact at a target account is upcoming.
WEBSITE_VISITOR: A known contact visited the customer's website.
COMPETITOR_INTENT: Intent activity indicating research into a competitor.
WEBSITE_SPIKES: A spike in website traffic from a target account.
FORM_COMPLETE: A contact at a target account completed a form on the customer's site.
WEBSITE_VISITS: Website visits attributable to a target account (company-level).
COMPANY_FUNDING: A target account raised a new round of funding.
HIRING: A target account is hiring at a notable rate.
ANOMALOUS_HIRING: A target account is hiring well outside its historical rate.
EARNINGS: A target account published an earnings report or financial update.
INITIAL_PUBLIC_OFFERING: A target account had an initial public offering.
LAYOFFS: A target account announced layoffs.
G2_TRUST_RADIUS: Activity on G2 or TrustRadius for the customer's product or competitors.
PODCAST_MENTIONS: A target account or its contacts were mentioned on a podcast.
PERSON_BASED_NEWS: News mentioning a specific contact at a target account.
BUYING_INTENT_SPIKE: Account-level intent activity has spiked across buying topics.
TECHNOLOGY_ADDED: A target account added a new technology to its stack.
PulsePriority:
type: string
enum:
- HIGH
- MEDIUM
- LOW
description: Priority level of a pulse.
x-enumDescriptions:
HIGH: Highest urgency. Surface and act on these first.
MEDIUM: Standard urgency.
LOW: Lowest urgency. Informational; defer if higher-priority work is available.
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
Pulse:
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: Pulse
pattern: Pulse
attributes:
allOf:
- $ref: '#/components/schemas/PulseAttributes'
description: The attributes defining the resource
meta:
allOf:
- $ref: '#/components/schemas/PulseMeta'
description: Non-standard meta information about the resource
description: A pulse delivered to the authenticated user.
PulseCompanyRef:
type: object
required:
- id
- name
properties:
id:
type: integer
format: int64
description: ZoomInfo company identifier.
name:
type: string
maxLength: 256
description: Display name of the company.
description: Identity of a company associated with a pulse. The `id` is a ZoomInfo company identifier and can be passed to other ZoomInfo APIs (for example the Data API enrichment endpoints).
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
PulseType:
type: string
enum:
- INSIGHT
- TASK
- EVENT
- SUMMARY
description: Type of pulse content.
x-enumDescriptions:
INSIGHT: Insight or group of insights about a company or contact.
TASK: Task assigned to a user.
EVENT: Event such as an upcoming meeting.
SUMMARY: Generic summary of data (for example, a weekly territory analysis or CRM hygiene digest).
PagingMeta:
type: object
required:
- page
- pageSize
- totalCount
properties:
page:
type: integer
format: uint32
description: The current page of results being returned.
pageSize:
type: integer
format: uint32
description: The page size as specified by the request.
totalCount:
type: integer
format: uint32
description: The total count of results within the current search parameters.
description: Metadata for the current page of results.
PulsesListResponse:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/Pulse'
description: The primary data of the document
meta:
allOf:
- $ref: '#/components/schemas/PagingMeta'
description: Non-standard meta information about the document
links:
allOf:
- $ref: '#/components/schemas/PagingLinks'
description: Links related to the primary data
description: Response containing a page of the authenticated user's active pulses.
PulseMeta:
type: object
required:
- createdAt
properties:
createdAt:
type: string
format: date-time
description: Time at which the pulse was created.
expiresAt:
type: string
format: date-time
description: Time at which the pulse expires. Absent when the pulse has no expiration.
description: System-managed metadata for a pulse.
PagingLinks:
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: Links describing the available paging options.
PulseContactRef:
type: object
required:
- id
- name
properties:
id:
type: integer
format: int64
description: ZoomInfo contact identifier.
name:
type: string
maxLength: 256
description: Display name of the contact.
description: Identity of a contact associated with a pulse. The `id` is a ZoomInfo contact identifier and can be passed to other ZoomInfo APIs.
securitySchemes:
OAuth2Auth:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://login.zoominfo.com
tokenUrl: https://okta-login.zoominfo.com/oauth2/default/v1/token
scopes:
api:agent:agentforce: Access Agentforce integration
api:agent-teams:read: Read Agent Teams
api:agent-teams:execute: Execute Agent Teams and view run status
api:agent-pulses:read: Read the authenticated user's pulses