Skip to content

API routes

The host exposes ~40 route plugins under /api/v1/. This page is a hand-curated catalog; the auto-generated OpenAPI / Scalar reference is scheduled for v0.2.

MethodPathNotes
GET/healthBare liveness, no /api prefix
GET/api/v1/healthLiveness + version + echoed workspace id
GET/api/v1/versionFull build metadata: { version, channel, commit, built_at, node_version }
MethodPathNotes
GET/api/v1/setup/statusSetup wizard health checks
POST/api/v1/setup/completeMark wizard done. Idempotent
GET/api/v1/workspace/statsCounts for empty-state displays
MethodPathNotes
GET/api/v1/workspacesList workspaces (exempt from middleware)
GET/api/v1/workspace-settingsPer-workspace config
PUT/api/v1/workspace-settingsUpdate settings
MethodPathNotes
GET/api/v1/daily-notes/:dateRead a date’s notes
POST/api/v1/daily-notes/injectInject a logCard. Honors Idempotency-Key header
GET/api/v1/foliosList folios with AI summary
GET/api/v1/folios/:idGet one folio
POST/api/v1/folios/:id/synthesizeManual synthesis trigger
GET/api/v1/folios/:id/entriesWalk logCards belonging to a folio
PATCH/api/v1/folios/:idUpdate folio metadata + readme
MethodPathNotes
GET/api/v1/entitiesList entities (filter: ?canonical=true)
GET/api/v1/entities/:idGet one entity
POST/api/v1/entitiesCreate canonical entity
PATCH/api/v1/entities/:idUpdate entity (e.g. set concept_role)
GET/api/v1/engine/entitiesFuzzy search
GET/api/v1/curation/suggestionsPending curator proposals
POST`/api/v1/curation/suggestions/:id/acceptreject
MethodPathNotes
GET/api/v1/connectorsList connector manifests (`?tier=core
GET/api/v1/connectors/:name/schemaOne manifest
`GETPOSTPUT
`GETPUTDELETE`
`GETGETPUT
POST`/api/v1/auth/github/device/startpoll`
DELETE/api/v1/auth/githubDisconnect GitHub
GET/api/v1/auth/googleGoogle OAuth start
GET/api/v1/auth/google/callbackGoogle OAuth callback
MethodPathNotes
GET/api/v1/harvester-devicesList paired devices
POST/api/v1/harvester-devices/pairing-codesMint a pairing code
POST/api/v1/harvester-devices/claimExchange code for token (returns plaintext once)
DELETE/api/v1/harvester-devices/:idSoft-revoke
POST/api/v1/granola/syncGranola edge push
MethodPathNotes
POST/api/v1/agent/messageSynchronous agent message
POST/api/v1/chat/streamSSE streaming chat
POST/api/v1/agent-tasksDispatch an agentic flow (INSTRUCT)
GET/api/v1/agent-tasks/:idPoll an agent task
POST/api/v1/agent-tasks/:id/cancelBest-effort cancel
GET/api/v1/agent-tasks/:id/eventsSSE fan-out
GET/api/v1/agent-runtime/statusProvider availability
MethodPathNotes
GET/mcp/sseEstablish SSE stream
POST/mcp/messages?sessionId=<id>Send JSON-RPC messages

See MCP tools for the tool catalog.

MethodPathNotes
POST/api/v1/importsUpload notes-app archive (multipart, 500 MB cap)
GET/api/v1/imports/:idPoll import progress
POST/api/v1/imports/:id/commitCommit with routing
GET/api/v1/artifacts/:idRead an artifact body
MethodPathNotes
POST/api/v1/webhooks/:channelInbound webhook (Slack, Telegram, Matrix, etc.). HMAC-verified. Exempt from workspace middleware
MethodPathNotes
GET/api/v1/soul-profileRead the per-workspace owner profile
PUT/api/v1/soul-profileOverwrite
POST`/api/v1/soul-profile/ensurereset`

For the canonical, always-current list, grep src/server.ts for server.register(.