AckdbSourceCreateRequest

Request body for declaring a custom source. `eventTypeField` is required and `identityLinkTypes` must include `domain`.

Properties

sourceTypestringrequiredpattern /^[a-z][a-z0-9_]*$/

Lowercase source identifier (e.g. `app_usage`).

displayNamestringrequired

Human-readable name.

descriptionstringrequired

What data this source carries.

versionstring

Optional source version string.

queryingGuidestring

Optional agent-facing guidance on how to query this source's events.

identityLinkTypesarray ofrequired

External ID types this source can produce. MUST include `domain`.

string
eventTypeFieldstringrequired

REQUIRED. Which content.metadata field determines the event type.

eventTypePrefixstringrequired

Namespace prefix for event types.

defaultContentNaturestring

Optional default content nature applied to events that don't specify one.

"conversational""structured""activity-signal"
allowCustomEventTypesboolean

Optional HubSpot-custom-objects escape hatch: accept unknown event types and skip per-event validation.

defaultTraitsarray of

Optional default traits (each key must be `<sourceType>_*`).

eventsarray of

Optional event type definitions to create alongside the source.

Example

AckdbSourceCreateRequest example
{
  "sourceType": "app_usage",
  "displayName": "App Usage",
  "description": "string",
  "version": "string",
  "queryingGuide": "string",
  "identityLinkTypes": [
    "domain",
    "app_account_id"
  ],
  "eventTypeField": "event_type",
  "eventTypePrefix": "app_usage_",
  "defaultContentNature": "conversational",
  "allowCustomEventTypes": false,
  "defaultTraits": [
    {
      "traitKey": "app_usage_dau",
      "valueType": "number",
      "description": "string",
      "allowedValues": [
        "string"
      ]
    }
  ],
  "events": [
    {
      "eventType": "string",
      "description": "string",
      "category": "string",
      "rationale": "string",
      "contentNature": "conversational",
      "eventScope": "person",
      "fields": {},
      "promotedMetadataFields": [
        "string"
      ],
      "traitHints": [
        {
          "traitKey": "string",
          "computeHint": "string",
          "updateStrategy": "always"
        }
      ],
      "ingestExample": {},
      "replacesEvents": [
        "string"
      ],
      "contactMapping": {
        "role": "string",
        "nameField": "string",
        "emailField": "string",
        "titleField": "string",
        "externalIdField": "string",
        "externalIdType": "string",
        "linkedinUrlField": "string",
        "phoneField": "string",
        "departmentField": "string",
        "excludeWhen": {}
      },
      "contactMappings": [
        {
          "$ref": "See AckdbContactMappingInput"
        }
      ]
    }
  ]
}