メインコンテンツへスキップ
POST
/
events
/
v3
/
event-definitions
カスタムイベント定義を作成
curl --request POST \
  --url https://api.hubapi.com/events/v3/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>"
        }
      ]
    }
  ],
  "description": "<string>",
  "name": "<string>",
  "primaryObject": "<string>"
}
'
import requests

url = "https://api.hubapi.com/events/v3/event-definitions"

payload = {
"includeDefaultProperties": True,
"label": "<string>",
"propertyDefinitions": [
{
"label": "<string>",
"type": "<string>",
"description": "<string>",
"name": "<string>",
"options": [
{
"displayOrder": 123,
"hidden": True,
"label": "<string>",
"value": "<string>",
"description": "<string>"
}
]
}
],
"description": "<string>",
"name": "<string>",
"primaryObject": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
includeDefaultProperties: true,
label: '<string>',
propertyDefinitions: [
{
label: '<string>',
type: '<string>',
description: '<string>',
name: '<string>',
options: [
{
displayOrder: 123,
hidden: true,
label: '<string>',
value: '<string>',
description: '<string>'
}
]
}
],
description: '<string>',
name: '<string>',
primaryObject: '<string>'
})
};

fetch('https://api.hubapi.com/events/v3/event-definitions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/events/v3/event-definitions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'includeDefaultProperties' => true,
'label' => '<string>',
'propertyDefinitions' => [
[
'label' => '<string>',
'type' => '<string>',
'description' => '<string>',
'name' => '<string>',
'options' => [
[
'displayOrder' => 123,
'hidden' => true,
'label' => '<string>',
'value' => '<string>',
'description' => '<string>'
]
]
]
],
'description' => '<string>',
'name' => '<string>',
'primaryObject' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.hubapi.com/events/v3/event-definitions"

payload := strings.NewReader("{\n \"includeDefaultProperties\": true,\n \"label\": \"<string>\",\n \"propertyDefinitions\": [\n {\n \"label\": \"<string>\",\n \"type\": \"<string>\",\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"options\": [\n {\n \"displayOrder\": 123,\n \"hidden\": true,\n \"label\": \"<string>\",\n \"value\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"primaryObject\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.hubapi.com/events/v3/event-definitions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"includeDefaultProperties\": true,\n \"label\": \"<string>\",\n \"propertyDefinitions\": [\n {\n \"label\": \"<string>\",\n \"type\": \"<string>\",\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"options\": [\n {\n \"displayOrder\": 123,\n \"hidden\": true,\n \"label\": \"<string>\",\n \"value\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"primaryObject\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.hubapi.com/events/v3/event-definitions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"includeDefaultProperties\": true,\n \"label\": \"<string>\",\n \"propertyDefinitions\": [\n {\n \"label\": \"<string>\",\n \"type\": \"<string>\",\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"options\": [\n {\n \"displayOrder\": 123,\n \"hidden\": true,\n \"label\": \"<string>\",\n \"value\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"description\": \"<string>\",\n \"name\": \"<string>\",\n \"primaryObject\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "archived": true,
  "associations": [
    {
      "allowsCustomLabels": true,
      "fromObjectTypeId": "<string>",
      "hasAllAssociatedObjects": true,
      "hasCascadingDeletes": true,
      "hasUserEnforcedMaxFromObjectIds": true,
      "hasUserEnforcedMaxToObjectIds": true,
      "hidden": true,
      "id": 123,
      "inverseAllowsCustomLabels": true,
      "inverseHasAllAssociatedObjects": true,
      "inverseId": 123,
      "inverseName": "<string>",
      "isDefault": true,
      "isInversePrimary": true,
      "isPrimary": true,
      "maxFromObjectIds": 123,
      "maxToObjectIds": 123,
      "name": "<string>",
      "portalUniqueIdentifier": "<string>",
      "readOnly": true,
      "toObjectTypeId": "<string>",
      "inverseLabel": "<string>",
      "label": "<string>"
    }
  ],
  "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>",
      "currencyPropertyName": "<string>",
      "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>",
              "operatorName": "<string>",
              "propertyType": "bool",
              "value": true,
              "defaultValue": "<string>",
              "renderSpec": "<string>"
            },
            "property": "<string>",
            "context": {
              "objectTypeId": "<string>"
            },
            "filterInsightsId": 123,
            "frameworkFilterId": 123
          }
        ],
        "lookbackWindowDays": 123
      }
    ],
    "ruleBranches": "<array>"
  },
  "createdAt": "2023-11-07T05:31:56Z",
  "createdUserId": 123,
  "customMatchingId": {
    "primaryObjectRule": {
      "eventPropertyName": "<string>",
      "targetObjectPropertyName": "<string>"
    }
  },
  "description": "<string>",
  "detailTemplate": "<string>",
  "headerTemplate": "<string>",
  "primaryObject": "<string>",
  "primaryObjectId": "<string>",
  "updatedAt": "2023-11-07T05:31:56Z",
  "updatedUserId": 123
}
{
"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"
}
}

Supported products

承認

Authorization
string
header
必須

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

ボディ

application/json
includeDefaultProperties
boolean
必須
label
string
必須

人間が読めるイベントのラベル。HubSpot UIで使用されます

propertyDefinitions
object[]
必須

イベントのカスタムプロパティーのリスト

customMatchingId
object
description
string

HubSpotにヘルプテキストとして表示されるイベントの説明。

name
string

このイベント定義APIからイベントを参照するときに使用する必要がある内部イベント名。名前が指定されていない場合、ラベルに基づいて生成されます。「name」値は、イベント完了をこのイベントに送信する際に使用することになるイベント定義の「fullyQualifiedName」を自動的に生成するためにも使用されます。

primaryObject
string

このイベントを関連付けるオブジェクトタイプ。CONTACT、COMPANY、DEAL、TICKETのいずれかになります。primaryObjectが指定されていない場合、デフォルトではCONTACTオブジェクトにイベントが関連付けられます。

レスポンス

successful operation

archived
boolean
必須
associations
object[]
必須
fullyQualifiedName
string
必須
id
string
必須
labels
object
必須
name
string
必須
objectTypeId
string
必須
properties
object[]
必須
comboEventRules
object
createdAt
string<date-time>
createdUserId
integer<int32>
customMatchingId
object
description
string
detailTemplate
string
headerTemplate
string
primaryObject
string
primaryObjectId
string
trackingType
enum<string>
利用可能なオプション:
APP_EVENT,
AUTOCAPTURE_EVENT,
CLICKED_ELEMENT,
COMBO_EVENT,
CUSTOM_SCRIPT,
CUSTOM_SIGNAL,
IMPORT,
MANUAL,
PROPERTY_CHANGE,
VISITED_URL,
WEBHOOK
updatedAt
string<date-time>
updatedUserId
integer<int32>
最終更新日 2026年4月10日