Skip to content

API Reference

111 REST routes + WebSocket upgrade. All routes are served by the embedded axum HTTP server.

Health

GET/api/healthQuick health check (status, uptime, version)

Config

GET/api/configCurrent configuration
PUT/api/configUpdate configuration
GET/api/config/capabilitiesFeature capability flags
GET/api/config/statusConfig apply status

Logs

GET/api/logsStructured log output

Sessions

GET/api/sessionsList sessions
POST/api/sessionsCreate new session
GET/api/sessions/:idSession detail
GET/api/sessions/:id/messagesSession message history
POST/api/sessions/:id/messagesAppend message to session
POST/api/sessions/backfill-nicknamesBackfill session nicknames via LLM

Memory

GET/api/memory/workingAll working memory entries
GET/api/memory/working/:session_idWorking memory (session-scoped)
GET/api/memory/episodicEpisodic memory (events)
GET/api/memory/semanticAll semantic memory entries
GET/api/memory/semantic/categoriesList semantic memory categories
GET/api/memory/semantic/:categorySemantic memory (facts by category)
GET/api/memory/searchFull-text memory search (FTS5)

Models

GET/api/models/availableList available LLM models
GET/api/models/selectionsModel selection event log

Providers

PUT/api/providers/:name/keySet provider API key
DELETE/api/providers/:name/keyRemove provider API key

Scheduler

GET/api/cron/jobsList cron jobs
POST/api/cron/jobsCreate cron job
GET/api/cron/jobs/:idCron job detail
DELETE/api/cron/jobs/:idDelete cron job
GET/api/cron/runsList recent cron runs

Statistics

GET/api/stats/costsInference cost history
GET/api/stats/transactionsFinancial transaction history
GET/api/stats/cacheCache hit/miss statistics
GET/api/stats/efficiencyPer-model efficiency metrics (period, model filter)
GET/api/stats/timeseriesOverview timeseries data (costs, tokens, requests)
GET/api/stats/capacityCapacity and usage statistics

Circuit Breaker

GET/api/breaker/statusAll provider breaker states
POST/api/breaker/reset/:providerReset a provider breaker

Agent

GET/api/agent/statusAgent state, model, cache stats
POST/api/agent/messageSend message through agent pipeline
POST/api/agent/message/streamStream agent response as SSE events

Context Observatory

GET/api/sessions/:id/turnsList all turns for a session
GET/api/turns/:idGet single turn detail
GET/api/turns/:id/contextGet context snapshot for a turn
GET/api/turns/:id/toolsGet tool calls for a turn
GET/api/turns/:id/tipsGet heuristic analysis tips for a turn
GET/api/turns/:id/model-selectionGet model selection details for a turn
POST/api/turns/:id/analyzeTrigger LLM-powered deep analysis
GET/api/sessions/:id/insightsGet session-aggregate analysis
POST/api/sessions/:id/analyzeTrigger session-wide LLM analysis

Feedback

POST/api/turns/:id/feedbackSubmit a quality grade (1-5)
GET/api/turns/:id/feedbackGet existing feedback for a turn
PUT/api/turns/:id/feedbackUpdate a grade
GET/api/sessions/:id/feedbackGet all feedback for a session

Recommendations

GET/api/recommendationsGet prioritized behavioral recommendations
POST/api/recommendations/generateTrigger LLM-powered deep recommendation analysis

Wallet

GET/api/wallet/balanceUSDC + credit balance
GET/api/wallet/addressWallet address

Skills

GET/api/skillsList all registered skills
GET/api/skills/:idSkill detail + content
DELETE/api/skills/:idDelete a skill
POST/api/skills/reloadTrigger hot-reload from disk
PUT/api/skills/:id/toggleEnable/disable a skill
GET/api/skills/catalogList catalog skills (available to install)
POST/api/skills/catalog/installInstall a skill from catalog
POST/api/skills/catalog/activateActivate an installed catalog skill
GET/api/skills/auditAudit skill integrity

Plugins

GET/api/pluginsList installed plugins
PUT/api/plugins/:name/toggleEnable/disable plugin
POST/api/plugins/:name/execute/:toolExecute a plugin tool

Browser

GET/api/browser/statusBrowser session status
POST/api/browser/startStart headless browser
POST/api/browser/stopStop browser session
POST/api/browser/actionExecute browser action

Agents

GET/api/agentsList agent instances
POST/api/agents/:id/startStart an agent
POST/api/agents/:id/stopStop an agent

Sub-Agents

GET/api/subagentsList sub-agent definitions
GET/api/subagents/:nameSub-agent detail
PUT/api/subagents/:name/toggleEnable/disable sub-agent

Roster

GET/api/rosterList all agents with model assignments
PUT/api/roster/:name/modelChange an agent's model assignment

Approvals

GET/api/approvalsList pending approval requests
POST/api/approvals/:id/approveApprove a pending request
POST/api/approvals/:id/denyDeny a pending request

Interview

POST/api/interview/startStart setup interview
POST/api/interview/turnSubmit interview response
POST/api/interview/finishFinalize interview

Audit

GET/api/audit/policy/:turn_idPolicy audit for a turn
GET/api/audit/tools/:turn_idTool audit for a turn

Runtime

GET/api/runtime/surfacesList runtime surfaces
GET/api/runtime/devicesList paired devices
POST/api/runtime/devices/pairPair a new device
GET/api/runtime/devices/:idDevice detail
POST/api/runtime/devices/:id/verifyVerify device pairing
GET/api/runtime/discoveryDiscovery status
POST/api/runtime/discovery/:id/verifyVerify discovered agent
GET/api/runtime/mcpMCP client status
POST/api/runtime/mcp/clients/:name/discoverDiscover MCP server tools
POST/api/runtime/mcp/clients/:name/disconnectDisconnect MCP client

Workspace

GET/api/workspace/stateWorkspace file/state overview

A2A

POST/api/a2a/helloA2A handshake initiation
GET/.well-known/agent.jsonA2A agent card (public metadata)

Webhooks

POST/api/webhooks/telegramTelegram webhook receiver
GET/api/webhooks/whatsappWhatsApp verify endpoint
POST/api/webhooks/whatsappWhatsApp webhook receiver

Channels

GET/api/channels/statusChannel adapter status
GET/api/channels/dead-letterDead letter queue
POST/api/channels/dead-letter/:id/replayReplay a dead letter

Compatibility

POST/v1/chat/completionsOpenAI-compatible chat completions proxy
GET/v1/modelsOpenAI-compatible model list
GET/anthropic/v1/modelsAnthropic-compatible model list

WebSocket

GET/wsReal-time event push (upgrades to WebSocket)

WebSocket

The /ws endpoint upgrades to a WebSocket connection for real-time event push. Events include session updates, tool call results, memory changes, and scheduler notifications.

ws://localhost:18789/ws