API Reference
Detailed documentation of the Memory Engine API endpoints
Base URL: /api
Memory Management
Create Memory
POST /memory
Creates a new memory. This process triggers fact extraction and vector embedding generation.
Request Body:
{
"userId": 1,
"source": "manual",
"sourceId": "manual-entry-1",
"content": "User prefers dark mode.",
"timestamp": "2023-10-27T10:00:00Z",
"metadata": {
"tags": "preference,ui",
"category": ["user-settings"]
}
}Update Memory
PUT /memory
Updates an existing memory. If content is changed, it triggers re-extraction and re-embedding.
Request Body:
{
"id": 123,
"content": "User prefers light mode."
}Delete Memory
DELETE /memory
Deletes a memory by ID.
Request Body:
{
"id": 123,
"userId": 1
}Get Memory
GET /memory
Retrieves a single memory by ID.
Request Body:
{
"id": 123
}Get User Memories
GET /memory/user
Retrieves all memories for a specific user.
Request Body:
{
"userId": 1
}Batch Operations
Batch Ingest
POST /memories
Ingents multiple messages at once.
Request Body:
{
"userId": 1,
"source": "chat",
"sourceId": "chat-session-123",
"messages": [
{ "role": "user", "content": "My name is Alice." },
{ "role": "user", "content": "I am a software engineer." }
],
"infer": true,
"timestamp": "2023-10-27T10:00:00Z",
"contentUrl": "chat-history/session-123"
}Search & Retrieval
Semantic Search
POST /memories/search
Searches for memories semantically similar to the query.
Request Body:
{
"query": "What is the user's name?",
"userId": 1,
"limit": 5,
"scoreThreshold": 0.7
}Ask (RAG)
POST /memories/ask
Retrieves relevant memories and generates an answer using an LLM.
Request Body:
{
"query": "What language does the user prefer?",
"userId": 1,
"rerank": {
"enabled": true
}
}Generate Answer
POST /memories/answer
Generates an answer based on specific query parameters. Similar to ask but often used for direct QA without implicit context.
Request Body:
{
"question": "Explain the architecture.",
"userId": 1
}