Skip to main content

EventContext

EventContext standardizes event envelope metadata for domain events

Usage profiles​

UsageFields and validation
In webhook payloadsView fields

In webhook payloads​

Webhook JSON uses protobuf field names (snake_case).

FieldTypePresenceMeaning
event_namestringOptionalStable event name, e.g. "llm.message_published"
versionstringOptionalVersion of the event schema (semver or simple numeric)
event_idstringOptionalUnique event identifier (UUID)
correlation_idstringOptionalCorrelation identifier (e.g., session/workflow/conversation id)
emitted_atstringOptionalRFC3339 timestamp string of when the event was emitted
caller_keystringOptionalPublisher-provided routing key (e.g., conversation/thread id)
metadataMap from string to stringOptionalApplication-level metadata (not transport tracing headers)
tenant_idstringOptionalIdentifier of the tenant to which the event belongs, used to select that tenant’s webhook destinations.
project_idstringOptionalIdentifier of the project within the tenant that scopes the event. Defaults to default when no project is supplied.
session_idstringOptionalIdentifier of the end-user application session associated with the event, distinct from tenant and conversation identity.

Where used​

ReferenceRelationship
llm.generation_completedWebhook JSON uses protobuf field names (snake_case).
llm.generation_startedWebhook JSON uses protobuf field names (snake_case).
llm.message_publishedWebhook JSON uses protobuf field names (snake_case).
llm.tool_call_approval_requiredWebhook JSON uses protobuf field names (snake_case).
llm.tool_call_completedWebhook JSON uses protobuf field names (snake_case).
llm.tool_call_startedWebhook JSON uses protobuf field names (snake_case).
LLMGenerationCompletedEventNested in model
LLMGenerationStartedEventNested in model
LLMMessagePublishedEventNested in model
ToolCallCompletedEventNested in model
ToolCallStartedEventNested in model

Download the public reference contract.

Document: DOC-API-MODEL-event-context.