Shared backend API reference for the Hermes Memory UI Plugin.
The API is intended for the plugin's Hermes Dashboard and Hermes Desktop interfaces. All exposed operations are read-only or query-only; the plugin does not expose memory mutation endpoints.
Hermes mounts this plugin under:
/api/plugins/hermes-memory-ui/
Plugin backend routes are mounted when the serving Hermes process starts. If a route returns 404 immediately after installing or updating the plugin, restart the dashboard or gateway used by the active interface.
Dashboard calls these routes through its authenticated API client. Desktop uses profile-aware, namespace-relative calls such as ctx.rest('/snapshot'); Desktop plugin code should not hard-code the base route.
All endpoints accept the optional profile query parameter used by the Dashboard selector and Desktop's scoped REST client. A named profile scopes the request's Hermes home, configuration, secrets, local stores, provider calls, worker-thread context, and provider subprocess environment. The backend uses Hermes' context-local request scope and never changes the process environment per request, so concurrent profile requests remain isolated.
profile=current, an empty value, or an omitted parameter means the serving process's current profile. profile=default explicitly selects the default profile; other values select the corresponding named profile. Invalid names return 400 and missing profiles return 404 through Hermes' resolver.
Profile routing does not override provider-side sharing. Profiles configured with the same remote account and scope identifiers (for example a Mem0 user, Honcho workspace/peers, or Hindsight bank) share that provider data by design.
For compatibility, a host without Hermes' safe context-local profile helper continues to serve omitted/empty/current requests as a single-profile backend. It returns 501 for any explicit profile selection, including default, rather than falling back to the launch profile's credentials. The plugin does not claim a speculative minimum Hermes version; capability detection is performed at request time.
Returns plugin status, active Hermes home, configured memory provider, built-in memory paths, holographic DB path, Mem0 configuration status, Honcho configuration status, Mnemosyne configuration status, Hindsight configuration status, and ByteRover CLI/configuration status.
Example:
curl http://127.0.0.1:9119/api/plugins/hermes-memory-ui/status | jqReturns parsed built-in memory stores:
memoryfrom$HERMES_HOME/memories/MEMORY.mduserfrom$HERMES_HOME/memories/USER.md
Entries are split on Hermes' built-in delimiter §.
The response includes entry count, char count, configured/default char limits, usage percentage, file path, and modified timestamp.
Runs an explicit read-only search over previous Hermes sessions through Hermes' built-in session_search tool. This endpoint is not called from /snapshot or page load; the UI calls it only after the user submits a query.
Query parameters:
query: required search querylimit: 1-10, default 3sort:newestoroldest, defaultnewestsource: optional exact source/type filter, e.g.cli,telegram,cron,discord,web, orapi-server(apiis accepted as an alias)
Example:
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/session-search?query=dashboard&limit=3&sort=newest' | jqReturns facts from holographic SQLite memory.
Query parameters:
limit: 1-2000, default 500category: optional category filter, e.g.user_pref,project,tool,generalmin_trust: 0.0-1.0, default 0.0search: optional substring search overcontentandtags
Example:
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/holographic?limit=100&min_trust=0.3' | jqReturns read-only memories from the Mem0 Platform API.
Query parameters:
limit: 1-2000, default 500search: optional search query; uses Mem0 semantic search
Example:
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/mem0?limit=100&search=dashboard' | jqReturns read-only Honcho provider state, user/AI peer cards, representations, conclusions, and optional context search.
Query parameters:
limit: 1-100, default 50search: optional context search query
Example:
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/honcho?limit=25&search=dashboard' | jqReturns Mnemosyne provider status plus read-only local store contents.
Lists Mnemosyne local SQLite memory and fact rows. This is read-only.
Query parameters:
search: optional text filter applied to visible memory/fact text and metadata columnslimit: optional, defaults to 25, capped at 100
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/mnemosyne/contents?search=dashboard&limit=25' | jqRuns explicit Mnemosyne recall through the Hermes provider.
Query parameters:
query: required query stringlimit: 1-100, default 25temporal_weight: 0.0-1.0, default 0.2
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/mnemosyne/recall?query=dashboard&limit=25&temporal_weight=0.2' | jqReturns the injected-context preview generated by Mnemosyne prefetch.
Query parameters:
query: required query string
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/mnemosyne/prefetch?query=dashboard' | jqReturns read-only ByteRover CLI status, registered locations, and optional BM25 search results.
Query parameters:
limit: 1-50, default 10search: optional search query; usesbrv search --format json
Example:
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/byterover?limit=10&search=dashboard' | jqRuns explicit ByteRover query/synthesis. This may invoke ByteRover's configured model; it is never called automatically on page load.
Query parameters:
query: required question stringtimeout: 1-300 seconds, default 60; controls the backend subprocess deadline and is not forwarded as abrvCLI option
Example:
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/byterover/query?query=dashboard&timeout=60' | jqReturns Hindsight provider status/config only. It does not run recall or reflect.
Lists Hindsight memory units and retained source documents through the official hindsight_client SDK. This is read-only. The UI loads it for the Hindsight section and also provides a manual Refresh contents action.
Query parameters:
search: optional text filter applied to memory/document text, IDs, tags, and metadatalimit: optional, defaults to 25, capped at 100
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/hindsight/contents?search=dashboard&limit=25' | jqRuns explicit Hindsight recall.
Query parameters:
query: required query stringlimit: 1-100, default 25
Example:
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/hindsight/recall?query=dashboard&limit=25' | jqRuns explicit Hindsight reflect/synthesis.
Query parameters:
query: required query string
Example:
curl 'http://127.0.0.1:9119/api/plugins/hermes-memory-ui/hindsight/reflect?query=dashboard' | jqCombined payload used by the UI. Accepts the same query parameters as /holographic; limit and search are also applied to Mem0, Honcho, Mnemosyne, and ByteRover, with Honcho and Mnemosyne internally capped at 100 and ByteRover capped at 50. Hindsight in /snapshot is status/config only and does not query recall/reflect.
curl http://127.0.0.1:9119/api/plugins/hermes-memory-ui/snapshot | jq