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
Method Endpoint Description POST /api/documents/uploadUpload files (multipart) GET /api/documentsList documents with filters GET /api/documents/:idGet document details with OCR text
Method Endpoint Description GET /api/knowledgeBrowse entries with filters GET /api/knowledge/statsGet stats (counts by source type) GET /api/knowledge/:idGet full entry content POST /api/knowledge/searchSearch with query, mode, filters DELETE /api/knowledge/:idDelete entry POST /api/knowledge/indexIndex a file or directory
Method Endpoint Description POST /api/reader/readRead and extract content from URL GET /api/reader/tasksList reader tasks GET /api/reader/tasks/:idGet task results
Method Endpoint Description POST /api/research/startStart a research job GET /api/research/jobsList research jobs GET /api/research/jobs/:idGet job status and results POST /api/research/jobs/:id/cancelCancel a research job
Method Endpoint Description GET /api/tasksList user tasks POST /api/tasksCreate a task PATCH /api/tasks/:idUpdate task DELETE /api/tasks/:idDelete task POST /api/tasks/:id/completeMark task complete GET /api/recurring-tasksList recurring tasks POST /api/recurring-tasksCreate recurring task PATCH /api/recurring-tasks/:idUpdate recurring task DELETE /api/recurring-tasks/:idDelete recurring task
Method Endpoint Description GET /api/email/messagesGet email messages (read-only) POST /api/email/sendSend email (requires permission) POST /api/email/processTrigger email processing
Method Endpoint Description GET /api/capabilitiesList all capabilities GET /api/capabilities/hardwareGet hardware info and fit analysis POST /api/capabilities/installInstall a capability (e.g., model)
Method Endpoint Description GET /api/expertsList all experts (system + custom) GET /api/experts/:idGet expert details POST /api/expertsCreate custom expert PATCH /api/experts/:idUpdate expert DELETE /api/experts/:idDelete expert
Method Endpoint Description GET /api/orgsList user’s organizations POST /api/orgsCreate organization GET /api/orgs/:idGet organization details PUT /api/orgs/:id/ssoConfigure SSO/SAML settings GET /api/saml/metadataGet SAML metadata for federation POST /api/saml/acsSAML assertion consumer endpoint GET /api/scim/v2/usersSCIM user provisioning endpoint POST /api/scim/v2/usersSCIM user creation
Method Endpoint Description GET /api/admin/auditAudit log entries GET /api/admin/usersList all users (admin only) POST /api/admin/users/:id/impersonateImpersonate user (admin only) POST /api/admin/users/:id/inviteInvite user PATCH /api/admin/users/:idUpdate user role/permissions
Method Endpoint Description GET /api/webhooksList outgoing webhooks POST /api/webhooksCreate webhook PATCH /api/webhooks/:idUpdate webhook DELETE /api/webhooks/:idDelete webhook POST /api/hooks/incoming/:hookIdReceive inbound webhook (public, auth via secret) POST /api/teams-webhookTeams/Microsoft Teams webhook handler POST /api/whatsapp-webhookWhatsApp webhook handler
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 );