AckdbEventTypeInput
Event type definition payload for declaring/editing an event type. The same shape is accepted in `SourceCreateRequest.events[]`, `POST .../events`, and `PUT .../events/{eventType}`.
Properties
eventTypestringrequiredEvent type identifier (e.g. `usage.daily_rollup`).
descriptionstringrequiredWhat this event represents.
categorystringOptional cross-source activity category.
rationalestringOptional: why this event is included.
contentNaturestringrequiredHow the event's content should be treated downstream (e.g. for embedding).
"conversational""structured""activity-signal"eventScopestringrequiredWhether the event describes a person or the entity (company/account).
"person""entity"fieldsobjectrequiredField name → field definition. The event's content schema.
promotedMetadataFieldsarray ofFields promoted into entity_events.metadata for fast filtering/aggregation.
traitHintsarray ofOptional traits that should be updated when this event is ingested.
traitKeystringrequiredTrait to update. Must be a registered trait definition.
computeHintstringHow to compute the trait value from this event's content.
updateStrategystringAdvisory authoring hint only - it does NOT auto-translate to an ingest `op`. `always` ≈ `op:set`; `latest` ≈ `op:set_if_newer` (date traits); `first_only` has no native op (the workflow must guard on first observation). The workflow still sets the actual `op` on each ingested trait.
"always""first_only""latest"ingestExampleobjectOptional complete POST /ingest template for this event.
replacesEventsarray ofSource events intentionally excluded because this event covers their signal.
contactMappingAckdbContactMappingInputcontactMappingsarray ofMultiple contact mappings (merged with the singular `contactMapping`).
Example
{
"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"
}
]
}