Browse the docs

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

FieldTypeRequiredDescription
querystringYesThe question. Up to 2000 characters
knumberNoMost 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\"."
    }
  ]
}
FieldDescription
excerptThe text a language model should read for this memory: its summary followed by the best-matching part of the original
summaryA 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 k results 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.