Skip to content

API Reference

Memories API

CRUD, search, and batch operations for memories.

Create Memory

POST /v1/memories
{
  "content": "The user prefers dark mode.",
  "userId": "user-123",
  "emotionalTags": [
    { "emotion": "satisfaction", "intensity": 0.7, "confidence": 0.8 }
  ],
  "metadata": { "source": "chat" }
}

Returns 201 with the created memory including id and tenantId.

Get Memory

GET /v1/memories/:id

Returns the memory if it belongs to your tenant. Returns 404 otherwise.

Update Memory

PUT /v1/memories/:id
{
  "content": "Updated content",
  "metadata": { "reviewed": true }
}

If content changes, the embedding is regenerated automatically.

Delete Memory

DELETE /v1/memories/:id

Deletes the memory and its vector embedding.

Search

POST /v1/memories/search
{
  "query": "What does the user prefer?",
  "strategy": "semantic",
  "limit": 10,
  "filters": {
    "userId": "user-123"
  }
}

Strategy options: semantic (default for multi-tenant), temporal, emotional. Results include score (0-1) and the full memory object.

Recent Memories

GET /v1/memories/recent?limit=10&userId=user-123

Count

GET /v1/memories/count?userId=user-123

Batch Create

POST /v1/memories/batch
{
  "memories": [
    { "content": "Memory 1", "userId": "user-1" },
    { "content": "Memory 2", "userId": "user-1" }
  ]
}

Returns 201 (all succeeded), 207 (partial), or 500 (all failed).

Batch Update / Delete

PUT /v1/memories/batch
{ "updates": [{ "id": "...", "data": { "content": "..." } }] }

DELETE /v1/memories/batch
{ "ids": ["id-1", "id-2"] }