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

sourceTypestringrequired
eventTypestringrequired
descriptionstringrequired

What this event represents (for AI agents and workflow builders)

categorystring | null

Cross-source activity category for this event (e.g. `billing`, `communication`, `meeting`). Lets agents filter related events across different sources.

contentNaturestring | null

How 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"null
rationalestring

Why this event is included and which redundant events it replaces

replacesEventsarray of

Source events intentionally excluded because this event covers their signal

string
fieldsobjectrequired

Per-field definitions with type, description, computeHint, example

promotedMetadataFieldsarray of

Fields promoted to entity_events.metadata for fast queryability

string
traitHintsarray of

Traits that should be updated when this event is ingested

traitKeystring
computeHintstring
updateStrategystring
"always""first_only""latest"
ingestExampleobject

Complete POST /ingest request body - copy-pasteable template

Example

AckdbEventTypeDefinition 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": {}
}