Skip to main content

REST API: Memory store

The memory store endpoints are only available when a store is configured in agentflow.json. They provide cross-thread, semantic-search-enabled memory storage.

Base path: /v1/store


POST /v1/store/memories

Store a memory record.

Request body:

{
"content": "User prefers concise responses.",
"user_id": "user-123",
"agent_id": "my-agent",
"metadata": {
"category": "preference"
}
}
FieldTypeRequiredDescription
contentstringyesThe memory text
user_idstringnoAssociate with a user
agent_idstringnoAssociate with an agent
metadataobjectnoArbitrary extra data

Response:

{
"success": true,
"data": {
"memory_id": "mem_abc123",
"content": "User prefers concise responses.",
"created_at": "2026-04-08T10:00:00Z"
}
}

POST /v1/store/search

Search memories by semantic similarity.

Request body:

{
"query": "How does this user like to receive information?",
"user_id": "user-123",
"limit": 5,
"filters": {
"category": "preference"
}
}
FieldTypeRequiredDescription
querystringyesSearch query (cannot be empty)
user_idstringnoFilter by user
agent_idstringnoFilter by agent
limitintegernoMax results to return (default: 10)
filtersobjectnoMetadata key-value filters

Response:

{
"success": true,
"data": {
"results": [
{
"memory_id": "mem_abc123",
"content": "User prefers concise responses.",
"score": 0.91,
"metadata": {"category": "preference"}
}
]
}
}

POST /v1/store/memories/{memory_id}

Get a memory by ID.

Response:

{
"success": true,
"data": {
"memory_id": "mem_abc123",
"content": "User prefers concise responses.",
"user_id": "user-123",
"metadata": {}
}
}

GET /v1/store/memories

List stored memories with optional filters.

Query parameters:

ParameterTypeDescription
user_idstringFilter by user
agent_idstringFilter by agent
limitintegerMax results

PUT /v1/store/memories/{memory_id}

Update a stored memory.

Request body:

{
"content": "Updated memory content.",
"metadata": {"updated": true}
}

DELETE /v1/store/memories/{memory_id}

Delete a memory record.

Response:

{
"success": true,
"data": {"deleted": true}
}

POST /v1/store/memories/forget

Delete all memories matching filters.

Request body:

{
"user_id": "user-123",
"agent_id": "my-agent"
}

Authentication

Writing and deleting memories requires store:write permission. Reading and searching requires store:read.