canonical: https://jentic.com/apis/hubapi.com/hubspot-events-api

# HubSpot Events API

Jentic publishes the only available OpenAPI specification for the HubSpot Events API, keeping it validated and agent-ready. The Events API exposes the historical CRM object event log - every recorded event tied to contacts, companies, deals, tickets, and custom objects in the portal. Calls return paginated event records filtered by object type, object ID, event type, and time window. It is the read surface for analytics, reporting, and timeline reconstruction across HubSpot CRM data.

## For AI agents

Query the HubSpot CRM event log to retrieve historical events for any contact, company, deal, or ticket within a given time range.

## Scope

Does not handle event ingestion, custom event definitions, or report rendering - use for reading the historical CRM event log only.

## Capabilities

- List CRM events for a specific object by objectType and objectId
- Filter events by eventType to isolate page views, form submissions, or email opens
- Page through large event histories using occurredBefore and occurredAfter timestamps
- Reconstruct a contact's full activity timeline for reporting
- Pull events across an entire object type for batch analytics export
- Identify gaps or anomalies in tracked behaviour for a single record

## Use cases

### Contact Activity Timeline Export

Sales and customer success teams often need a chronological view of everything a contact has done - page views, email opens, form submissions, meeting bookings. The Events API returns paginated event records for a single objectType+objectId so the consuming system can build a clean timeline. The same call drives compliance exports for GDPR data subject requests.

Example prompt: Call GET /events/v3/events with objectType=contact, objectId=12345, occurredAfter=2026-01-01T00:00:00Z and page through every event

### Behavioural Reporting

Marketing teams want to see how often a specific event (e.g., pricing-page view, demo-form submission) happened across the contact base. The Events API filters by eventType and time window, so a reporting pipeline can pull just the events of interest and aggregate them downstream. This avoids dragging the full timeline into the warehouse just to count one event type.

Example prompt: Retrieve every 'e_visited_page' event with occurredAfter=2026-05-01T00:00:00Z to count pricing-page visits this month

### Conversion Funnel Reconstruction

To measure conversion from first touch to closed deal, an analytics job pulls events for each contact in a target segment and orders them by occurredAt. The resulting sequence supports funnel analysis, attribution modelling, and cohort retention. The Events API is the only HubSpot surface that provides this raw, ordered activity data.

Example prompt: For each contactId in the target list, fetch all events and order by occurredAt ascending to build the touch sequence

### Agent-Driven Activity Lookup

An AI agent that drafts personalised follow-up messages uses Jentic to pull recent activity for a contact before composing the email. It searches for 'hubspot contact events', loads the schema, and queries the Events API filtered to the last 14 days. The recent activity informs the message content directly.

Example prompt: Search Jentic for 'list hubspot contact events', load the schema, and fetch every event for objectType=contact, objectId=12345 with occurredAfter=14 days ago

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /events/v3/events | List CRM events filtered by objectType, objectId, eventType, and occurredAt range |

## Key resources

- **Events** — Read CRM object events filtered by objectType, objectId, eventType, and time range

## Why Jentic

- **Setup:** Wiring the HubSpot Events API by hand means handling both OAuth and app-token auth against api.hubapi.com and assembling the event-log filter parameters yourself. Through Jentic you install once, import the HubSpot Events API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** This API exposes one read operation over the CRM event log, so limit the agent to that single operation, which is all this API offers. It is read-only, so there are no write or delete calls to grant.
- **Credential handling:** Your HubSpot credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list hubspot contact events', and Jentic returns GET /events/v3/events with its filter parameters so the agent fetches the right slice of activity without browsing the reference docs.

## Related APIs

- **HubSpot CRM Cards** — CRM cards can render activity summaries that the Events API supplies
- **HubSpot Webhooks API** — Webhooks push change notifications while the Events API reads historical activity on demand
- **Segment API** — Segment captures and forwards behavioural events across many destinations including HubSpot

## FAQ

### Why is there no official OpenAPI spec for the HubSpot Events API?

HubSpot does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the HubSpot Events API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the HubSpot Events API use?

It accepts OAuth 2.0 access tokens, the private-app-legacy header for private apps, and the hapikey query parameter as a legacy fallback. Jentic stores all credential types in its encrypted vault and provides agents with scoped tokens at execution time.

### Can I write events to HubSpot through this API?

No. The Events API exposes only GET /events/v3/events for reading. Writing custom behavioural events uses a separate HubSpot endpoint under /events/v3/send for tracked custom events; this API is read-only over the historical event log.

### What are the rate limits for the HubSpot Events API?

Standard HubSpot API limits apply: 100 requests per 10 seconds per private app token and 110 per 10 seconds per OAuth app per portal, with daily limits tied to the subscription tier. For large historical exports, use occurredAfter pagination to spread the read across multiple calls.

### How do I retrieve a contact's recent activity through Jentic?

Search Jentic for 'list hubspot contact events', load the schema for GET /events/v3/events, and execute with objectType=contact, objectId=<the contact id>, and occurredAfter=<ISO timestamp>. Page through the response with the after cursor returned in paging.next.

### Is the HubSpot Events API free?

API access is included with any HubSpot subscription, but the Events API surfaces data captured by HubSpot's tracking and CRM features, which scale with the Marketing Hub or Sales Hub tier. Higher tiers retain more event history.

### Can I limit what my agent is allowed to do with the HubSpot Events API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, so you can restrict it to just this API's single read operation, GET /events/v3/events. That call only reads the historical CRM event log filtered by objectType, objectId, eventType, and time range, and the API offers no write or delete operations to grant. Your HubSpot credential stays in your own instance and is injected only when the allowed call runs, never exposed to the agent.
