Skip to content

REST API

All endpoints are prefixed with /api. Authentication uses JWT Bearer tokens.

Auth

MethodPathBodyDescription
POST/api/auth/register{username, password, display_name?}Create account, returns token
POST/api/auth/login{username, password}Login, returns token
GET/api/auth/meCurrent user info
GET/api/auth/checkCheck if any users exist

Conversations

MethodPathBodyDescription
GET/api/conversationsList all conversations
POST/api/conversations{title?, model?, mode?}Create conversation
GET/api/conversations/:uuidGet conversation + messages
DELETE/api/conversations/:uuidDelete conversation
POST/api/conversations/:uuid/switchSwitch active conversation

Messaging

MethodPathBodyDescription
POST/api/message{message, mode?}Send message (mode: plan/research/write)
POST/api/answers{answers: {qid: label}}Answer structured questions
POST/api/interruptCancel current agent turn
POST/api/approval{approvals: {id: bool}}Approve/reject tool calls
POST/api/undoUndo last turn
POST/api/compactCompact conversation context
POST/api/model{model}Switch LLM model

SSE

MethodPathDescription
GET/api/events?token=JWTServer-Sent Events stream
GET/api/events/testTest endpoint (3 events)

Settings

MethodPathDescription
GET/api/settingsAll settings
GET/api/settings/:categorySettings by category
PUT/api/settings/:category/:keyUpdate setting
DELETE/api/settings/:category/:keyDelete setting
GET/api/providersList provider status
GET/api/modelsList available models
GET/api/statusCurrent model + config
GET/api/reports/:idGet completion report content

Health

MethodPathDescription
GET/health{"status": "ok", "version": "2.0.0"}

Released under the MIT License.