1. What it is
Knowledge is shared, tenant-wide context that all users and agents in a tenant can recall - product documents, internal wikis, policy PDFs, Slack threads, Notion pages, CSVs, emails, and any other source content. Knowledge is the counterpart to Memories. Both are retrievable through Recall, but they live in separate stores and are retrieved through separate endpoints:2. What it does
When you upload Knowledge, HydraDB:- Parses the source (PDF, DOCX, Markdown, CSV, plain text, or app-source JSON).
- Chunks the content into semantically coherent segments.
- Runs entity and relationship extraction - building graph nodes and edges.
- Embeds chunks into the dense and sparse vector stores.
- Makes the content searchable through
/recall/full_recall.
indexing_status is completed. Poll /ingestion/verify_processing with the returned source_id.
3. When to use it
Use Knowledge ingestion when the content is:- Shared across all users in your tenant (product docs, policy PDFs, runbooks, wikis)
- Static or infrequently updated (versioned by replacing the source)
- Document-structured rather than conversational (files, threads, pages)
- User preferences and behavioral signals
- Per-user conversation history
- Content that should personalize a single user’s experience
4. Two ingestion paths
ThePOST /ingestion/upload_knowledge endpoint accepts two content formats in one request. Send either or both.
Path A - Files
Binary files HydraDB should parse and chunk: PDF, DOCX, Markdown, CSV, TXT.Path B - App sources
Pre-parsed records from connected apps. Put the app item’s searchable text infields so app-aware recall can use IDs, actors, threads, and relations.
Though app_knowledge is an available option. We recommend storing the content as a markdown file and using path A i.e. file upload using
upload_knowledge for better results.5. Verifying processing
queued → processing → graph_creation → completed (or error).
Poll every few seconds. Most documents complete in 1–5 minutes.
6. Key parameters
File metadata (file_metadata array items)
App source model (app_knowledge array items)
Request-level fields
7. Forceful relations
Forceful relations let you explicitly link Knowledge sources to each other at ingestion time. When a query matches a source that has forceful relations declared, HydraDB pulls the linked sources intoadditional_context alongside the primary results.
This is separate from the entity and relationship graph HydraDB builds automatically during ingestion. Graph extraction is derived from content; forceful relations are declared by you.
Set the relations field on any item in file_metadata or app_knowledge:
additional_context field. Set search_forceful_relations: true (the default) on the request to include them.
8. Metadata on knowledge
Attachmetadata at ingestion to enable deterministic filtering at recall time:
metadata keys must be defined in the tenant metadata schema with enable_match: true to be filterable via top-level keys. additional_metadata is also filterable — nest it under the additional_metadata key in metadata_filters (canonical, matches the ingestion field name). document_metadata is also accepted as a legacy alias:
additional_metadata filters are post-retrieval, so the engine over-fetches (~3x) to compensate.
See Essentials → Metadata for schema design and filtering patterns.
9. Common mistakes
Related
- Memories - user-scoped dynamic context
- Recall - how
full_recallretrieves Knowledge - Metadata - designing filterable schemas
- Upload Knowledge API Reference
- Verify Processing API Reference