curl -X POST https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev/v1/memories/recall \
-H "x-api-key: $ENGRAMME_API_KEY" \
-F "text=team meetings"
import os
import requests
response = requests.post(
"https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev/v1/memories/recall",
headers={"x-api-key": os.environ["ENGRAMME_API_KEY"]},
data={"text": "team meetings"}
)
for memory in response.json()["memories"]:
print(f"[{memory['score']:.2f}] {memory['content']['narrative'][:100]}...")
const apiKey = process.env.ENGRAMME_API_KEY;
const formData = new FormData();
formData.append('text', 'team meetings');
const response = await fetch(
'https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev/v1/memories/recall',
{
method: 'POST',
headers: { 'x-api-key': apiKey },
body: formData
}
);
const data = await response.json();
data.memories.forEach(m => {
console.log(`[${m.score.toFixed(2)}] ${m.content.narrative}`);
});
{
"trace_id": "9b1c2d3e-4f56-7890-abcd-1234567890ef",
"memories": [
{
"custom_id": "meeting-jan15_memory_0",
"item_id": "meeting-jan15",
"score": 0.94,
"source": "text",
"content": {
"narrative": "I attended the weekly team sync with Sarah, Mike, and Jennifer. We reviewed sprint progress and discussed the upcoming product launch timeline.",
"participants": ["Sarah", "Mike", "Jennifer"],
"when": "January 15, 2025, 10:00 AM",
"where": "Conference Room B",
"other_entities": [
{"entity_name": "Q1 Roadmap", "entity_type": "Project"}
],
"tags": ["meeting", "team-sync", "sprint"]
}
},
{
"custom_id": "meeting-jan08_memory_1",
"item_id": "meeting-jan08",
"score": 0.87,
"source": "text",
"content": {
"narrative": "I led the Q1 planning session with the engineering team. We prioritized three main objectives for the quarter.",
"participants": ["Alex", "Mike", "Sarah"],
"when": "January 8, 2025",
"where": "Virtual",
"tags": ["planning", "Q1", "engineering"]
}
}
],
"qa": [],
"chunks": []
}
{
"detail": "Query text is required"
}
API Reference
Recall Memories
Recall and retrieve raw memories by semantic similarity
POST
/
v1
/
memories
/
recall
curl -X POST https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev/v1/memories/recall \
-H "x-api-key: $ENGRAMME_API_KEY" \
-F "text=team meetings"
import os
import requests
response = requests.post(
"https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev/v1/memories/recall",
headers={"x-api-key": os.environ["ENGRAMME_API_KEY"]},
data={"text": "team meetings"}
)
for memory in response.json()["memories"]:
print(f"[{memory['score']:.2f}] {memory['content']['narrative'][:100]}...")
const apiKey = process.env.ENGRAMME_API_KEY;
const formData = new FormData();
formData.append('text', 'team meetings');
const response = await fetch(
'https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev/v1/memories/recall',
{
method: 'POST',
headers: { 'x-api-key': apiKey },
body: formData
}
);
const data = await response.json();
data.memories.forEach(m => {
console.log(`[${m.score.toFixed(2)}] ${m.content.narrative}`);
});
{
"trace_id": "9b1c2d3e-4f56-7890-abcd-1234567890ef",
"memories": [
{
"custom_id": "meeting-jan15_memory_0",
"item_id": "meeting-jan15",
"score": 0.94,
"source": "text",
"content": {
"narrative": "I attended the weekly team sync with Sarah, Mike, and Jennifer. We reviewed sprint progress and discussed the upcoming product launch timeline.",
"participants": ["Sarah", "Mike", "Jennifer"],
"when": "January 15, 2025, 10:00 AM",
"where": "Conference Room B",
"other_entities": [
{"entity_name": "Q1 Roadmap", "entity_type": "Project"}
],
"tags": ["meeting", "team-sync", "sprint"]
}
},
{
"custom_id": "meeting-jan08_memory_1",
"item_id": "meeting-jan08",
"score": 0.87,
"source": "text",
"content": {
"narrative": "I led the Q1 planning session with the engineering team. We prioritized three main objectives for the quarter.",
"participants": ["Alex", "Mike", "Sarah"],
"when": "January 8, 2025",
"where": "Virtual",
"tags": ["planning", "Q1", "engineering"]
}
}
],
"qa": [],
"chunks": []
}
{
"detail": "Query text is required"
}
Search your memories and get raw results without AI response generation. Useful for browsing memories or building custom experiences.
Search query. Max 1,000 characters.
Optional source filter, such as
text, email, github, or google_meets. The API key must have access to the requested source.curl -X POST https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev/v1/memories/recall \
-H "x-api-key: $ENGRAMME_API_KEY" \
-F "text=team meetings"
import os
import requests
response = requests.post(
"https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev/v1/memories/recall",
headers={"x-api-key": os.environ["ENGRAMME_API_KEY"]},
data={"text": "team meetings"}
)
for memory in response.json()["memories"]:
print(f"[{memory['score']:.2f}] {memory['content']['narrative'][:100]}...")
const apiKey = process.env.ENGRAMME_API_KEY;
const formData = new FormData();
formData.append('text', 'team meetings');
const response = await fetch(
'https://memorymachines-gateway-prod-btf57kda.uc.gateway.dev/v1/memories/recall',
{
method: 'POST',
headers: { 'x-api-key': apiKey },
body: formData
}
);
const data = await response.json();
data.memories.forEach(m => {
console.log(`[${m.score.toFixed(2)}] ${m.content.narrative}`);
});
{
"trace_id": "9b1c2d3e-4f56-7890-abcd-1234567890ef",
"memories": [
{
"custom_id": "meeting-jan15_memory_0",
"item_id": "meeting-jan15",
"score": 0.94,
"source": "text",
"content": {
"narrative": "I attended the weekly team sync with Sarah, Mike, and Jennifer. We reviewed sprint progress and discussed the upcoming product launch timeline.",
"participants": ["Sarah", "Mike", "Jennifer"],
"when": "January 15, 2025, 10:00 AM",
"where": "Conference Room B",
"other_entities": [
{"entity_name": "Q1 Roadmap", "entity_type": "Project"}
],
"tags": ["meeting", "team-sync", "sprint"]
}
},
{
"custom_id": "meeting-jan08_memory_1",
"item_id": "meeting-jan08",
"score": 0.87,
"source": "text",
"content": {
"narrative": "I led the Q1 planning session with the engineering team. We prioritized three main objectives for the quarter.",
"participants": ["Alex", "Mike", "Sarah"],
"when": "January 8, 2025",
"where": "Virtual",
"tags": ["planning", "Q1", "engineering"]
}
}
],
"qa": [],
"chunks": []
}
{
"detail": "Query text is required"
}
A missing
text form field may return FastAPI’s standard 422 validation response. A blank or whitespace-only text value returns 400.Response Fields
Recall returnstrace_id, memories, qa, and chunks. See Response Fields for the shared memory result schema.
Use Cases
Memory Browser
Display memories in a list view for users to browse
Debugging
See exactly which memories are being retrieved
Custom UI
Build custom visualizations with raw memory data
Filtering
Post-process results by date, participants, etc.
Recall can return an empty list if processing has not finished, no memories match the query, or the API key is scoped away from the relevant source.
⌘I

