Core
POST/messageRun agent (JSON or SSE)
POST/approvalSubmit tool approval
POST/cancelCancel in-flight run
GET/eventsSSE event stream (EventBus replay via SubscribeWithReplay)
GET/approvalsList pending approvals
GET·POST·DELETE/queueInspect / enqueue / drop queued msgs
POST/inject/retractRetract a mid-run injected message
Agents
GET/agentsList all agents
GET/agents/{name}Get agent details
POST/agentsCreate agent
PUT/agents/{name}Update agent
DELETE/agents/{name}Delete agent
PUT/agents/{name}/configUpdate config
DELETE/agents/{name}/configDelete config override
PUT/agents/{name}/commands/{cmd}Set command
DELETE/agents/{name}/commands/{cmd}Delete command
PUT/agents/{name}/skills/{skill}Attach skill
DELETE/agents/{name}/skills/{skill}Detach skill
POST·DELETE/agents/{name}/permissions/always-allowPer-agent always-allow list
Skills & Marketplace
GET/skills/downloadableList installable bundled skills
GET/skillsList global skills
GET/skills/{name}Get skill details
PUT/skills/{name}Create/update skill
DELETE/skills/{name}Delete skill
GET/skills/marketplaceBrowse marketplace
GET/skills/marketplace/entry/{slug}Marketplace entry detail
POST/skills/install/{name}Install skill
POST/skills/marketplace/install/{slug}Install from marketplace
GET/skills/{name}/usageList agents attaching a skill
GET/skills/{name}/scriptsList skill scripts
PUT/skills/{name}/scripts/{filename}Write skill script
DELETE/skills/{name}/scripts/{filename}Delete skill script
GET/skills/{name}/referencesList skill references
PUT/skills/{name}/references/{filename}Write skill reference
DELETE/skills/{name}/references/{filename}Delete skill reference
GET/skills/{name}/assetsList skill assets
PUT/skills/{name}/assets/{filename}Write skill asset
DELETE/skills/{name}/assets/{filename}Delete skill asset
PUT·DELETE/skills/{name}/secretsSet / clear skill secrets (Keychain)
DELETE/skills/{name}/secrets/{key}Delete one secret key
POST/skills/uploadUpload a packaged skill
Sessions
GET/sessionsList sessions
GET/sessions/{id}Load session
DELETE/sessions/{id}Delete session
PATCH/sessions/{id}Patch session title
POST/sessions/{id}/editTruncate + re-run
POST/sessions/{id}/resetClear history, keep session
POST/sessions/{id}/rewindRewind to an earlier turn
GET/sessions/{id}/summaryAuto summary
GET/sessions/searchFTS5 keyword search
Config & Health
GET/configGet config (redacted)
GET/config/statusEffective config status
PATCH/configMerge-patch config
POST/config/reloadReload + restart MCPs
GET/instructionsGet global instructions
PUT/instructionsReplace global instructions
GET/healthHealth + version
GET/statusUptime · Connection · memory.reason
GET/notificationsNotification history (JSONL, capped 500)
POST/migrate/claude-code/previewPreview Claude Code import
POST/migrate/claude-code/applyApply Claude Code import
POST/project/initScaffold .shannon project
Schedules
GET/schedulesList schedules
GET/schedules/{id}Get schedule
POST/schedulesCreate schedule
PATCH/schedules/{id}Update schedule
DELETE/schedules/{id}Delete schedule
GET/schedules/{id}/last-runLast run status + log
Permissions & Chrome
GET/permissionsmacOS TCC status
POST/permissions/requestRequest desktop permissions
POST·DELETE/permissions/always-allowGlobal always-allow list
GET/chrome/statusPlaywright CDP status
GET/chrome/profileGet Chrome profile mode
POST/chrome/profileSet Chrome profile mode
POST/chrome/profile/refreshRefresh cloned profile
POST/chrome/showShow managed Chrome window
POST/chrome/hideHide managed Chrome window
Auth (macOS — email/password → Cloud /api/v1/auth/*; AuthManager gates WS)
GET/local/auth/stateAuth state machine status
POST/local/auth/registerRegister account
POST/local/auth/loginSign in (api_key → Keychain)
POST/local/auth/sign-outSign out (keep account)
POST/local/auth/sign-out-fullSign out + purge local state
POST/local/auth/forgot-passwordTrigger reset email
POST/local/auth/resend-verificationResend verify email
POST/local/auth/adopt-keyAdopt an existing api_key
Rules
GET/rulesList rule files
GET/rules/{name}Get rule
PUT/rules/{name}Write rule
DELETE/rules/{name}Delete rule
Session Share & Uploads
POST/sessions/{id}/shareRender + upload share page
DELETE/sessions/{id}/shareRetract a share
GET/sessions/{id}/sharesList shares for a session
GET/sessions/{id}/share/tasks/{task_id}Async share task status
GET/uploadsList published uploads
DELETE/uploads/{id}Retract an upload
Prompt Suggestion
GET/sessions/{id}/suggestionForked next-prompt suggestion
POST/sessions/{id}/suggestion/acceptAccept a suggestion
GET/agents/{name}/sessions/{id}/suggestionPer-agent variant
POST/agents/{name}/sessions/{id}/suggestion/acceptPer-agent accept
Channels
GET/channels/feishu/app-installsList Feishu app installs
POST/channels/feishu/app-installsRegister app install
DELETE/channels/feishu/app-installs/{id}Remove app install
System
POST/shutdownGraceful shutdown