HTTP API Reference β
Auto-generated from uteke-server route registry and type schemas. Do not edit manually β run cargo run -p docgen to regenerate.
Base URL: http://localhost:8767 (default)
Auth: Set --auth-token <TOKEN> to require Authorization: Bearer <TOKEN> header.
π·οΈ Tags β
π’ GET /tags β
List all tags in a namespace. Accepts ?namespace=X query param.
π‘ POST /tags/rename β
Rename a tag across all memories.
Request body: TagRenameRequest
π‘ POST /tags/delete β
Delete a tag from all memories.
Request body: TagDeleteRequest
π Pin (Legacy) β
π‘ POST /pin β
Pin a memory by ID (legacy β prefer /memory/pin).
Request body: PinRequest
π‘ POST /unpin β
Unpin a memory by ID (legacy β prefer /memory/pin with pin=false).
Request body: PinRequest
π Other β
π’ GET /guide β
Returns the agent-facing memory tools guide for system prompt injection (#1010).
Response: GuideResponse
Related: #1010
π’ GET /namespaces β
List all namespaces in the memory store
π’ GET /stats β
Get memory statistics (count, etc.) for a namespace. Accepts ?namespace=X query param.
π‘ POST /stats β
Get memory statistics via POST body. Accepts {"namespace": "..."}.
Request body: JSON object (see handler source for fields)
Related: #786
π’ GET /memory β
Get a single memory by ID. Accepts ?id=... query param.
Response: Memory
π΅ PUT /memory β
Update an existing memory's content and/or metadata.
Request body: MemoryUpdateRequest
π’ GET /graph β
Get graph edges for a memory. Accepts ?id=... query param.
π‘ POST /lifecycle/cycle β
Run lifecycle aging cycle: deprecate old memories, optionally prune expired ones.
Related: #935
π‘ POST /lifecycle/promote β
Restore a deprecated memory back to active status.
Related: #935
π’ GET /lifecycle/status β
Get lifecycle status: active/deprecated counts and current configuration.
Related: #935
π’ GET /lifecycle/deprecated β
List deprecated memories with TTL metadata.
Related: #1007
π¦ Import/Export β
π‘ POST /import β
Import memories from a JSON array.
Request body: ImportRequest
π’ GET /export β
Export all memories as JSON. Accepts ?namespace=... query param.
π‘ POST /importance β
Recompute importance scores for all memories.
Request body: ImportanceRequest
π§ Maintenance β
π‘ POST /prune β
Remove orphaned memories (no room, no graph edges).
Request body: PruneRequest
π‘ POST /consolidate β
Merge similar/duplicate memories automatically.
Request body: ConsolidateRequest
π‘ POST /consolidate/pair β
Consolidate a single caller-chosen duplicate pair: keep id_keep, deprecate (or hard-delete) id_remove.
Request body: ConsolidatePairRequest
Related: 1076
π‘ POST /aging β
Run aging cleanup β deprioritize or remove old/stale memories.
Request body: AgingRequest
π‘ POST /orphans β
List orphaned memories (not in any room, no edges).
Request body: OrphansRequest
π‘ POST /extract β
Extract entities and relationships from memory content.
Request body: ExtractRequest
π‘ POST /rebuild-backlinks β
Rebuild backlink indices for memory graph.
π΄ Health & Info β
π’ GET /health β
Health check β returns server status and version
Response: HealthResponse
π΅ Documents β
π‘ POST /doc/create β
Create a new document with slug, title, content, tags.
Request body: DocCreateRequest
π‘ POST /doc/get β
Get a document by slug.
Request body: DocGetRequest
π‘ POST /doc/list β
List documents with optional namespace/limit/roots_only/parent filters.
Request body: DocListParams
π‘ POST /doc/search β
Search documents by query with optional mode/namespace/limit.
Request body: DocSearchRequest
π‘ POST /doc/update β
Update an existing document (content, title, tags, parent).
Request body: DocUpdateRequest
π‘ POST /doc/move β
Move a document to a different parent.
Request body: DocMoveRequest
π΄ DELETE /doc/delete β
Delete a document by slug or ID.
π‘ POST /doc/mem-refs β
Get memories that reference a specific document.
Request body: JSON object (see handler source for fields)
π Graph β
π‘ POST /graph/edge β
Add a directed edge between two memories.
Request body: GraphEdgeRequest
π΄ DELETE /graph/edge β
Remove an edge between two memories. Accepts ?from=...&to=... query params.
π’ GET /edges β
List edges for a memory (alias for /graph). Accepts ?id=... query param.
π’ GET /timeline β
Get timeline of memory events for a memory. Accepts ?id=... query param.
π‘ Core Memory β
π‘ POST /remember β
Store a new memory. Accepts content, tags, namespace, type, metadata.
Request body: RememberRequest
Response: Memory
π‘ POST /recall β
Semantic search β recall memories by meaning. Returns ranked results.
Excludes deprecated memories from results.
Request body: RecallRequest
π‘ POST /search β
Keyword search β find memories by matching words in content/tags.
Excludes deprecated memories from results.
Request body: SearchRequest
π‘ POST /list β
List memories with optional filters (namespace, tags, sort, limit, offset).
Excludes deprecated memories from results.
Request body: ListParams
π΄ DELETE /forget β
Deprecate a memory by ID. Returns 404 if ID doesn't exist.
π’ GET /recent β
Get recently added memories. Accepts ?limit=N&namespace=X query params.
Excludes deprecated memories from results.
π’ Rooms β
π‘ POST /room/create β
Create a new memory room. Accepts {"name": "..."}.
Request body: JSON object (see handler source for fields)
π‘ POST /room/remember β
Store a memory linked to a room. Accepts room_id, content, tags, type, author.
Request body: RoomRememberRequest
Response: Memory
Related: #789
π‘ POST /room/recall β
Semantic search within a room. Empty query returns all memories chronologically.
Excludes deprecated memories from results.
Request body: RoomRecallRequest
Related: #785
π‘ POST /room/summary β
Get room summary with memory clusters and statistics.
Excludes deprecated memories from results.
Request body: JSON object (see handler source for fields)
π‘ POST /room/summary-document β
Get room summary focused on document-type memories.
Excludes deprecated memories from results.
Request body: JSON object (see handler source for fields)
π’ GET /room/list β
List all rooms.
π‘ POST /room/consolidate β
Plan or execute segment-level LLM consolidation of room memories (#1088). Dry-run by default; apply: true executes with a hard budget cap. Write op β blocked for read-only tokens.
Request body: JSON object (see handler source for fields)
Related: #1088
π‘ POST /room/stats β
Get memory count for a room. Includes deprecated memories (known discrepancy vs /room/summary).
Request body: JSON object (see handler source for fields)
Related: #784
π’ GET /room/memories β
List all memories in a room (chronological). Accepts ?room_id=... query param.
Excludes deprecated memories from results.
π΄ DELETE /room/delete β
Delete a room and all its memories. Accepts ?room_id=... query param.
π‘ POST /room/document β
Store a reference document in a room (large content >500 chars).
Request body: JSON object (see handler source for fields)
π‘ POST /room/document/list β
List documents in a room.
Request body: JSON object (see handler source for fields)
π΅ PUT /room/document/add β
Add a reference to an existing document in a room.
Request body: JSON object (see handler source for fields)
π΄ DELETE /room/document/remove β
Remove a document reference from a room.
Request body: JSON object (see handler source for fields)
π‘ POST /doc/room/list β
List rooms that reference a specific document.
Request body: JSON object (see handler source for fields)
π£ Memory Management β
π‘ POST /memory/pin β
Pin a memory so it won't be removed by aging/cleanup operations.
Request body: MemoryPinRequest
π‘ POST /memory/importance β
Get or set the importance score of a memory.
Request body: MemoryImportanceRequest
π‘ POST /memory/feedback β
Submit positive/negative feedback on a memory for ranking signals.
Request body: MemoryFeedbackRequest
π‘ POST /memory/doc-refs β
Get documents that reference a specific memory.
Request body: JSON object (see handler source for fields)
π€ AI Integration β
π‘ POST /context β
Get context window for a query (for LLM prompt enrichment).
Request body: JSON object (see handler source for fields)
π‘ POST /dream β
Generate new memories/insights from existing memory corpus.
Request body: JSON object (see handler source for fields)
π‘ POST /mcp β
MCP (Model Context Protocol) bridge endpoint for AI agent tool calls.
Request body: JSON object (see handler source for fields)
Request/Response Schemas β
Detailed field definitions for each request type.
AgingRequest β
| Field | Type | Required | Description |
|---|---|---|---|
action | string | No | |
dry_run | boolean | No | |
max_access_count | any | No | Max access count threshold for preview/cleanup (default: 1). |
namespace | any | No | |
older_than_days | any | No | Days threshold for preview/cleanup (default: warm_days from config, fallback 90). |
ConsolidateRequest β
| Field | Type | Required | Description |
|---|---|---|---|
dry_run | boolean | No | |
namespace | any | No | |
threshold | number | No |
DocCreateRequest β
| Field | Type | Required | Description |
|---|---|---|---|
content | string | Yes | |
parent | any | No | |
slug | string | Yes | |
tags | string[] | No | |
title | any | No |
DocGetRequest β
| Field | Type | Required | Description |
|---|---|---|---|
id | any | No | |
slug | any | No |
DocMoveRequest β
| Field | Type | Required | Description |
|---|---|---|---|
id | any | No | |
new_parent | any | No | |
new_sort_order | any | No | Optional sort order for the moved document (#sort-order). |
slug | any | No |
ErrorResponse β
| Field | Type | Required | Description |
|---|---|---|---|
error | string | Yes |
ExtractRequest β
| Field | Type | Required | Description |
|---|---|---|---|
content | string | Yes | |
max_facts | any | No | Override max facts per document. |
model | any | No | Override extraction model (else config default). |
namespace | any | No | |
tags | string[] | No | |
type | any | No |
GraphEdgeRequest β
| Field | Type | Required | Description |
|---|---|---|---|
edge_type | any | No | |
source | string | Yes | |
target | string | Yes | |
weight | any | No |
HealthResponse β
| Field | Type | Required | Description |
|---|---|---|---|
api_latest | any | No | Latest API version (#737). |
api_versions | any | No | Supported API versions (#737). |
memories | integer | Yes | |
namespaces | integer | Yes | |
status | string | Yes | |
update_available | any | No | Latest version available on GitHub, if newer than current. |
Populated from cache (24h TTL) β may be None if cache is stale. | |||
version | string | Yes | Server version (uteke-server crate version), so HTTP clients can gate |
| features on the actual server capability rather than a local CLI probe. |
ImportRequest β
| Field | Type | Required | Description |
|---|---|---|---|
content | string | Yes | JSONL content to import. |
namespace | any | No | |
tags | string[] | No |
ImportanceRequest β
| Field | Type | Required | Description |
|---|---|---|---|
namespace | any | No |
ListParams β
| Field | Type | Required | Description |
|---|---|---|---|
at | any | No | Time-travel: list memories that existed at this RFC3339 timestamp. |
limit | integer | No | |
namespace | any | No | |
offset | integer | No | |
tag | any | No |
MemoryFeedbackRequest β
Request for memory feedback / trust scoring (#718).
| Field | Type | Required | Description |
|---|---|---|---|
feedback | string | Yes | "helpful" or "unhelpful" |
id | string | Yes |
MemoryImportanceRequest β
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
importance | number | Yes |
MemoryPinRequest β
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
pinned | boolean | Yes |
MemoryUpdateRequest β
| Field | Type | Required | Description |
|---|---|---|---|
content | any | No | New content. Triggers embedding regeneration. |
id | string | Yes | UUID of the memory to update (required). |
importance | any | No | Set importance score (0.0β1.0). |
memory_type | any | No | Set memory type (fact, procedure, preference, decision, context, note, insight, reference, event). |
metadata | any | No | Replace metadata entirely with this object. |
pinned | any | No | Set pinned state. |
tags | any | No | Replace tags entirely with this list. |
OrphansRequest β
| Field | Type | Required | Description |
|---|---|---|---|
limit | integer | No | |
namespace | any | No | |
threshold | number | No |
PinRequest β
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes |
PruneRequest β
| Field | Type | Required | Description |
|---|---|---|---|
dry_run | boolean | No | |
namespace | any | No | |
ttl_days | integer | No |
RecallRequest β
| Field | Type | Required | Description |
|---|---|---|---|
after | any | No | Temporal range filter: only return memories created at or after this |
| RFC3339 timestamp (#902). | |||
at | any | No | Time-travel: query memories that existed at this RFC3339 timestamp. |
before | any | No | Temporal range filter: only return memories created at or before this |
| RFC3339 timestamp (#902). | |||
category | any | No | Filter by category metadata. |
enrich | boolean | No | Enrich results with cross-entity links (docβmemory) (#689). |
When true, populates linked_doc_slugs on memory results and | |||
linked_memory_ids on document results. | |||
entity | any | No | Filter by entity metadata. |
limit | integer | No | |
min_score | any | No | Minimum similarity score (0.0-1.0). Results below are filtered. |
Default: 0.0 (no filtering). Use strict=true for 0.5 default (#995). | |||
namespace | any | No | |
query | string | Yes | |
search_type | any | No | Search type filter: "all" (default, unified), "memory", or "doc" (#531). |
strategy | any | No | Recall strategy: "fusion" (default since 0.16.0), "vector", "fts5", |
| "hybrid", or "graph" (#900, #1034, #1123). | |||
When absent, the server falls back to [recall] default_strategy from | |||
| uteke.toml, then to "fusion" β matching the CLI default. | |||
| Invalid values return HTTP 400. | |||
strict | boolean | No | Use strict threshold (defaults to 0.5 if min_score not set). |
tags | string[] | No |
RememberRequest β
| Field | Type | Required | Description |
|---|---|---|---|
author_type | any | No | Author type: "human" |
category | any | No | Category β stored as metadata key "category". |
content | string | Yes | |
detect_contradiction | boolean | No | |
entity | any | No | Entity name β stored as metadata key "entity". |
metadata | any | No | Extra metadata key=value pairs, merged into the metadata map. |
| Accepts an object (e.g. {"project": "uteke"}). | |||
namespace | any | No | |
source | any | No | Source provenance β set via set_source() after storage. |
source_type | any | No | Source type (defaults to "user"). |
tags | string[] | No | |
type | any | No | |
valid_from | any | No | |
valid_until | any | No |
RoomRecallRequest β
| Field | Type | Required | Description |
|---|---|---|---|
at | any | No | Time-travel: recall room state as of this RFC3339 timestamp (#1082). |
Memories created after at (or invalidated before it) are excluded. | |||
author | any | No | |
limit | integer | No | |
min_score | any | No | |
query | any | No | Semantic search query. When None or empty, falls back to |
chronological recall (equivalent to GET /room/memories) (#785). | |||
room_id | string | Yes |
RoomRememberRequest β
| Field | Type | Required | Description |
|---|---|---|---|
author | any | No | Author β stored as participant role in room link. |
content | string | Yes | |
metadata | any | No | |
namespace | any | No | |
room_id | string | Yes | |
tags | string[] | No | |
type | any | No |
SearchRequest β
| Field | Type | Required | Description |
|---|---|---|---|
limit | integer | No | |
namespace | any | No | |
query | string | Yes | |
tags | string[] | No |
TagDeleteRequest β
| Field | Type | Required | Description |
|---|---|---|---|
namespace | any | No | |
tag | string | Yes |
TagRenameRequest β
| Field | Type | Required | Description |
|---|---|---|---|
namespace | any | No | |
new | string | Yes | |
old | string | Yes |