Skip to content

Events

Publish an event to a channel. Supports both Bearer token and API key auth.

Body:

{
"identifier": "task.started",
"payload": {"task": "summarize article"},
"channel_id": 1,
"agentId": "research-agent",
"eventType": "agent.start",
"traceId": "tr_abc123",
"spanId": "sp_001",
"metadata": {"tool_name": "web_search"}
}

Required fields: identifier, payload, channel_id

Event types: agent.start, agent.end, agent.message, agent.tool_call.start, agent.tool_call.end, agent.error, agent.handoff, agent.llm.token, custom

BoundLimitBehavior
Recommended max per event~64 KBKeep individual events small for fast retrieval and minimal IoT realtime overhead.
Inline-vs-S3 threshold380 KBEvents strictly larger than this are stored in S3 instead of inline. Reads work transparently but add a fetch hop.
Hard request cap6 MBAnything above is rejected with 413 Payload Too Large. Applies uniformly to POST /event, OTLP, and Sentry envelope endpoints.

If you need to attach a large blob (file uploads, raw model outputs, screenshots), upload it to your own object store and put the URL in the event payload — don’t try to inline it.

List events for a channel with pagination.

Query parameters:

ParamTypeDefaultDescription
pageint1Page number
limitint20Items per page

Response:

{
"data": [...],
"meta": {
"total": 100,
"page": 1,
"limit": 20,
"totalPages": 5
}
}