How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

HubSpot Marketing Events API

HubSpot Marketing Events — 36 operation(s) from HubSpot's published OpenAPI.

HubSpot Marketing Events API is one of 144 APIs that HubSpot publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 692 JSON Schema definitions.

Tagged areas include Marketing and Events. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, code examples, and 692 JSON Schemas.

This API exposes 36 operations across 28 paths, organized into 9 resource areas, and defines 55 schemas. It is described by OpenAPI 3.0.1, at version 2026-09.

Requests are made against a single base URL, https://api.hubapi.com.

36 operations 28 paths 55 schemas 4 DELETE13 GET2 PATCH14 POST3 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
2026-09
Base URL
https://api.hubapi.com
Authentication
API Key, OAuth 2.0, API Key, API Key
Resource Areas
9

Authentication & Security 4

HubSpot Marketing Events API declares 4 security schemes for authenticating requests. An API key is passed in the query as hapikey (developer_hapikey). It supports OAuth 2.0 (oauth2) using the authorizationCode flow, exposing 4 scopes. An API key is passed in the header as private-app (private_apps). An API key is passed in the header as private-app-legacy (private_apps_legacy).

Paths & Operations 36

Across 28 paths, the API surfaces 36 operations — 4 DELETE, 13 GET, 2 PATCH, 14 POST, 3 PUT. They span 9 resource areas: Basic, List Associations, Event Attendees, Batch, Identifiers, Event Status, Subscriber State Changes, Participant State, Settings. Each is listed below with its method, path, parameters, and response codes.

