Recall facts by meaning
Embed the query and return the closest facts in the scope, ranked by cosine similarity.
Scope goes in the body, like POST /v1/memory: scope plus the matching id.
Without minScore, a scope always answers with its limit closest facts however distant they are — a search that found nothing relevant is indistinguishable from one that found the right thing. Set minScore when your code branches on "did I know this?".
Authorization
AuthorizationheaderrequiredBearer YOUR_API_KEY. Create a key in the dashboard.
Body
application/json
querystringrequiredWhat to recall. Max 8,192 bytes. Phrase it as the fact you hope to find, not as a keyword: the match is semantic.
scopestringWhich namespace a memory belongs to. Scopes are isolated: a search in one never returns a memory from another.
project: shared by the whole project. What the agent knows in general.contact: what the agent knows about one person, across every conversation with them.conversation: what the agent knows about one inbox thread.
Defaults to
projecteverywhere.contactandconversationrequire the matching id.One ofprojectcontactconversationcontactIdstringRequired when
scopeiscontact.conversationIdstringRequired when
scopeisconversation.limitintegerMaximum hits to return, closest first.
Default5Limitsmin 1 · max 20minScorenumberDrop hits below this similarity. Without it every scope returns its
limitclosest facts, however far away they are — an empty-handed search still answers with something. Set it (0.3 or above is a reasonable floor) when "nothing relevant" must be distinguishable from "the least irrelevant thing I hold".Limitsmin 0 · max 1
Responses
200Matching facts, closest first. An empty `items` means nothing cleared `minScore`.
itemsobject[]required6 properties
idstringrequiredtextstringThe remembered text.
metadataobject1 properties
{key}string
scorenumberCosine similarity to the query, 0 to 1, higher being closer. Present on search results only — a list or a single read has no query to score against.
createdAtstring<date-time>requiredexpiresAtstring<date-time>
400Invalid body or a scope without its id.
codestringrequiredmessagestringrequireddetailsobject
401Unauthorized.
codestringrequiredmessagestringrequireddetailsobject