Skip to content

Events API

The event pipeline ingests session events and fans them out to configured sinks.

All endpoints are prefixed with /api/v1/volundr/events.

Endpoints

Method Path Description
POST /events Ingest a single event
POST /events/batch Ingest a batch of events
GET /events/health Health status of all sinks

Per-session event queries are under the Sessions API:

Method Path Description
GET /sessions/{id}/events Query events with type/time filters
GET /sessions/{id}/events/counts Event type counts
GET /sessions/{id}/events/tokens Token burn timeline

Event types

Type Payload fields
message_user content_length, content_preview
message_assistant content_length, content_preview, finish_reason
file_created path, size_bytes
file_modified path, insertions, deletions
file_deleted path
git_commit hash, message, files_changed
git_push branch, commits_count, remote
git_branch name, from_branch
git_checkout branch
terminal_command command, exit_code, duration_ms
tool_use tool, arguments_preview, duration_ms
error source, message
token_usage provider, model, tokens_in, tokens_out
session_start model, repo, branch
session_stop reason, total_tokens

Sinks

Events are dispatched to all configured sinks. Failures in one sink do not block others.

Sink Config key Extra required
PostgreSQL always enabled
RabbitMQ event_pipeline.rabbitmq.enabled rabbitmq
OpenTelemetry event_pipeline.otel.enabled otel

See Event Sinks for backend configuration.