Skip to main content

Scope and access

Database

A separate workspace for your data, typically one per customer or environment. A query searches only the database you specify.

Collection

A named group of context within a database. Omit it and HydraDB uses the database’s default collection, which is created on the first write. A query that names another collection does not read the default one. See Multi-tenancy.

ACL and principal

An access-control list (ACL) names who may retrieve a document. Each entry is a principal: a person, group, or domain written as a string, such as [email protected]. A query enforces ACLs only when it sends the caller’s principals. See Access Control.

Context

Knowledge

Documents, app sources, and facts your AI reasons over. Knowledge can be private: the collection it lives in and its ACL decide who reads it. See Knowledge.

Memory

Preferences, decisions, and past conversations your application saves to carry between sessions. See Memories.

App source

A record your app or connector already parsed, such as a Slack message or a Jira ticket, sent with typed fields instead of as a file. See App Sources.

Class

The kind of app source an item is, set in its kind field: message, ticket, comment, knowledge_base, email, meeting, or custom. See App Sources.

Source

One stored item: a file, an app record, or a memory. Each source has an id you use to check status, update, or delete it.

Chunk

A passage of a source, sized for search. A query returns ranked chunks, and you pass them to your model.

Infer

A memory flag. With infer: true, HydraDB extracts the preference or fact from raw input such as dialogue or event logs. With infer: false (the default), it stores exactly what you send.

Query

The default query_by value: matching by meaning and by keywords at once, blended by alpha. query_by: "text" uses keyword matching (BM25) alone. See Semantic Search.

Fast, thinking, and auto

Query mode values. fast is one low-latency pass. thinking expands the query, reranks, and pulls in forceful relations. auto, the default, picks one per query.

Context graph

The entities (people, teams, services, topics) and relationships HydraDB extracts from your context, returned with query results as graph_context. Following a chain of relationships is multi-hop traversal. See Context Graphs.

Triplet

One edge of the context graph: a source entity, a relation, and a target entity, such as “billing policy, governs, failed payment handling”.

Forceful relations

Links between sources that you declare at ingest with relations.ids, for when two sources belong together but their text does not say so. They are returned in additional_context when a query runs in thinking mode.

Deprecated aliases

database and collection were previously called tenant_id and sub_tenant_id. Wherever you meet an old name (a request field, a route, a query parameter), it is a deprecated alias, and it keeps working. A request that sends both names with different values is rejected with 400.
One exception: in the indexing webhook payload, tenant_id and database do not carry the same value. database is the name you ingested into; tenant_id is an identifier for it. Everywhere else (request fields, routes, query parameters), they remain interchangeable. See Webhooks.
Prefer the canonical names in new integrations. See Multi-tenancy for the full compatibility contract.