API Overview

Memory

Search, retrieve context, store, and extract memory chunks from conversations.

The memory API manages knowledge chunks extracted from Claude Code sessions. Each chunk has a type, relevance score, and optional project association. For conceptual details, see Claude Memory System.

Endpoints

Search Memories

GET /api/memory/search

Search stored memory chunks by text query with optional filters. Matching memories have their access count incremented automatically.

Authentication: Required

Query Parameters:

ParamTypeRequiredDescription
querystringNoText to search in content and sourceExcerpt (ILIKE)
projectPathstringNoFilter by project path
chunkTypestringNoFilter by type: decision, fact, solution, pattern, preference, summary
minRelevancenumberNoMinimum relevance score (0-1)
limitnumberNoMax results (default 20, max 100)

Response: 200 OK

{
  "data": [
    {
      "id": "uuid",
      "sessionId": "session-abc",
      "projectPath": "/home/user/my-project",
      "chunkType": "decision",
      "content": "Use PostgreSQL for the database layer",
      "sourceExcerpt": "After evaluating SQLite and Postgres...",
      "relevanceScore": 0.95,
      "accessCount": 3,
      "lastAccessedAt": "2026-02-18T12:00:00.000Z",
      "createdAt": "2026-02-15T08:30:00.000Z"
    }
  ]
}

Get Context

GET /api/memory/context

Retrieve recent, high-relevance memories formatted for Claude context injection. Returns both raw memory objects and a pre-formatted text block grouped by type.

Authentication: Required

Query Parameters:

ParamTypeRequiredDescription
projectstringNoFilter by project path
limitnumberNoMax memories (default 5, max 20)

Response: 200 OK

{
  "data": {
    "memories": [{ "id": "uuid", "chunkType": "decision", "content": "..." }],
    "formatted": "5 memories loaded:\n\n### Decisions\n- Use PostgreSQL\n\n### Patterns\n- Always use pnpm\n"
  }
}

The formatted string is designed for direct injection into Claude's system prompt. The Claude hooks call this endpoint at session start.


Store Memory

POST /api/memory/store

Store a single memory chunk. Broadcasts a resource_change notification on success.

Authentication: Required

Request Body:

FieldTypeRequiredDescription
contentstringYesThe memory text
chunkTypestringYesOne of: decision, fact, solution, pattern, preference, summary
sessionIdstringNoClaude session ID
projectPathstringNoAssociated project path
sourceExcerptstringNoOriginal conversation excerpt
relevanceScorenumberNo0-1 score (default 1.0)

Response: 201 Created

{
  "data": {
    "id": "uuid",
    "chunkType": "fact",
    "content": "The deploy target is a Hetzner VPS running Ubuntu 24.04",
    "relevanceScore": 1.0,
    "accessCount": 0,
    "createdAt": "2026-02-18T12:00:00.000Z"
  }
}

Extract Memories

POST /api/memory/extract

Extract and store memories from a conversation transcript using AI. Accepts either raw transcript text or a file path to a transcript.

Authentication: Required

Request Body:

FieldTypeRequiredDescription
transcriptstringConditionalRaw conversation text (required if no transcriptPath)
transcriptPathstringConditionalPath to transcript file (required if no transcript)
sessionIdstringNoClaude session ID
projectPathstringNoAssociated project path

Response: 200 OK

{
  "data": [
    { "id": "uuid", "chunkType": "decision", "content": "Use Drizzle ORM", "relevanceScore": 0.9 }
  ],
  "message": "Extracted 3 memories"
}

If no extractable memories are found:

{
  "data": [],
  "message": "No memories worth extracting"
}

Delete Memory

DELETE /api/memory/:id

Delete a single memory chunk by ID. Broadcasts a resource_change notification.

Authentication: Required

Path Parameters:

ParamTypeDescription
idstring (UUID)Memory chunk ID

Response: 200 OK

{ "data": { "success": true } }

Errors:

StatusCondition
400Missing ID
404Memory not found

Type Reference

Memory types are defined in shared/types/index.ts. See Database Schema for the full memory_chunks table definition.

TypeDescription
decisionArchitectural or design decisions
factKey facts about the environment or project
solutionSolutions to problems encountered
patternRecurring patterns or conventions
preferenceUser preferences and style choices
summaryConversation or session summaries