Recall
The individual memories that answer a question, best first.
POST /api/v1/recall
Use recall when you want the memories themselves rather than one ready block: to show results in your own interface, pick among them, or build a prompt your own way. For the common case of "give me context for this prompt", use Context.
Request
| Field | Type | Required | Description |
|---|---|---|---|
query | string | Yes | The question. Up to 2000 characters |
k | number | No | Most results to return, 1–20. Default 8 |
curl https://<your-buddhi-host>/api/v1/recall \
-H "Authorization: Bearer crtx_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "Which words should we avoid in marketing copy?", "k": 5}'
Response
{
"results": [
{
"id": "5b1e…",
"title": "Brand voice",
"kind": "fact",
"scope": "marketing",
"score": 0.6123,
"source": "Notion",
"url": "https://www.notion.so/…",
"author": "Priya",
"timestamp": "2026-04-12T00:00:00.000Z",
"excerpt": "Summary: Plain and confident. Never use the word \"revolutionary\".\nSource text: Our voice is plain and confident…",
"summary": "Plain and confident. Never use the word \"revolutionary\"."
}
]
}
| Field | Description |
|---|---|
excerpt | The text a language model should read for this memory: its summary followed by the best-matching part of the original |
summary | A one- or two-sentence standalone statement of the memory, or null |
The remaining fields are the same as sources in Context.
What to expect
- Results are ordered by how well they answer the question, not just by how similar they look. A memory that only shares words with the question is dropped.
- An empty list is a real answer. It means nothing in the key's scopes answers the question.
- Fewer than
kresults is normal. Buddhi returns the memories that answer, not padding. One well-matched result is common. - Superseded memories are never returned. When a fact is updated, only the current version comes back.