Full Recall
Hybrid semantic + graph + metadata recall over knowledge sources.
When to use it
/recall/full_recall is the primary endpoint for retrieving knowledge (documents, app sources). It runs a multi-stage pipeline that combines:
- Metadata filtering (deterministic scoping)
- Hybrid retrieval (semantic + keyword)
- Graph traversal (entity relationships)
- Personalized ranking (user, agent, task)
POST /recall/recall_preferences instead.
Endpoint
- Auth: Bearer token
- Idempotency: Read-only
- Async: No
Example
Request parameters
Metadata filters
This field matches OpenAPI schemaRecallSearchRequest.metadata_filters (see api-reference/openapi.json).
- Optional object for exact-match metadata scoping; all conditions are ANDed.
- Tenant-level: top-level keys (except the reserved nested object below) must match tenant metadata field names declared with
enable_matchintenant_metadata_schema. Values use plain equality to stored tenant metadata. These are pre-filtered in the vector store, so they are fast. - Document-level: nest an object under the key
additional_metadata(matches the ingestion field name). Keys and values use plain equality to the per-source data you sent asadditional_metadataat ingestion. Applied post-retrieval — the engine over-fetches (~3x) to compensate.document_metadatais also accepted as a legacy alias for the nested key. - Not supported in this contract: range operators, regular-expression operators, or Mongo-style operators such as
$gte,$lt,$in, or$regex.
Modes
thinking mode, HydraDB runs multiple sub-queries against the index and reranks results before returning.
Response
graph_context populates only when:- You set
graph_context: truein the request, and - Your ingested content has linked relationships in the graph.
Behavior notes
thinking mode is the personalized path. The default fast mode uses a single retrieval pass. thinking mode adds query expansion, reranking, and forceful-relation context. For B2C apps where personalized recall matters, prefer thinking.Related endpoints
- For user memories instead: Recall preferences – same parameters, targets the memory collection
- For exact-match search: Boolean recall – full-text search with AND/OR/PHRASE operators
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 → Recall · Essentials → Context Graphs
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.