Basic 9
GET
/marketing/marketing-events/2026-09
get-/marketing/marketing-events/2026-09_/marketing/marketing-events/v3 2 params → 200default
POST
/marketing/marketing-events/2026-09/events
Create a marketing event
post-/marketing/marketing-events/2026-09/events_create body → 200default
GET
/marketing/marketing-events/2026-09/events/{externalEventId}
Get Marketing Event by External IDs
get-/marketing/marketing-events/2026-09/events/{externalEventId}_getDetails 2 params → 200default
PUT
/marketing/marketing-events/2026-09/events/{externalEventId}
Create or update a marketing event
put-/marketing/marketing-events/2026-09/events/{externalEventId}_upsert 1 param body → 200default
DELETE
/marketing/marketing-events/2026-09/events/{externalEventId}
Delete Marketing Event by External Ids
delete-/marketing/marketing-events/2026-09/events/{externalEventId}_archive 2 params → 204default
PATCH
/marketing/marketing-events/2026-09/events/{externalEventId}
Update Marketing Event by External IDs
patch-/marketing/marketing-events/2026-09/events/{externalEventId}_update 2 params body → 200default
GET
/marketing/marketing-events/2026-09/{objectId}
Get Marketing Event by objectId
get-/marketing/marketing-events/2026-09/{objectId}_getByObjectId 1 param → 200default
DELETE
/marketing/marketing-events/2026-09/{objectId}
Delete Marketing Event by objectId
delete-/marketing/marketing-events/2026-09/{objectId}_archiveByObjectId 1 param → 204default
PATCH
/marketing/marketing-events/2026-09/{objectId}
Update Marketing Event by objectId
patch-/marketing/marketing-events/2026-09/{objectId}_updateByObjectId 1 param body → 200default
List Associations 6
GET
/marketing/marketing-events/2026-09/associations/{externalAccountId}/{externalEventId}/lists
Get lists associated with a marketing event
get-/marketing/marketing-events/2026-09/associations/{externalAccountId}/{externalEventId}/lists_getAllByExternalAccountAndEventIds 2 params → 200default
PUT
/marketing/marketing-events/2026-09/associations/{externalAccountId}/{externalEventId}/lists/{listId}
Associate a list with a marketing event
put-/marketing/marketing-events/2026-09/associations/{externalAccountId}/{externalEventId}/lists/{listId}_associateByExternalAccountAndEventIds 3 params → 204default
DELETE
/marketing/marketing-events/2026-09/associations/{externalAccountId}/{externalEventId}/lists/{listId}
Disassociate a list from a marketing event
delete-/marketing/marketing-events/2026-09/associations/{externalAccountId}/{externalEventId}/lists/{listId}_disassociateByExternalAccountAndEventIds 3 params → 204default
GET
/marketing/marketing-events/2026-09/associations/{marketingEventId}/lists
Get lists associated with a marketing event
get-/marketing/marketing-events/2026-09/associations/{marketingEventId}/lists_getAllByMarketingEventId 1 param → 200default
PUT
/marketing/marketing-events/2026-09/associations/{marketingEventId}/lists/{listId}
Associate a list with a marketing event
put-/marketing/marketing-events/2026-09/associations/{marketingEventId}/lists/{listId}_associateByMarketingEventId 2 params → 204default
DELETE
/marketing/marketing-events/2026-09/associations/{marketingEventId}/lists/{listId}
Disassociate a list from a marketing event
delete-/marketing/marketing-events/2026-09/associations/{marketingEventId}/lists/{listId}_disassociateByMarketingEventId 2 params → 204default
Event Attendees 4
POST
/marketing/marketing-events/2026-09/attendance/{externalEventId}/{subscriberState}/create
Record Participants by ContactId with Marketing Event External Ids
post-/marketing/marketing-events/2026-09/attendance/{externalEventId}/{subscriberState}/create_recordByContactIds 3 params body → 200default
POST
/marketing/marketing-events/2026-09/attendance/{externalEventId}/{subscriberState}/email-create
Record Participants by Email with Marketing Event External Ids
post-/marketing/marketing-events/2026-09/attendance/{externalEventId}/{subscriberState}/email-create_recordByContactEmails 3 params body → 200default
POST
/marketing/marketing-events/2026-09/{objectId}/attendance/{subscriberState}/create
Record Participants by ContactId with Marketing Event Object Id
post-/marketing/marketing-events/2026-09/{objectId}/attendance/{subscriberState}/create_recordByContactId 2 params body → 200default
POST
/marketing/marketing-events/2026-09/{objectId}/attendance/{subscriberState}/email-create
Record Participants by Email with Marketing Event Object Id
post-/marketing/marketing-events/2026-09/{objectId}/attendance/{subscriberState}/email-create_recordByEmail 2 params body → 200default
Batch 4
POST
/marketing/marketing-events/2026-09/batch/archive
Delete Multiple Marketing Events by ObjectId
post-/marketing/marketing-events/2026-09/batch/archive_archiveByObjectId body → default
POST
/marketing/marketing-events/2026-09/batch/update
Update Multiple Marketing Events by ObjectId
post-/marketing/marketing-events/2026-09/batch/update_updateByObjectId body → 200207default
POST
/marketing/marketing-events/2026-09/events/delete
Delete Multiple Marketing Events by External Ids
post-/marketing/marketing-events/2026-09/events/delete_archive body → default
POST
/marketing/marketing-events/2026-09/events/upsert
Create or Update Multiple Marketing Events
post-/marketing/marketing-events/2026-09/events/upsert_upsert body → 200default
Identifiers 2
GET
/marketing/marketing-events/2026-09/events/search
Find App-Specific Marketing Events by External Event Id
get-/marketing/marketing-events/2026-09/events/search_doSearch 1 param → 200default
GET
/marketing/marketing-events/2026-09/{externalEventId}/identifiers
Find Marketing Events by External Event Id
get-/marketing/marketing-events/2026-09/{externalEventId}/identifiers_searchPortalEvents 1 param → 200default
Event Status 2
POST
/marketing/marketing-events/2026-09/events/{externalEventId}/cancel
Mark a marketing event as cancelled
post-/marketing/marketing-events/2026-09/events/{externalEventId}/cancel_cancel 2 params → 200default
POST
/marketing/marketing-events/2026-09/events/{externalEventId}/complete
Mark a marketing event as completed
post-/marketing/marketing-events/2026-09/events/{externalEventId}/complete_complete 2 params body → 200default
Subscriber State Changes 2
POST
/marketing/marketing-events/2026-09/events/{externalEventId}/{subscriberState}/email-upsert
Record a subscriber state by contact email
post-/marketing/marketing-events/2026-09/events/{externalEventId}/{subscriberState}/email-upsert_upsertByContactEmail 3 params body → default
POST
/marketing/marketing-events/2026-09/events/{externalEventId}/{subscriberState}/upsert
Record a subscriber state by contact ID
post-/marketing/marketing-events/2026-09/events/{externalEventId}/{subscriberState}/upsert_upsertByContactId 3 params body → default
Participant State 5
GET
/marketing/marketing-events/2026-09/participations/contacts/{contactIdentifier}/breakdown
Read participations breakdown by Contact identifier
get-/marketing/marketing-events/2026-09/participations/contacts/{contactIdentifier}/breakdown_getParticipationsBreakdownByContactId 4 params → 200default
GET
/marketing/marketing-events/2026-09/participations/{externalAccountId}/{externalEventId}
Read participations counters by Marketing Event external identifier
get-/marketing/marketing-events/2026-09/participations/{externalAccountId}/{externalEventId}_getParticipationsCountersByEventExternalId 2 params → 200default
GET
/marketing/marketing-events/2026-09/participations/{externalAccountId}/{externalEventId}/breakdown
Read participations breakdown by Marketing Event external identifier
get-/marketing/marketing-events/2026-09/participations/{externalAccountId}/{externalEventId}/breakdown_getParticipationsBreakdownByExternalEventId 6 params → 200default
GET
/marketing/marketing-events/2026-09/participations/{marketingEventId}
Read participations counters by Marketing Event internal identifier
get-/marketing/marketing-events/2026-09/participations/{marketingEventId}_getParticipationsCountersByMarketingEventId 1 param → 200default
GET
/marketing/marketing-events/2026-09/participations/{marketingEventId}/breakdown
Read participations breakdown by Marketing Event internal identifier
get-/marketing/marketing-events/2026-09/participations/{marketingEventId}/breakdown_getParticipationsBreakdownByMarketingEventId 5 params → 200default
Settings 2
GET
/marketing/marketing-events/2026-09/{appId}/settings
Retrieve the application settings
get-/marketing/marketing-events/2026-09/{appId}/settings_getAll 1 param → 200default
POST
/marketing/marketing-events/2026-09/{appId}/settings
Update the application settings
post-/marketing/marketing-events/2026-09/{appId}/settings_update 1 param body → 200default

