Skip to content

HubSpot: Record Participants by Contact Id with Marketing Event Object Id

HubSpot marketingEvents.attendanceCreate: arguments, response, policy and SDK examples.

← Marketing events operations · Get started

Operation hubspot.marketing_events_attendance_create

Provider route: POST /marketing/marketing-events/2026-09/{objectId}/attendance/{subscriberState}/create. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/hubspot with npm, or alter-sdk-hubspot with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { HubSpotIntegration } from "@alter-ai/hubspot";
async function execute(input: Parameters<HubSpotIntegration["marketingEvents"]["attendanceCreate"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new HubSpotIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.marketingEvents.attendanceCreate(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_hubspot import HubSpotIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = HubSpotIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.marketing_events.attendance_create(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.objectIdstringRequired within parent
path.subscriberStatestringRequired within parent
bodyModelRequired within parentExpand Record a subscriber state by contact ID — request body — body

Referenced models: Record a subscriber state by contact ID — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Record Participants by Contact Id with Marketing Event Object Id — response body

Referenced models: Record Participants by Contact Id with Marketing Event Object Id — response body

Record a subscriber state by contact ID — request body — body
FieldTypePresenceDescription and constraints
$objectRoot
inputsarrayRequired within parentList of HubSpot contacts to subscribe to the marketing event
inputs[]ModelEach itemExpand Record a subscriber state by contact ID — request body — body inputs item

Referenced models: Record a subscriber state by contact ID — request body — body inputs item

Record Participants by Contact Id with Marketing Event Object Id — response body
FieldTypePresenceDescription and constraints
$objectRoot
completedAtstringRequired within parentTimestamp that represents when the request finished processing
Format: date-time
errorsarrayOptionalAn array of StandardError objects, each detailing an error encountered during the batch operation.
errors[]ModelEach itemExpand Create or Update Multiple Marketing Events — response body — errors item
linksobjectOptionalResult of the request
Additional keys: see wildcard field
links.*stringAdditional keys
numErrorsJSONOptional
numErrors (anyOf 1)integerAlternativeThe number of errors that occurred during the processing
Format: int32
numErrors (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
requestedAtstringOptionalTimestamp that represents when the request was made
Format: date-time
resultsarrayRequired within parentAn array of SubscriberVidResponse objects, each representing the result of processing an individual subscriber VID.
results[]ModelEach itemExpand Record Participants by Contact Id with Marketing Event Object Id — response body — results item
startedAtstringRequired within parentTimestamp that represents when the request started processing
Format: date-time
statusstringRequired within parentThe status of the request processing
Known values: CANCELED, COMPLETE, PENDING, PROCESSING

Referenced models: Create or Update Multiple Marketing Events — response body — errors item, Record Participants by Contact Id with Marketing Event Object Id — response body — results item

Record a subscriber state by contact ID — request body — body inputs item
FieldTypePresenceDescription and constraints
$objectRoot
interactionDateTimeintegerRequired within parentTimestamp in milliseconds at which the contact subscribed to the event.
Format: int64
propertiesobjectRequired within parentThe key-value set of the properties of the contact
Additional keys: see wildcard field
properties.*stringAdditional keys
vidintegerRequired within parentThe ID of the contact in HubSpot
Format: int64
Create or Update Multiple Marketing Events — response body — errors item
FieldTypePresenceDescription and constraints
$objectRootYe olde error
categorystringRequired within parentThe category of the error
contextobjectRequired within parentThe object that contains details of the errors
Additional keys: see wildcard field
context.*arrayAdditional keys
context.*[]stringEach item
errorsarrayRequired within parentAn array of ErrorDetail objects providing further information about the error.
errors[]ModelEach itemExpand Batch insert events — response body — errors item errors item
idstringOptionalThe ID of the request
linksobjectRequired within parentResults of the request
Additional keys: see wildcard field
links.*stringAdditional keys
messagestringRequired within parentA human readable message describing the error along with remediation steps where appropriate
statusstringRequired within parentStatus of the response
subCategoryobjectOptionalThe Sub-category of the error

Referenced models: Batch insert events — response body — errors item errors item

Record Participants by Contact Id with Marketing Event Object Id — response body — results item
FieldTypePresenceDescription and constraints
$objectRoot
vidJSONRequired within parent
vid (anyOf 1)integerAlternativeThe internal ID of the contact
Format: int64
vid (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
Batch insert events — response body — errors item errors item
FieldTypePresenceDescription and constraints
$objectRootRepresents detailed information about an error that occurred in the API. This component is used to provide additional context and specifics about errors, typically as part of an error response.
codestringOptionalThe status code associated with the error detail
contextobjectOptionalContext about the error condition
Additional keys: see wildcard field
context.*arrayAdditional keys
context.*[]stringEach item
instringOptionalThe name of the field or parameter in which the error was found.
messagestringRequired within parentA human readable message describing the error along with remediation steps where appropriate
subCategorystringOptionalA specific category that contains more specific detail about the error

SDK function policy ID: hubspot.marketing_events_attendance_create. Catalog operation: marketing_events_attendance_create. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Required provider scopes: ["crm.objects.marketing_events.write"]

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.