Ask a Question
URL-encode the profile id in the path. A
profile_id is free-form and often carries reserved characters — caller:+13128675309 has both : and + — so percent-encode it when you interpolate it into a request path (caller%3A%2B13128675309), or the route can be changed or truncated.score field:
There is no model in the recall path. Recall ranks and returns facts; it does not compose an answer. Putting those facts in front of your own agent is the last step, and it stays yours.
Prime a Session Before the First Turn
recall answers questions, which means your agent has to have one. At the start of a session it does not: nobody has said anything yet, and “what do we know about this person?” is a weak query that returns ranked fragments rather than a picture.
That is the job summary does — the whole profile as one card, precomputed, no query and no retrieval at request time:
is_stale means newer memories have landed since the card was written — ordinary, and the card is still usable.
On the first read, a card may not exist yet. For a profile whose summary has not been generated,
text and generated_at come back null — the first read schedules one, so read again shortly. Guard for a non-null text before templating it into a prompt; if it is null, open the session without a card rather than injecting null.- It is fast enough for turn zero. A voice agent cannot spend a retrieval round-trip before greeting someone.
- It has a stable shape. A card is a predictable block to template into a system prompt. Ranked facts vary in length and content with every query, which is awkward to budget context for.
- It costs less. Opening every session with “tell me about this person” pays for full multi-strategy retrieval to answer a question whose result barely moves between sessions.
You can steer how these cards read with summary instructions, set once per namespace.
Read a Profile Whole
Everything one profile holds, most recent first:
Listing depth is bounded:
page[number] × page[size] cannot exceed 10,000. To reach older memories, narrow with session_id rather than paging deeper.
Who Is in a Namespace
Which profiles hold memories, and how many each:page[number] and page[size]. A profile appears once its first memory is extracted, so one whose ingest is still running is not listed yet.
Related
- Writing memories —
ingest,remember, and tracking the operation - Sources — what a profile stored, and tracing a memory back to it
- Agent Memory — namespaces, profiles, and how they are created