AckdbEventTypeDefinition
Complete definition of one event type within a source. Includes field schemas with descriptions, compute hints, examples, and a complete POST /ingest template. The full event contract also carries `eventScope` (`person` vs `entity`) and, for person-scope events, a `contactMapping`/`contactMappings` describing how a contact is extracted at ingest time - see `EventTypeInput`/`ContactMappingInput` for those declaration-side fields.
Properties
sourceTypestringrequiredeventTypestringrequireddescriptionstringrequiredWhat this event represents (for AI agents and workflow builders)
categorystring | nullCross-source activity category for this event (e.g. `billing`, `communication`, `meeting`). Lets agents filter related events across different sources.
contentNaturestring | nullHow the event's content should be treated downstream (e.g. for embedding). `conversational` content is chunked + embedded; `structured`/`activity-signal` is not.
"conversational""structured""activity-signal"nullrationalestringWhy this event is included and which redundant events it replaces
replacesEventsarray ofSource events intentionally excluded because this event covers their signal
fieldsobjectrequiredPer-field definitions with type, description, computeHint, example
promotedMetadataFieldsarray ofFields promoted to entity_events.metadata for fast queryability
traitHintsarray ofTraits that should be updated when this event is ingested
traitKeystringcomputeHintstringupdateStrategystring"always""first_only""latest"ingestExampleobjectComplete POST /ingest request body - copy-pasteable template
Example
{
"sourceType": "stripe",
"eventType": "invoice.paid",
"description": "string",
"category": "billing",
"contentNature": "structured",
"rationale": "string",
"replacesEvents": [
"string"
],
"fields": {},
"promotedMetadataFields": [
"string"
],
"traitHints": [
{
"traitKey": "string",
"computeHint": "string",
"updateStrategy": "always"
}
],
"ingestExample": {}
}