Skip to main content
POST
/
events
/
custom
/
2026-03
/
event-definitions
cURL
curl --request POST \
  --url https://api.hubapi.com/events/custom/2026-03/event-definitions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "includeDefaultProperties": true,
  "label": "<string>",
  "propertyDefinitions": [
    {
      "label": "<string>",
      "type": "<string>",
      "description": "<string>",
      "name": "<string>",
      "options": [
        {
          "displayOrder": 123,
          "hidden": true,
          "label": "<string>",
          "value": "<string>",
          "description": "<string>"
        }
      ]
    }
  ],
  "customMatchingId": {
    "primaryObjectRule": {
      "eventPropertyName": "<string>",
      "targetObjectPropertyName": "<string>"
    }
  },
  "description": "<string>",
  "name": "<string>",
  "primaryObject": "<string>"
}
'
{
  "archived": true,
  "associations": [
    {
      "allowsCustomLabels": true,
      "cardinality": "ONE_TO_MANY",
      "category": "HUBSPOT_DEFINED",
      "fromObjectTypeId": "<string>",
      "hasAllAssociatedObjects": true,
      "hasCascadingDeletes": true,
      "hasUserEnforcedMaxFromObjectIds": true,
      "hasUserEnforcedMaxToObjectIds": true,
      "hidden": true,
      "id": 123,
      "inverseAllowsCustomLabels": true,
      "inverseCardinality": "ONE_TO_MANY",
      "inverseHasAllAssociatedObjects": true,
      "inverseId": 123,
      "inverseName": "<string>",
      "isDefault": true,
      "isInversePrimary": true,
      "isPrimary": true,
      "maxFromObjectIds": 123,
      "maxToObjectIds": 123,
      "name": "<string>",
      "portalUniqueIdentifier": "<string>",
      "readOnly": true,
      "toObjectTypeId": "<string>",
      "fromObjectType": "ABANDONED_CART",
      "hiddenReason": "DEFAULT",
      "inverseLabel": "<string>",
      "label": "<string>",
      "toObjectType": "ABANDONED_CART"
    }
  ],
  "fullyQualifiedName": "<string>",
  "id": "<string>",
  "labels": {
    "singular": "<string>",
    "plural": "<string>"
  },
  "name": "<string>",
  "objectTypeId": "<string>",
  "properties": [
    {
      "description": "<string>",
      "fieldType": "<string>",
      "groupName": "<string>",
      "label": "<string>",
      "name": "<string>",
      "options": [
        {
          "hidden": true,
          "label": "<string>",
          "value": "<string>",
          "description": "<string>",
          "displayOrder": 123
        }
      ],
      "type": "<string>",
      "archived": true,
      "archivedAt": "2023-11-07T05:31:56Z",
      "calculated": true,
      "calculationFormula": "<string>",
      "createdAt": "2023-11-07T05:31:56Z",
      "createdUserId": "<string>",
      "dataSensitivity": "highly_sensitive",
      "dateDisplayHint": "absolute",
      "displayOrder": 123,
      "externalOptions": true,
      "formField": true,
      "hasUniqueValue": true,
      "hidden": false,
      "hubspotDefined": true,
      "modificationMetadata": {
        "archivable": true,
        "readOnlyDefinition": true,
        "readOnlyValue": true,
        "readOnlyOptions": true
      },
      "referencedObjectType": "<string>",
      "sensitiveDataCategories": [
        "<string>"
      ],
      "showCurrencySymbol": true,
      "updatedAt": "2023-11-07T05:31:56Z",
      "updatedUserId": "<string>"
    }
  ],
  "comboEventRules": {
    "composingRules": [
      {
        "count": 123,
        "eventTypeId": "<string>",
        "propertyFilters": [
          {
            "filterType": "PROPERTY",
            "operation": {
              "includeObjectsWithNoValueSet": true,
              "operationType": "<string>",
              "operator": "HAS_EVER_BEEN_EQUAL_TO",
              "operatorName": "<string>",
              "propertyType": "bool",
              "value": true,
              "defaultValue": "<string>",
              "renderSpec": "<string>"
            },
            "property": "<string>",
            "context": {
              "objectTypeId": "<string>"
            },
            "filterInsightsId": 123,
            "frameworkFilterId": 123
          }
        ],
        "lookbackWindowDays": 123
      }
    ],
    "operationType": "AND",
    "ruleBranches": "<array>"
  },
  "createdAt": "2023-11-07T05:31:56Z",
  "createdUserId": 123,
  "customMatchingId": {
    "primaryObjectRule": {
      "eventPropertyName": "<string>",
      "targetObjectPropertyName": "<string>"
    }
  },
  "description": "<string>",
  "primaryObject": "<string>",
  "primaryObjectId": "<string>",
  "trackingType": "APP_EVENT",
  "updatedAt": "2023-11-07T05:31:56Z",
  "updatedUserId": 123
}

Supported products

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

application/json
includeDefaultProperties
boolean
required
label
string
required

Human readable label for the event for display in HubSpot's UI.

propertyDefinitions
object[]
required

List of custom properties on event

customMatchingId
object
description
string

A description of the event that will be shown as help text in HubSpot.

name
string

Internal event name, which must be used when referencing the event from the API. If a name is not supplied, one will be generated based on the label. The name does not include the pe<PORTAL_ID>_ prefix used when sending event completions.

primaryObject
string

The object type to associate this event to. Can be one of CONTACT, COMPANY, DEAL, TICKET. If no value is supplied, will default to CONTACT.

Response

successful operation

archived
boolean
required
associations
object[]
required
fullyQualifiedName
string
required
id
string
required
labels
object
required
name
string
required
objectTypeId
string
required
properties
object[]
required
comboEventRules
object
createdAt
string<date-time>
createdUserId
integer<int32>
customMatchingId
object
description
string
primaryObject
string
primaryObjectId
string
trackingType
enum<string>
Available options:
APP_EVENT,
AUTOCAPTURE_EVENT,
CLICKED_ELEMENT,
COMBO_EVENT,
CUSTOM_SCRIPT,
IMPORT,
MANUAL,
PROPERTY_CHANGE,
VISITED_URL,
WEBHOOK
updatedAt
string<date-time>
updatedUserId
integer<int32>
Last modified on March 30, 2026