Memory
Store, search, and profile AI agent memory at the workspace level.
Memory
All endpoints scoped to: /v1/workspaces/:workspaceId/memories.
Endpoints
POST /v1/workspaces/:wId/memories/ingest
Extract atomic facts from raw text, embed them, resolve conflicts, and store. This is the primary write path.
Body
| Field | Type | Description |
|---|---|---|
content | string | Raw text to extract facts from |
scope | thread | workflow | user | Memory scope |
threadId | string? | Agent conversation thread |
workflowId | uuid? | Associated workflow |
Response 201
POST /v1/workspaces/:wId/memories/search
Hybrid vector + keyword search.
Body
Response 200
Scores are merged: vector cosine similarity boosted by +0.2 for keyword matches.
GET /v1/workspaces/:wId/memories/profile?userId=:userId
Return a user's memories grouped by factType.
Response 200
POST /v1/workspaces/:wId/memories
Store a single memory without extraction (manual insert).
Body
Response 201: memory object
GET /v1/workspaces/:wId/memories
List memories with optional filters.
Query params
| Param | Type | Description |
|---|---|---|
scope | string | thread | workflow | user |
threadId | string | Filter by thread |
workflowId | uuid | Filter by workflow |
Response 200: array of memory objects (excludes superseded)
DELETE /v1/workspaces/:wId/memories/:id
Delete a memory.
Response 204
Memory Object
Memories with supersededById != null are stale: they have been replaced by a newer, semantically equivalent fact. All list/search endpoints exclude them automatically.