---
title: "List Pulses"
method: GET
path: "/agent/v1/pulses"
tags: ["Pulses"]
---

# List Pulses

`GET /agent/v1/pulses`

## Request

- Base URL: `https://api.zoominfo.com/gtm`
- URL: `https://api.zoominfo.com/gtm/agent/v1/pulses`
- Auth: OAuth 2
  - Authorization code: `https://login.zoominfo.com`
  - Token URL: `https://okta-login.zoominfo.com/oauth2/default/v1/token` scopes: `api:agent-pulses:read`

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.

## Query parameters

- `page[size]` integer
- `page[number]` integer

## Response `200`

Success

- PulsesListResponse: Response containing a page of the authenticated user's active pulses.
  - `data` Pulse[], required: The primary data of the document
    - `id` string, required: The unique identifier for the resource
    - `type` string, required: The type of the resource
    - `attributes` PulseAttributes, required: 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.
      - `title` string, required: Display title of the pulse.
      - `priority` 'HIGH' | 'MEDIUM' | 'LOW', required: Priority level of a pulse.
      - `category` 'FINANCIAL' | 'PEOPLE' | 'ACTIVITY' | 'COMPETITIVE' | 'INITIATIVE' | 'ENGAGEMENT' | 'PLAY' | 'OTHER', required: Top-level category a pulse belongs to.
      - `pulseType` 'INSIGHT' | 'TASK' | 'EVENT' | 'SUMMARY', required: Type of pulse content.
      - `signalType` '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': 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.
      - `companies` PulseCompanyRef[]: 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).
        - `id` integer, required: ZoomInfo company identifier.
        - `name` string, required: Display name of the company.
      - `contacts` PulseContactRef[]: 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).
        - `id` integer, required: ZoomInfo contact identifier.
        - `name` string, required: Display name of the contact.
      - `summary` string: 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` string: 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.
    - `meta` PulseMeta: System-managed metadata for a pulse.
      - `createdAt` string, date-time, required: Time at which the pulse was created.
      - `expiresAt` string, date-time: Time at which the pulse expires. Absent when the pulse has no expiration.
  - `meta` PagingMeta: Metadata for the current page of results.
    - `page` integer, required: The current page of results being returned.
    - `pageSize` integer, required: The page size as specified by the request.
    - `totalCount` integer, required: The total count of results within the current search parameters.
  - `links` PagingLinks: Links describing the available paging options.
    - `first` string, uri: A link to the first page of data
    - `last` string, uri: A link to the last page of data
    - `prev` string, uri: A link to the previous page of data
    - `next` string, uri: A link to the next page of data

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `429`: Too Many Requests

---

[API](https://skmtc.dev/zoominfo/apis/agent-api-v1.md) - [All operations](https://skmtc.dev/zoominfo/apis/agent-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/zoominfo/apis/agent-api-v1/revisions/01784a5ae274?raw)
