Agent Memory API exposes the persistent memory store that backs the Hoody agent. Use these endpoints to read and write memory items, browse the memory relation graph, list memory projects, run hybrid recall search, toggle capture, flush the durability barrier, and trigger consolidation. All operations are active-realm-scoped: a per-request realm header is rejected with realm_scope_unsupported. Memory administration through the daemon’s own admin gate may return admin_unauthorized; requests must arrive through the Hoody proxy or they return forbidden.
Note
All requests are addressed to the container-scoped agent host: https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu. The {projectId}, {containerId}, and {server} placeholders are substituted per deployment.
Read a paginated page of a project’s memory relation graph: nodes, edges, stats. Filter by node_type; page via limit and offset.
Name In Type Required Description projectquery string No Project key whose graph to read. node_typequery string No Optional node-type filter. limitquery integer No Maximum nodes/edges to return. offsetquery integer No Pagination offset into the graph. X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container (omitted = local). X-Hoody-Realmheader string No Per-request realm selector: global or a 24-hex id. realmquery string No Query alias of X-Hoody-Realm (read only when the header is absent).
" label " : " Hoody proxy listens on 127.0.0.1:0 " ,
" label " : " deploy-prod-checklist " ,
" types " : [ " fact " , " workflow " , " lesson " ]
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC. Omit the realm header on this route, or open a session to scope by realm.
" code " : " admin_unauthorized " ,
" message " : " memory administration requires a valid admin token "
Error Code Title Description Resolution admin_unauthorizedRejected by the daemon’s own admin gate The request was refused by the server’s admin gate. Run the daemon with socket auth (--auth-token-path); present the configured Memory-admin token for the TUI Memory tab. forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy, not by connecting to the container directly.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded. Honor the Retry-After header and retry; reduce the request rate.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " store_unavailable " ,
" message " : " memory store unavailable "
Error Code Title Description Resolution store_unavailableMemory store unavailable The memory store could not be opened (degraded remote host, not-warm realm store, divergent/corrupt local DB). Retry once the store is warm; if persistent, inspect the daemon logs for the degrade reason.
await client . agent . memory . getMemoryGraph ({ project : " hoody " , limit : 50 , offset : 0 })
curl " https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/memory/graph?project=hoody&limit=50&offset=0 "
Lists memory records for a project. The type and query filters apply only to kind=memory (the default store); passing them with lesson, slot, or observation is rejected with 400.
Name In Type Required Description projectquery string No Project key to scope the listing to. kindquery string No Memory kind/store to filter by. typequery string No Memory type to filter by (e.g. workflow, fact). kind=memory only. queryquery string No Free-text filter over the records. kind=memory only. pagequery integer No 1-based page number. limitquery integer No Items per page (1..200). Values above 200 are clamped to 200. X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container. X-Hoody-Realmheader string No Per-request realm selector. realmquery string No Query alias of X-Hoody-Realm.
" id " : " mem_01HXYZABCDEF " ,
" content " : " Hoody proxy binds to a random localhost port by default. " ,
" created_at " : " 2025-11-04T17:22:11Z "
" id " : " mem_01HXYZGHJKLM " ,
" content " : " Run `hoody deploy` then `hoody logs -f` to verify rollout. " ,
" created_at " : " 2025-11-04T17:30:48Z "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC. Omit the realm header on this route, or open a session to scope by realm.
" code " : " admin_unauthorized " ,
" message " : " memory administration requires a valid admin token "
Error Code Title Description Resolution admin_unauthorizedRejected by the daemon’s own admin gate The request was refused by the server’s admin gate. Run the daemon with socket auth (--auth-token-path). forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded. Honor the Retry-After header and retry.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " store_unavailable " ,
" message " : " memory store unavailable "
Error Code Title Description Resolution store_unavailableMemory store unavailable The memory store could not be opened. Retry once the store is warm.
for await ( const item of client . agent . memory . listMemoryItemsIterator ({ project : " hoody " , kind : " memory " , limit : 50 })) {
console . log ( item . id , item . type )
curl " https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/memory/items?project=hoody&kind=memory&page=1&limit=50 "
Reads one memory record by id.
Name In Type Required Description idpath string Yes Memory record id. projectquery string No Project key the memory belongs to. kindquery string No Memory kind/store the record lives in. X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container. X-Hoody-Realmheader string No Per-request realm selector. realmquery string No Query alias of X-Hoody-Realm.
" id " : " mem_01HXYZABCDEF " ,
" content " : " Hoody proxy binds to a random localhost port by default. " ,
" created_at " : " 2025-11-04T17:22:11Z " ,
" updated_at " : " 2025-11-04T17:22:11Z "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC. Omit the realm header on this route.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution admin_unauthorizedRejected by the daemon’s own admin gate The request was refused by the server’s admin gate. Run the daemon with socket auth (--auth-token-path). forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded. Honor the Retry-After header and retry.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " store_unavailable " ,
" message " : " memory store unavailable "
Error Code Title Description Resolution store_unavailableMemory store unavailable The memory store could not be opened. Retry once the store is warm.
const item = await client . agent . memory . getMemoryItem ( " mem_01HXYZABCDEF " , { project : " hoody " , kind : " memory " })
curl " https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/memory/items/mem_01HXYZABCDEF?project=hoody&kind=memory "
Lists memory projects.
Name In Type Required Description pagequery integer No 1-based page number for pagination. limitquery integer No Maximum items per page (0 = no pagination). X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container. X-Hoody-Realmheader string No Per-request realm selector. realmquery string No Query alias of X-Hoody-Realm.
" last_active_at " : " 2025-11-05T08:14:02Z "
" last_active_at " : " 2025-11-04T19:55:31Z "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC. Omit the realm header on this route.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution admin_unauthorizedRejected by the daemon’s own admin gate The request was refused by the server’s admin gate. Run the daemon with socket auth (--auth-token-path). forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded. Honor the Retry-After header and retry.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " store_unavailable " ,
" message " : " memory store unavailable "
Error Code Title Description Resolution store_unavailableMemory store unavailable The memory store could not be opened. Retry once the store is warm.
for await ( const project of client . agent . memory . listMemoryProjectsIterator ({ limit : 50 })) {
console . log ( project . key , project . memory_count )
curl " https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/memory/projects?page=1&limit=50 "
Runs hybrid recall across a project: BM25 + vector + graph fusion. The query is privacy-stripped before tokenization/embedding, and the read is no-touch (it never strengthens future ranking).
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container. X-Hoody-Realmheader string No Per-request realm selector. realmquery string No Query alias of X-Hoody-Realm.
Field Type Required Description projectstring No Project key to search within. querystring No The natural-language recall query (privacy-stripped server-side). limitinteger No Maximum hits to return. kindsarray No Optional memory kinds/stores to restrict the search to. skip_graphboolean No Skip the graph-fusion component of recall.
" id " : " mem_01HXYZABCDEF " ,
" head " : " Hoody proxy binds to a random localhost port by default. " ,
" id " : " mem_01HXYZGHJKLM " ,
" head " : " Run `hoody deploy` then `hoody logs -f` to verify rollout. " ,
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC. Omit the realm header on this route.
" code " : " admin_unauthorized " ,
" message " : " memory administration requires a valid admin token "
Error Code Title Description Resolution admin_unauthorizedRejected by the daemon’s own admin gate The request was refused by the server’s admin gate. Run the daemon with socket auth (--auth-token-path). forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (default 8 MiB). Reduce the request body or split it into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded. Honor the Retry-After header and retry.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " store_unavailable " ,
" message " : " memory store unavailable "
Error Code Title Description Resolution store_unavailableMemory store unavailable The memory store could not be opened. Retry once the store is warm.
const { hits } = await client . agent . memory . searchMemory ({
query : " how does the proxy bind its port? " ,
curl -X POST " https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/memory/search " \
-H " Content-Type: application/json " \
-d ' {"project":"hoody","query":"how does the proxy bind its port?","limit":10} '
Stores a new memory record.
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container. X-Hoody-Realmheader string No Per-request realm selector. realmquery string No Query alias of X-Hoody-Realm.
Field Type Required Description projectstring Yes Project key the memory belongs to. contentstring Yes The memory content. typestring No Memory type (e.g. workflow, fact).
" id " : " mem_01HXYZABCDEF " ,
" content " : " Hoody proxy binds to a random localhost port by default. " ,
" created_at " : " 2025-11-05T08:14:02Z "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC. Omit the realm header on this route.
" code " : " admin_unauthorized " ,
" message " : " memory administration requires a valid admin token "
Error Code Title Description Resolution admin_unauthorizedRejected by the daemon’s own admin gate The request was refused by the server’s admin gate. Run the daemon with socket auth (--auth-token-path). forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (default 8 MiB). Reduce the request body or split it into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded. Honor the Retry-After header and retry.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " store_unavailable " ,
" message " : " memory store unavailable "
Error Code Title Description Resolution store_unavailableMemory store unavailable The memory store could not be opened. Retry once the store is warm.
await client . agent . memory . saveMemoryItem ({
content : " Hoody proxy binds to a random localhost port by default. " ,
curl -X POST " https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/memory/items " \
-H " Content-Type: application/json " \
-d ' {"project":"hoody","content":"Hoody proxy binds to a random localhost port by default.","type":"fact"} '
Patches a memory record by id.
Name In Type Required Description idpath string Yes Memory record id. X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container. X-Hoody-Realmheader string No Per-request realm selector. realmquery string No Query alias of X-Hoody-Realm.
Field Type Required Description projectstring No Project key the memory belongs to. kindstring No Memory kind/store the record lives in. contentstring No Replacement memory content.
" id " : " mem_01HXYZABCDEF " ,
" content " : " Hoody proxy binds to 127.0.0.1 on a random ephemeral port by default. " ,
" updated_at " : " 2025-11-05T09:02:47Z "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC. Omit the realm header on this route.
" code " : " admin_unauthorized " ,
" message " : " memory administration requires a valid admin token "
Error Code Title Description Resolution admin_unauthorizedRejected by the daemon’s own admin gate The request was refused by the server’s admin gate. Run the daemon with socket auth (--auth-token-path). forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (default 8 MiB). Reduce the request body or split it into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded. Honor the Retry-After header and retry.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " store_unavailable " ,
" message " : " memory store unavailable "
Error Code Title Description Resolution store_unavailableMemory store unavailable The memory store could not be opened. Retry once the store is warm.
await client . agent . memory . editMemoryItem ( " mem_01HXYZABCDEF " , {
content : " Hoody proxy binds to 127.0.0.1 on a random ephemeral port by default. "
curl -X PATCH " https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/memory/items/mem_01HXYZABCDEF " \
-H " Content-Type: application/json " \
-d ' {"project":"hoody","kind":"memory","content":"Hoody proxy binds to 127.0.0.1 on a random ephemeral port by default."} '
Deletes a memory record. This is the cross-project delete — the record identity comes from the request body.
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container. X-Hoody-Realmheader string No Per-request realm selector. realmquery string No Query alias of X-Hoody-Realm.
Field Type Required Description idstring Yes Memory record id. projectstring No Project key the memory belongs to. kindstring No Memory kind/store the record lives in.
" id " : " mem_01HXYZABCDEF " ,
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC. Omit the realm header on this route.
" code " : " admin_unauthorized " ,
" message " : " memory administration requires a valid admin token "
Error Code Title Description Resolution admin_unauthorizedRejected by the daemon’s own admin gate The request was refused by the server’s admin gate. Run the daemon with socket auth (--auth-token-path). forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (default 8 MiB). Reduce the request body or split it into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded. Honor the Retry-After header and retry.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " store_unavailable " ,
" message " : " memory store unavailable "
Error Code Title Description Resolution store_unavailableMemory store unavailable The memory store could not be opened. Retry once the store is warm.
await client . agent . memory . deleteMemoryItem ({
curl -X DELETE " https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/memory/items " \
-H " Content-Type: application/json " \
-d ' {"id":"mem_01HXYZABCDEF","project":"hoody","kind":"memory"} '
Flips the memory privacy switch — persists features.memory and applies it immediately. Not restricted to admins.
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container. X-Hoody-Realmheader string No Per-request realm selector. realmquery string No Query alias of X-Hoody-Realm.
Field Type Required Description enabledboolean No Whether memory capture is enabled.
" applied_at " : " 2025-11-05T09:18:11Z "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC. Omit the realm header on this route.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (default 8 MiB). Reduce the request body or split it into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded. Honor the Retry-After header and retry.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . memory . setMemoryEnabled ({ enabled : true })
curl -X PUT " https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/memory/enabled " \
-H " Content-Type: application/json " \
Forces the memory store durability barrier. Not restricted to admins. The request body is a free-form object forwarded to the daemon memory.flush RPC; reserved _-prefixed keys are ignored and the request scope (cwd / config_dir) is applied automatically.
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container. X-Hoody-Realmheader string No Per-request realm selector. realmquery string No Query alias of X-Hoody-Realm.
This endpoint accepts an empty body. No fields are documented.
" at " : " 2025-11-05T09:18:11Z "
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC. Omit the realm header on this route.
" message " : " request must arrive through the Hoody proxy "
Error Code Title Description Resolution forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (default 8 MiB). Reduce the request body or split it into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded. Honor the Retry-After header and retry.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry.
await client . agent . memory . flushMemory ({})
curl -X POST " https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/memory/flush " \
-H " Content-Type: application/json " \
Requests a consolidation pass for a project.
Danger
This operation is HUMAN-ONLY. Consolidation spends multi-LLM passes and evolves memory state irreversibly, so an autonomous caller may never self-approve it. An HTTP call to this operation always returns 403 human_only — a documented, enforced guarantee. Run consolidation from an interactive human session (TUI/CLI) instead.
Name In Type Required Description X-Hoody-Cwdheader string No Per-request working-directory scope. X-Hoody-Config-Dirheader string No Per-request --config-dir override. X-Hoody-Containerheader string No Per-request bound remote container. X-Hoody-Realmheader string No Per-request realm selector. realmquery string No Query alias of X-Hoody-Realm.
Field Type Required Description projectstring Yes Project key to consolidate. min_observationsinteger No Optional minimum-observations threshold for a fact to be consolidated.
" message " : " invalid request "
Error Code Title Description Resolution bad_requestBad request The request was malformed or carried invalid parameters. Correct the request body or query parameters. realm_scope_unsupportedRealm scope unsupported A per-request realm header was supplied to an active-only / global-no-realm RPC. Omit the realm header on this route.
" message " : " memory consolidation requires direct human confirmation and is not available to machine callers "
Error Code Title Description Resolution admin_unauthorizedRejected by the daemon’s own admin gate The request was refused by the server’s admin gate. Run the daemon with socket auth (--auth-token-path). human_onlyHuman confirmation required The operation requires direct human confirmation and is not available to machine callers. Trigger the operation from an interactive human session, not an autonomous/machine-confirmed dispatch. forbiddenForbidden (not via the Hoody proxy) The request did not reach the service through the public endpoint. Reach the agent through hoody-proxy.
" message " : " resource not found "
Error Code Title Description Resolution not_foundNot found The requested resource does not exist. Verify the path and identifier.
" code " : " payload_too_large " ,
" message " : " request body exceeds the configured size limit "
Error Code Title Description Resolution payload_too_largePayload too large The request body exceeds the configured size cap (default 8 MiB). Reduce the request body or split it into smaller requests.
" message " : " request rate limit exceeded "
Error Code Title Description Resolution rate_limitedToo many requests The per-client request rate limit was exceeded. Honor the Retry-After header and retry.
" code " : " internal_error " ,
" message " : " internal server error "
Error Code Title Description Resolution internal_errorInternal error An unexpected error occurred while handling the request. Retry; if persistent, inspect the daemon logs.
" code " : " service_unavailable " ,
" message " : " service unavailable "
Error Code Title Description Resolution service_unavailableService unavailable The daemon could not service the request (too busy, or a per-client stream concurrency cap was hit). Honor Retry-After and retry. store_unavailableMemory store unavailable The memory store could not be opened. Retry once the store is warm. consolidate_unavailableConsolidation unavailable The consolidation pass could not be enqueued (maintenance queue full or memory disabled). It is reported as retryable rather than as a silent success. Retry shortly; ensure memory capture is enabled.
// Note: HTTP callers always receive 403 human_only. Use the TUI/CLI from an
// interactive human session to actually run consolidation.
await client . agent . memory . consolidateMemory ({ project : " hoody " , min_observations : 5 })
# Note: this call will always return 403 human_only when invoked via HTTP.
curl -X POST " https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/memory/consolidate " \
-H " Content-Type: application/json " \
-d ' {"project":"hoody","min_observations":5} '