openapi: 3.0.1 info: title: HubSpot Events Send Event Completions description: Basepom for all HubSpot Projects version: 2026-09 x-hubspot-product-tier-requirements: marketing: ENTERPRISE sales: ENTERPRISE service: ENTERPRISE cms: ENTERPRISE commerce: ENTERPRISE crmHub: ENTERPRISE dataHub: ENTERPRISE servers: - url: https://api.hubapi.com tags: - name: Basic - name: Batch paths: /events/v3/2026-09/send: post: tags: - Basic summary: Send a custom event occurrence description: Send data for a single custom event occurrence. operationId: post-/events/v3/2026-09/send_send parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/BehavioralEventHttpCompletionRequest' required: true responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - analytics.behavioral_events.send x-hubspot-rate-limit-exemptions: - daily - ten-secondly /events/v3/2026-09/send/batch: post: tags: - Batch summary: Send a batch of event occurrences description: Send multiple event occurrences at once. operationId: post-/events/v3/2026-09/send/batch_send parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchedBehavioralEventHttpCompletionRequest' required: true responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - analytics.behavioral_events.send x-hubspot-rate-limit-exemptions: - daily - ten-secondly components: schemas: BatchedBehavioralEventHttpCompletionRequest: required: - inputs type: object properties: inputs: type: array items: $ref: '#/components/schemas/BehavioralEventHttpCompletionRequest' BehavioralEventHttpCompletionRequest: required: - eventName - properties type: object properties: email: type: string description: The visitor's email address. Used for associating the event data with a CRM record. eventName: type: string description: The event's fully qualified name. This value (formatted as `pe{HubID}_{name}`) can be retrieved through the [event definitions API](https://developers.hubspot.com/docs/reference/api/analytics-and-events/custom-events/custom-event-definitions#get-%2Fevents%2Fv3%2Fevent-definitions) or in [HubSpot's UI](https://knowledge.hubspot.com/reports/create-custom-behavioral-events-with-the-code-wizard#find-internal-name). objectId: type: string description: The ID of the record for which the event occurred (e.g., contact ID or visitor ID). occurredAt: type: string description: The time when this event occurred. If this isn't set, the current time will be used. format: date-time example: '2026-01-20T21:14:16.512Z' properties: type: object additionalProperties: type: string description: The event properties to update. Takes the format of key-value pairs (property internal name and property value). Learn more about [HubSpot's default event properties](https://developers.hubspot.com/docs/guides/api/analytics-and-events/custom-events/custom-event-definitions#hubspot-s-default-event-properties). utk: type: string description: The visitor's usertoken. Used for associating the event data with a CRM record. uuid: type: string description: A unique identifier for the event occurrence. Must be unique within the event type. If not provided, HubSpot will generate a random UUID. When multiple events have the same ID within a year, the first will be accepted and all others will be rejected. Can be useful for matching data between HubSpot and other external systems. Error: required: - category - correlationId - message type: object properties: category: type: string description: The error category context: type: object additionalProperties: type: array items: type: string description: Context about the error condition example: '{invalidPropertyName=[propertyValue], missingScopes=[scope1, scope2]}' correlationId: type: string description: A unique identifier for the request. Include this value with any error reports or support tickets format: uuid example: aeb5f871-7f07-4993-9211-075dc63e7cbf errors: type: array description: further information about the error items: $ref: '#/components/schemas/ErrorDetail' links: type: object additionalProperties: type: string description: A map of link names to associated URIs containing documentation about the error or recommended remediation steps message: type: string description: A human readable message describing the error along with remediation steps where appropriate example: An error occurred subCategory: type: string description: A specific category that contains more specific detail about the error description: 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 error encountered. example: message: Invalid input (details will vary based on the error) correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf category: VALIDATION_ERROR links: knowledge-base: https://www.hubspot.com/products/service/knowledge-base ErrorDetail: required: - message type: object properties: code: type: string description: The status code associated with the error detail context: type: object additionalProperties: type: array items: type: string description: Context about the error condition example: '{missingScopes=[scope1, scope2]}' in: type: string description: The name of the field or parameter in which the error was found. message: type: string description: A human readable message describing the error along with remediation steps where appropriate subCategory: type: string description: A specific category that contains more specific detail about the error description: Represents 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. responses: Error: description: An error occurred. content: '*/*': schema: $ref: '#/components/schemas/Error' securitySchemes: developer_hapikey: type: apiKey name: hapikey in: query oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://app.hubspot.com/oauth/authorize tokenUrl: https://api.hubapi.com/oauth/v1/token scopes: analytics.behavioral_events.send: '' behavioral_events.event_definitions.read_write: '' private_apps: type: apiKey name: private-app in: header private_apps_legacy: type: apiKey name: private-app-legacy in: header x-hubspot-available-client-libraries: - Node - Python - Ruby - PHP x-hubspot-product-tier-requirements: marketing: ENTERPRISE sales: ENTERPRISE service: ENTERPRISE cms: ENTERPRISE commerce: ENTERPRISE crmHub: ENTERPRISE dataHub: ENTERPRISE