Recall Preferences
Hybrid recall over user memories – preferences, conversation history, inline notes.
When to use it
/recall/recall_preferences retrieves user-specific context that was ingested via POST /memories/add_memory. Use it when your agent needs to:
- Personalize responses based on user preferences
- Recall past conversations with the user
- Surface user notes or settings relevant to the current task
POST /recall/full_recall – the only difference is which collection is searched. Use full_recall for documents and knowledge, recall_preferences for user memories.
Endpoint
- Auth: Bearer token
- Idempotency: Read-only
- Async: No
Example
Request parameters
Identical toPOST /recall/full_recall. The most important ones for memory recall:
Sub-tenant scoping
For B2C apps, sub-tenants typically map to end users:sub_tenant_id, the search runs against the default sub-tenant – which is rarely what you want for personalized recall.
Metadata filters on memories
POST /recall/recall_preferences shares RecallSearchRequest with POST /recall/full_recall in OpenAPI. The canonical metadata_filters contract is defined on that schema in api-reference/openapi.json and summarized under Full recall → Metadata filters.
Response
Same shape asPOST /recall/full_recall. The chunks[] array contains memory chunks; sources[] contains the originating memory items.
Behavior notes
sub_tenant_id explicitly for B2C apps. Personalized recall only works when memories are scoped to the right user. Omitting sub_tenant_id falls back to the default sub-tenant.thinking mode is especially valuable for memories. Memory recall benefits from query expansion because user preferences are often phrased indirectly (“I like X” → recall “user prefers X”).Related endpoints
- For documents and knowledge: Full recall – same shape, targets the knowledge collection
- Ingest memories: Add memory – store memories before they can be recalled
- For exact-match memory search: Boolean recall – set
search_mode: "memories"
Errors
Common codes:400 INVALID_PARAMETERS, 404 TENANT_NOT_FOUND, 422 VALIDATION_ERROR, 429 RATE_LIMITED. See Error Responses for the full list.
Read more: Essentials → Memories · Essentials → Recall
How to use API Results
Recall responses are chunks of data from knoledge, memory and graph relations in structured JSON. To extract context, we parse the data out of the response strucutre and feed it in prose to an LLM. For further details, explore Essentials → How to Use API Results.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Request body for full recall (sources) and recall preferences (memories).
Unique identifier for the tenant/organization
"tenant_1234"
Search terms to find relevant content
"Which mode does user prefer"
Optional sub-tenant identifier used to organize data within a tenant. If omitted, the default sub-tenant created during tenant setup will be used.
"sub_tenant_4567"
Maximum number of results to return
Retrieval mode to use ('fast' or 'thinking')
fast, thinking Search ranking algorithm parameter (0.0-1.0 or 'auto')
Preference for newer content (0.0 = no bias, 1.0 = strong recency preference)
1
Enable graph context for search results
true
Whether to search for forceful relations in thinking mode to augment context
true
Additional context provided by the user to guide retrieval
Optional object for exact-match metadata scoping. All provided conditions are combined with AND. Top-level keys (except the reserved nested object described below) must match tenant-level metadata field names declared with enable_match in tenant_metadata_schema; each value is compared with plain equality to the stored tenant metadata value for that field. For document-level metadata, supply a nested object under the key "additional_metadata" whose keys and values are compared with plain equality to per-source document metadata. Only equality on scalar-compatible values is part of this contract—do not send range operators, regular-expression operators, or Mongo-style operators such as $gte, $lt, $in, or $regex.
Response
Successful Response
Result of a hybrid search retrieval operation.
Deduplicated source documents corresponding to the returned chunks
Graph context containing query-based paths and chunk-based relation paths.
Map of chunk_uuid to VectorStoreChunk for extra context from forcefully related sources. Use chunk.extra_context_ids to look up chunks: extra_context[id] for id in chunk.extra_context_ids.