Skip to content

All endpoints

The complete client-facing bridge surface on one page — every endpoint a native app needs to reach parity with the Web UI, grouped by category. Follow a category link for full request/response contracts.

Base URL: your Hermes host (e.g. https://hermes.example.com). All paths are relative to it. Auth: a hermes_session cookie on every call once logged in — see Authentication.

Auth & session

Method Path Purpose
GET /api/auth/status Is a password required / am I authenticated? (public)
POST /api/auth/login Log in with the server password; sets the session cookie
POST /api/auth/logout Clear the session

Sessions & projects

Method Path Purpose
GET /api/sessions List conversations (the sidebar)
GET /api/sessions/search Search sessions by title or content
GET /api/session One conversation's detail + messages
GET /api/session/status Live status of a session (busy/idle)
POST /api/session/new Create a conversation
POST /api/session/rename Rename
POST /api/session/delete Delete
POST /api/session/pin Pin / unpin
POST /api/session/archive Archive / unarchive
POST /api/session/branch Fork a conversation at a point
POST /api/session/compress Compress context
POST /api/session/undo Undo the last turn
POST /api/session/retry Retry the last turn
POST /api/session/truncate Truncate to a message
POST /api/session/update Update session fields
POST /api/session/move Move into / out of a project
POST /api/session/yolo Toggle auto-approve (YOLO) mode
GET/POST /api/session/export · /api/session/import Export / import a conversation
GET /api/projects List projects
POST /api/projects/create · /rename · /delete Project lifecycle

Chat & streaming · the crown jewel

Method Path Purpose
POST /api/chat/start Start a turn → returns a stream_id
GET /api/chat/stream SSE — live tokens, tool calls, done
GET /api/chat/stream/status Is this stream still live?
POST /api/chat/cancel Cancel the running turn
POST /api/chat/steer Inject a mid-turn nudge
POST /api/goal Submit a goal
POST /api/btw Side-channel "by the way" message
POST /api/background Kick off a background task
GET /api/background/status Background task status

Approvals & clarify

Method Path Purpose
GET /api/approval/pending Pending tool-approval prompt for a session
GET /api/approval/stream SSE — approval prompts as they arise
POST /api/approval/respond Approve / deny a tool call
GET /api/clarify/pending Pending clarifying question
GET /api/clarify/stream SSE — clarifications as they arise
POST /api/clarify/respond Answer the agent's question

Models, providers & personas

Method Path Purpose
GET /api/models · /api/models/live Available models (static + live-probed)
GET/POST /api/default-model · /api/model/set Read / set the model
POST /api/reasoning Set reasoning effort
GET /api/providers Configured providers
GET/POST /api/personalities · /api/personality/set List / set persona

Profiles & settings

Method Path Purpose
GET /api/profiles · /api/profile/active List profiles / current one
POST /api/profile/switch Switch profile
GET/POST /api/settings Read / write instance settings

Memory

Method Path Purpose
GET /api/memory Read memory entries
POST /api/memory/write Add / edit / remove a memory

Skills

Method Path Purpose
GET /api/skills List skills
GET /api/skills/content One skill's content + linked files

Commands

Method Path Purpose
GET /api/commands Slash-command catalog (the composer / menu)

Workspace, files & git

Method Path Purpose
GET /api/workspaces · /api/workspaces/suggest Workspaces + path autocomplete
GET /api/list Directory listing
GET /api/file · /api/file/raw · /api/media Read a file (json / raw bytes / media)
POST /api/upload Upload a file (multipart)
GET /api/git-info · /api/git/status · /api/git/branches · /api/git/diff Read repo state
POST /api/git/{stage,unstage,discard,commit,push,pull,fetch,checkout,stash-checkout} Source-control actions
GET /api/git/commit-message AI-generated commit message

Cron / scheduled jobs

Method Path Purpose
GET /api/crons · /api/crons/status · /api/crons/output List jobs / status / run output
POST /api/crons/{create,update,delete,run,pause,resume} Job lifecycle

Voice

Method Path Purpose
POST /api/transcribe Speech → text (multipart audio)
POST /api/tts Text → speech

Insights & updates

Method Path Purpose
GET /api/insights Usage / token / cost stats
POST /api/updates/check · /api/updates/apply Check for / apply a server update

Endpoints outside this list (health probes, CSP reports, client-event logging, kanban internals, admin/reload, dashboard, gateway status) are internal plumbing, not part of the client bridge contract.