HTTP API Reference
The Agent Tracer server is divided into admin/read API, lifecycle API, event ingestion API, bookmark API, search API, and workflow library API. The current HTTP surface is implemented as a NestJS controller, with actual semantics converging in a single MonitorService.
Core Files
packages/server/src/presentation/controllers/admin.controller.tspackages/server/src/presentation/controllers/lifecycle.controller.tspackages/server/src/presentation/controllers/event.controller.tspackages/server/src/presentation/controllers/ingest.controller.tspackages/server/src/presentation/controllers/bookmark.controller.tspackages/server/src/presentation/controllers/search.controller.tspackages/server/src/presentation/controllers/evaluation.controller.tspackages/server/src/presentation/schemas.tspackages/server/src/presentation/schemas.ingest.tspackages/server/src/application/services/event-ingestion-service.ts
1. Admin / Read API
GET /healthGET /api/overviewGET /api/tasksGET /api/default-workspaceGET /api/tasks/:taskIdGET /api/tasks/:taskId/observabilityGET /api/tasks/:taskId/openinferenceGET /api/observability/overview
2. Lifecycle API
Routes where state transitions (creation, termination, linking, etc.) are explicit. These routes are not integrated into event ingestion.
POST /api/task-startPOST /api/task-linkPOST /api/task-completePOST /api/task-errorPATCH /api/tasks/:taskIdDELETE /api/tasks/finishedDELETE /api/tasks/:taskIdPOST /api/session-endPOST /api/runtime-session-ensurePOST /api/runtime-session-end
3. Unified Event Ingestion API (Recommended)
As of v0.1.4, new clients send all events to a single endpoint.
POST /ingest/v1/events
POST /ingest/v1/events
Content-Type: application/json
{
"events": [
{
"kind": "tool.used",
"taskId": "...",
"sessionId": "...",
"toolName": "Edit",
"title": "Edit: foo.ts",
"lane": "implementation",
"metadata": { ... }
}
]
}Up to 100 events can be sent in a batch at once. Each event is dispatched based on its kind field.
Supported kind List
| kind | Description |
|---|---|
tool.used | File edit, tool usage (exploration distinguished by lane field) |
terminal.command | Bash command execution |
context.saved | Context compression/saving (compaction, session start) |
plan.logged | Plan phase logging |
action.logged | Action logging; if asyncTaskId present, async lifecycle |
verification.logged | Verification result logging |
rule.logged | Rule/policy application logging |
agent.activity.logged | Logging delegation, skill_use, mcp_call |
user.message | User input |
question.logged | Question flow |
todo.logged | Todo item status change |
thought.logged | Summary thought/reasoning logging |
assistant.response | Assistant response |
Response
{
"ok": true,
"data": {
"accepted": [{ "eventId": "...", "kind": "tool.used", "taskId": "..." }],
"rejected": []
}
}On validation failure: 400 + { ok: false, error: { code, message, details } }.
Schema Location
- Request schema:
packages/server/src/presentation/schemas.ingest.ts - Service dispatch:
packages/server/src/application/services/event-ingestion-service.ts
4. Legacy Event Logging API (Backward Compatibility)
Individual endpoints remain for existing clients. New clients are recommended to use /ingest/v1/events.
POST /api/tool-usedPOST /api/terminal-commandPOST /api/save-contextPOST /api/explorePOST /api/planPOST /api/actionPOST /api/verifyPOST /api/rulePOST /api/async-taskPOST /api/agent-activityPOST /api/user-messagePOST /api/questionPOST /api/todoPOST /api/thoughtPOST /api/assistant-responsePATCH /api/events/:eventId
5. Bookmark / Search API
GET /api/bookmarksPOST /api/bookmarksDELETE /api/bookmarks/:bookmarkIdGET /api/search
6. Workflow Library API
POST /api/tasks/:id/evaluateGET /api/tasks/:id/evaluateGET /api/workflowsGET /api/workflows/similarGET /api/workflows/:id/content
Request Validation
All write paths validate request body through Zod schema. /ingest/v1/events uses ingestEventsBatchSchema (schemas.ingest.ts), while legacy paths use presentation/schemas.ts.