Skip to main content

POST /v1/events

Ingest a single event.

Request body

{
  "agent_id": "my-agent",
  "action_type": "TOOL_CALL",
  "action_name": "search_database",
  "action_input": {"query": "revenue Q4"},
  "action_output": {"results": 42},
  "action_status": "success",
  "timestamp": "2026-02-17T10:30:00Z",
  "duration_ms": 150,
  "labels": {"env": "prod"},
  "metadata": {"model": "claude-sonnet-4-5-20250929"}
}

Required fields

FieldTypeDescription
agent_idstringAgent identifier (partition key for hash chain)
All other fields are optional. See Event Schema for the complete field reference.

Response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "schema_version": "1.0",
  "agent_id": "my-agent",
  "action_type": "TOOL_CALL",
  "action_name": "search_database",
  "sequence": 42,
  "hash": "sha256...",
  "prev_hash": "sha256...",
  "..."
}

Example

curl -X POST http://localhost:7600/v1/events \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "my-agent",
    "action_type": "TOOL_CALL",
    "action_name": "search_database",
    "action_status": "success"
  }'

POST /v1/batch

Ingest multiple events in a single request.

Request body

Array of events:
[
  {
    "agent_id": "my-agent",
    "action_type": "TOOL_CALL",
    "action_name": "search",
    "action_status": "success"
  },
  {
    "agent_id": "my-agent",
    "action_type": "TOOL_RESULT",
    "action_name": "search",
    "action_status": "success",
    "action_output": {"results": 42}
  }
]

Response

Returns 207 Multi-Status on partial failure, or 201 Created on full success. The response is an array of per-event results:
[
  {"index": 0, "event": {"id": "...", "sequence": 42, "...": "..."}},
  {"index": 1, "event": {"id": "...", "sequence": 43, "...": "..."}}
]
On error for a specific event:
[
  {"index": 0, "event": {"id": "...", "sequence": 42, "...": "..."}},
  {"index": 1, "error": "agent_id is required"}
]
This lets the client know exactly which events succeeded — no silent data loss.

Example

curl -X POST http://localhost:7600/v1/batch \
  -H "Content-Type: application/json" \
  -d '[
    {"agent_id": "a1", "action_type": "TOOL_CALL", "action_name": "search", "action_status": "success"},
    {"agent_id": "a1", "action_type": "TOOL_RESULT", "action_name": "search", "action_status": "success"}
  ]'