Schemas 55

The contract defines 55 schemas that model the data the API accepts and returns. The most detailed are MarketingEventPublicReadResponseV2 (21 properties), PropertyValue (20 properties), MarketingEventPublicReadResponse (19 properties), MarketingEventPublicDefaultResponse (14 properties). Each schema is shown below with its type and property counts.

AppInfo
object
2 properties 2 required
AttendanceCounters
object
4 properties 4 required
BatchInputMarketingEventCreateRequestParams
object
1 property 1 required
BatchInputMarketingEventEmailSubscriber
object
1 property 1 required
BatchInputMarketingEventExternalUniqueIdentifier
object
1 property 1 required
BatchInputMarketingEventPublicObjectIdDeleteRequest
object
1 property 1 required
BatchInputMarketingEventPublicUpdateRequestFullV2
object
1 property 1 required
BatchInputMarketingEventSubscriber
object
1 property 1 required
BatchResponseMarketingEventPublicDefaultResponse
object
8 properties 4 required
BatchResponseMarketingEventPublicDefaultResponseV2
object
6 properties 4 required
BatchResponseMarketingEventPublicDefaultResponseV2WithErrors
object
8 properties 4 required
BatchResponseSubscriberEmailResponse
object
8 properties 4 required
BatchResponseSubscriberVidResponse
object
8 properties 4 required
CollectionResponseMarketingEventPublicReadResponseV2ForwardPaging
object
2 properties 1 required
CollectionResponseSearchPublicResponseWrapperNoPaging
object
1 property 1 required
CollectionResponseWithTotalMarketingEventIdentifiersResponse
object
3 properties 2 required
CollectionResponseWithTotalParticipationBreakdown
object
3 properties 2 required
CollectionResponseWithTotalPublicList
object
3 properties 2 required
ContactAssociation
object
4 properties 2 required
CrmPropertyWrapper
object
2 properties 2 required
Error
object
Represents an error response returned by the API when an operation fails. This component is used in various endpoints to provide detailed information about the…
7 properties 3 required
ErrorDetail
object
Represents detailed information about an error that occurred in the API. This component is used to provide additional context and specifics about errors, typic…
5 properties 1 required
EventDetailSettings
object
2 properties 2 required
EventDetailSettingsUrl
object
1 property 1 required
ForwardPaging
object
Paging information for forward-only pagination. Contains the next page reference when more results are available; omitted or empty on the last page.
1 property
MarketingEventAssociation
object
4 properties 2 required
MarketingEventCompleteRequestParams
object
2 properties 2 required
MarketingEventCreateRequestParams
object
12 properties 5 required
MarketingEventDefaultResponse
object
11 properties 3 required
MarketingEventEmailSubscriber
object
4 properties 4 required
MarketingEventExternalUniqueIdentifier
object
3 properties 3 required
MarketingEventIdentifiersResponse
object
5 properties 3 required
MarketingEventPublicDefaultResponse
object
14 properties 6 required
MarketingEventPublicDefaultResponseV2
object
14 properties 5 required
MarketingEventPublicObjectIdDeleteRequest
object
1 property 1 required
MarketingEventPublicReadResponse
object
19 properties 11 required
MarketingEventPublicReadResponseV2
object
21 properties 5 required
MarketingEventPublicUpdateRequestFullV2
object
10 properties 2 required
MarketingEventPublicUpdateRequestV2
object
9 properties 1 required
MarketingEventSubscriber
object
3 properties 3 required
MarketingEventUpdateRequestParams
object
10 properties 1 required
MaskedSubstring
object
2 properties 2 required
MaskedSubstrings
object
1 property 1 required
NextPage
object
Specifies the paging information needed to retrieve the next set of results in a paginated API response
2 properties 1 required
Paging
object
2 properties
ParticipationAssociations
object
2 properties 2 required
ParticipationBreakdown
object
4 properties 4 required
ParticipationProperties
object
4 properties 2 required
PreviousPage
object
specifies the paging information needed to retrieve the previous set of results in a paginated API response
2 properties 1 required
PropertyValue
object
Represents a single custom property of a marketing event, storing its name, value, metadata (like source, timestamp, and sensitivity), and related audit inform…
20 properties 20 required
PublicList
object
13 properties 6 required
SearchPublicResponseWrapper
object
4 properties 4 required
StandardError
object
Ye olde error
8 properties 6 required
SubscriberEmailResponse
object
2 properties 2 required
SubscriberVidResponse
object
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

hubspot-marketing-marketing-events-api-openapi.yml Raw ↑

Other APIs HubSpot publishes across the network.

HubSpot URL Redirects API
HubSpot Pipelines API
HubSpot Products API
HubSpot Line Items API
HubSpot Quotes API
HubSpot CRM Properties API
HubSpot Owners API
HubSpot CRM Imports API
HubSpot Custom Objects API
HubSpot Marketing Events API
HubSpot Forms API
HubSpot Workflows API
Where this information came from

This is an independent, third-party profile of HubSpot Marketing Events API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.