The Big Picture
HydraDB has three logical planes:
Your client talks only to the API. Storage, indexing, and graph internals stay behind the service boundary.
Ingestion Lifecycle
Ingestion is asynchronous. A successful upload means HydraDB accepted the work and queued it for processing; it does not mean the content is immediately fully indexed. UsePOST /ingestion/verify_processing with the returned source_id to track indexing. Wait for completed when you need full recall and graph context.
From Upload To Recall
- Create a tenant with
POST /tenants/create. - Poll
GET /tenants/infra/status?tenant_id=...until bothvectorstore_statusindices aretrueandgraph_statusistrue. - Upload documents or app Knowledge with
POST /ingestion/upload_knowledge, or user Memories withPOST /memories/add_memory. - Poll
POST /ingestion/verify_processing?file_ids=<source_id>&tenant_id=.... - Query Knowledge with
POST /recall/full_recall, user Memories withPOST /recall/recall_preferences, or exact text matches withPOST /recall/boolean_recall.
Tenant Isolation
Atenant_id is the top-level isolation boundary. Within it, sub_tenant_id scopes content to a user, team, workspace, or project.
If sub_tenant_id is omitted, HydraDB resolves it to the tenant’s default sub-tenant.
Use this model for common product patterns:
Retrieval Pipeline
/recall/full_recall and /recall/recall_preferences use the same request model and differ by collection: Knowledge sources vs user Memories.
At a high level, recall:
- Validates
tenant_id, resolves the tenant, and applies the requestedsub_tenant_id. - Applies
metadata_filtersbefore ranking. - Runs hybrid retrieval over semantic and lexical signals.
- Uses
alphato blend semantic vs lexical ranking. - Optionally includes graph context when
graph_context: true. - Returns ranked
chunks, deduplicatedsources,graph_context, and anyadditional_context.
Key Controls
Operational Mental Model
HydraDB separates write-time work from query-time work. Uploads are accepted quickly, then processed in the background. Recall stays synchronous and returns only indexed content. When results look incomplete, first check processing status, then tenant/sub-tenant scope, then metadata filters.Related
- Core Concepts - the five primitives: Memories, Knowledge, Recall, Tenants, Metadata
- Quickstart - build your first integration in five minutes
- Multi-Tenant Support - scoping patterns
- Context Graphs - how the graph layer works