Skip to content

HTTP API

List of HTTP routes exposed by the arka-deck Fastify server, grouped by functional domain.

Source of truth: adapters/inbound/web/server/src/routes/.


  • CORS: localhost + RFC1918 ranges in LAN mode
  • CSP: script-src 'self', connect-src localhost + LAN
  • Rate limit: 900 writes/min (GET/loopback exemptions)
  • Token: X-Arka-Token header required in LAN mode
  • HSTS: disabled (local HTTP, no TLS)
  • Request ID: UUID per request, logged

MethodPathDescription
GET/api/healthHealth check (status + version)
GET/api/system/*System metadata (boot, token)
GET/api/i18n/:langUI translations
GET/api/preferencesUser preferences
PUT/api/preferencesUpdate preferences

MethodPathDescription
GET/api/workspacesList
GET/api/workspaces/:idDetail
POST/api/workspacesCreate
PUT/api/workspaces/:idModify
DELETE/api/workspaces/:idDelete (refuses if non-empty)
GET/api/workspaces/:id/projectsProjects of the workspace
GET/api/projectsList all projects
GET/api/projects/:idDetail
GET/api/projects/find-by-cwd?path=...Auto-detect by marker
POST/api/projectsCreate (checks allowlist + workspace)
PUT/api/projects/:idModify (path immutable)
DELETE/api/projects/:idForget (204)
DELETE/api/projects/:id?purge=trueFull purge
POST/api/projects/:id/touchUpdate lastUsedAt

MethodPathDescription
GET/api/catalogue/profilesList HYOS profiles
GET/api/catalogue/profiles/:idProfile detail
DELETE/api/catalogue/cacheClear catalogue cache

MethodPathDescription
POST/api/chat/sessionsStart a session
POST/api/chat/sessions/:id/send-messageSend a turn (SSE stream)
GET/api/chat/sessions/:id/streamSSE stream
GET/api/chat/sessionsList project sessions
GET/api/chat/sessions/:idSession detail

MethodPathDescription
GET/api/memory/:projectIdProject memory overview
POST/api/memory/:projectId/entryCapture an entry
GET/api/memory/:projectId/entriesList entries

MethodPathDescription
GET/api/arkadoc/:projectIdList documents
GET/api/arkadoc/:projectId/:docIdDocument detail
PATCH/api/arkadoc/:projectId/:docId/statusUpdate status
GET/api/arkadoc/:projectId/:docId/renderMarkdown render

MethodPathDescription
GET/api/agent-action-cards/:projectIdCards for the project
POST/api/agent-action-cards/:projectId/selectSelect a card before a turn
GET/api/cortex-actions/treeCortex tree (modes, blocs)
GET/api/cortex-actions/searchSearch
POST/api/cortex-actions/selectRecord selection
GET/api/cortex-actions/favoritesProject favorites
POST/api/cortex-actions/suggestLaunch suggestion worker

MethodPathDescription
GET/api/squads/:projectIdList squads of the project
POST/api/squadsCreate a squad
POST/api/squads/:id/materialize-leaderRecruit the Leader Pack
GET/api/orchestration/:projectId/missionsList missions
POST/api/orchestration/missionsStart mission
GET/api/orchestration/missions/:idMission state

MethodPathDescription
GET/api/mission-guardian/:projectId/statePhases + gates state
POST/api/mission-guardian/:projectId/decisionRecord decision
GET/api/mission-guardian/:projectId/evidenceCaptured evidence

MethodPathDescription
GET/api/governance-lite/:projectId/policyActive policy
POST/api/governance-lite/:projectId/policySave a policy
GET/api/governance-lite/:projectId/followupFollowup

MethodPathDescription
GET/api/providers/manifestsStatic manifests (catalogue)
GET/api/providers/instancesList configured instances
POST/api/providers/instancesCreate an instance
PUT/api/providers/instances/:idModify
DELETE/api/providers/instances/:idDelete
POST/api/providers/instances/:id/testTest (check + live)
GET/api/cortex-lite/projects/:id/stateCortex Lite project state
POST/api/cortex-lite/projects/:id/syncSynchronize

MethodPathDescription
GET/api/connectors/manifestsAvailable connectors
GET/api/connectors/installations/:projectIdProject installations
POST/api/connectors/installationsEnable a connector
DELETE/api/connectors/installations/:idDisable
POST/api/connectors/oauth/startStart OAuth flow
GET/api/connectors/oauth/callbackOAuth callback
POST/api/connectors/executionsExecute an action
GET/api/connectors/audit-log/:projectIdAudit trail

MethodPathDescription
POST/api/workers/:name/invokeInvoke a worker (1-shot)
GET/api/workers/:name/logsInvocation logs

MethodPathDescription
GET/api/fs/read?path=...Read a file
POST/api/fs/writeWrite (allowlist)