{ "openapi" : "3.0.1", "info" : { "title" : "Events Send Event Completions", "description" : "Basepom for all HubSpot Projects", "version" : "v3", "x-hubspot-product-tier-requirements" : { "marketing" : "ENTERPRISE", "sales" : "ENTERPRISE", "service" : "ENTERPRISE", "cms" : "ENTERPRISE", "commerce" : "ENTERPRISE", "crmHub" : "ENTERPRISE", "dataHub" : "ENTERPRISE" }, "x-hubspot-related-documentation" : [ { "name" : "Custom Events Completions Guide", "url" : "https://developers.hubspot.com/docs/guides/api/analytics-and-events/custom-events/custom-event-completions" } ] }, "servers" : [ { "url" : "https://api.hubapi.com" } ], "tags" : [ { "name" : "Basic" }, { "name" : "Batch" } ], "paths" : { "/events/v3/send" : { "post" : { "tags" : [ "Basic" ], "summary" : "Send a custom event occurrence", "description" : "Send data for a single custom event occurrence.", "operationId" : "post-/events/v3/send_send", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BehavioralEventHttpCompletionRequest" }, "example" : null } }, "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/send/batch" : { "post" : { "tags" : [ "Batch" ], "summary" : "Send a batch of event occurrences", "description" : "Send multiple event occurrences at once.", "operationId" : "post-/events/v3/send/batch_send", "parameters" : [ ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BatchedBehavioralEventHttpCompletionRequest" }, "example" : null } }, "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", "example" : null, "items" : { "$ref" : "#/components/schemas/BehavioralEventHttpCompletionRequest" } } }, "example" : null }, "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.", "example" : null }, "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).", "example" : null }, "objectId" : { "type" : "string", "description" : "The ID of the record for which the event occurred (e.g., contact ID or visitor ID).", "example" : null }, "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", "example" : null }, "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).", "example" : null }, "utk" : { "type" : "string", "description" : "The visitor's usertoken. Used for associating the event data with a CRM record.", "example" : null }, "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.", "example" : null } }, "example" : null }, "Error" : { "required" : [ "category", "correlationId", "message" ], "type" : "object", "properties" : { "category" : { "type" : "string", "description" : "The error category", "example" : null }, "context" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } }, "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", "example" : null, "items" : { "$ref" : "#/components/schemas/ErrorDetail" } }, "links" : { "type" : "object", "additionalProperties" : { "type" : "string", "example" : null }, "description" : "A map of link names to associated URIs containing documentation about the error or recommended remediation steps", "example" : null }, "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", "example" : null } }, "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", "example" : null }, "context" : { "type" : "object", "additionalProperties" : { "type" : "array", "example" : null, "items" : { "type" : "string", "example" : null } }, "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.", "example" : null }, "message" : { "type" : "string", "description" : "A human readable message describing the error along with remediation steps where appropriate", "example" : null }, "subCategory" : { "type" : "string", "description" : "A specific category that contains more specific detail about the error", "example" : null } }, "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.", "example" : null } }, "responses" : { "Error" : { "description" : "An error occurred.", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/Error" }, "example" : null } } } }, "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" } }