All API endpoints are under /api with JWT Bearer authentication (except health and auth endpoints).
Interactive documentation is available at http://localhost:3005/swagger.
These endpoints do not require authentication.
Method Endpoint Description GET /healthBasic health check GET /health/detailedService status with latencies GET /health/readyReadiness probe GET /health/liveLiveness probe
Method Endpoint Auth Description POST /api/auth/registerNo Register new user POST /api/auth/loginNo Login with credentials (+ optional TOTP) POST /api/auth/logoutYes Logout and invalidate session GET /api/auth/meYes Get current user info POST /api/auth/passkey/registerYes Register WebAuthn passkey POST /api/auth/passkey/authenticateNo Authenticate with passkey POST /api/auth/totp/setupYes Setup TOTP 2FA POST /api/auth/totp/enableYes Enable TOTP after verification POST /api/auth/totp/disableYes Disable TOTP 2FA POST /api/auth/totp/verifyYes Verify TOTP code POST /api/auth/linkYes Redeem channel link code
All agent endpoints require authentication.
Method Endpoint Description GET /api/agentsList all agents POST /api/agentsSpawn new agent GET /api/agents/:idGet agent details DELETE /api/agents/:idStop and remove agent POST /api/agents/:id/messageSend message to agent POST /api/agents/:id/pausePause agent POST /api/agents/:id/resumeResume paused agent GET /api/agents/:id/eventsGet agent events (cursor-based: ?after=<seq>)
The events endpoint supports cursor-based polling:
GET /api/agents/:id/events?after=<seq>
Events are stored in a ring buffer (max 200 events per agent) with sequential IDs. Pass the last seen event ID as the after parameter to receive only new events.
Method Endpoint Description GET /api/sessionsList sessions GET /api/sessions/:idGet session details GET /api/sessions/:id/messagesGet session messages
Method Endpoint Description GET /api/modelsList all models POST /api/modelsRegister new model GET /api/models/:nameGet model details PATCH /api/models/:nameUpdate model config DELETE /api/models/:nameDelete model POST /api/models/:id/defaultSet as default model GET /api/models/routingGet topic routing GET /api/models/healthCheck provider health GET /api/models/cli/statusCLI tool availability GET /api/models/cli/quotaCLI quota status GET /api/models/providers/ollama/modelsList available Ollama models GET /api/models/providers/litellm/modelsList LiteLLM models GET /api/models/providers/:provider/knownKnown models for a provider POST /api/models/testTest model connectivity before registration
Method Endpoint Description GET /api/hooksList all hooks POST /api/hooksCreate hook GET /api/hooks/:idGet hook details PUT /api/hooks/:idUpdate hook DELETE /api/hooks/:idDelete hook POST /api/hooks/:id/enableEnable hook POST /api/hooks/:id/disableDisable hook
Method Endpoint Description GET /api/vaultList credentials POST /api/vaultStore credential PATCH /api/vault/:idUpdate credential DELETE /api/vault/:idDelete credential POST /api/vault/:id/rotateRotate credential
Method Endpoint Description GET /api/pipelinesList user’s pipeline runs GET /api/pipelines/:idGet pipeline detail with stages POST /api/pipelines/:id/stopStop a running pipeline GET /api/pipelines/templatesList pipeline templates POST /api/pipelines/templatesCreate pipeline template PUT /api/pipelines/templates/:idUpdate pipeline template DELETE /api/pipelines/templates/:idDelete pipeline template
Method Endpoint Description GET /api/notificationsList notifications (paginated) POST /api/notifications/:id/readMark notification as read POST /api/notifications/read-allMark all notifications read
Method Endpoint Description POST /api/voice/transcribeTranscribe audio (base64) to text
Method Endpoint Description GET /api/skillsList registered skills GET /api/skills/:idGet skill details GET /api/skills/tools/allAll tools (skills + MCP combined) GET /api/skills/permissionsUser permission overrides PUT /api/skills/permissionsSet permission level DELETE /api/skills/permissions/:skillId/:actionReset permission POST /api/skills/:skillId/tools/:toolName/executeExecute a skill tool (MCP bridge)
Method Endpoint Description POST /api/chatSend a chat message POST /api/chat/approveRespond to an approval request
Connect to /ws?token=<jwt> for real-time events.
Event Description subscribeSubscribe to event channels unsubscribeUnsubscribe from event channels messageSend a chat message agent.statusAgent status changes agent.messageAgent responses agent.tool_callTool execution events
const ws = new WebSocket ( ` ws://localhost:3005/ws?token= ${ jwtToken } ` );
channels: [ ' agent.status ' , ' agent.message ' ]
ws . onmessage = ( event ) => {
const data = JSON . parse ( event . data );
console . log ( ' Received: ' , data );