Concepts
Content
Content is text you push into a knowledge base. Once ingested, Kognita takes care of everything needed to make it searchable. You just query.
What Kognita manages for you
After you create a content item, Kognita handles the entire processing pipeline asynchronously in the background:
Splitting
Your text is broken into optimally-sized windows. The split strategy is tuned per knowledge base type so you don't have to think about token budgets.
Embedding
Each window is converted into a vector using the embedding model configured on the knowledge base. Kognita calls the model, pays for the tokens, and stores the result.
Indexing
Vectors are written to a dedicated vector database. A full-text index is built at the same time, enabling both keyword and semantic retrieval from a single API.
Re-embedding on update
When you update a content item via PUT, Kognita automatically regenerates all embeddings. There is no manual re-index step.
Cleanup on delete
Deleting a content item removes its vectors, full-text index entries, and stored text. Nothing is left behind.
Ingestion methods
You can push content as raw text or as a file upload:
| Method | Endpoint | Use when |
|---|---|---|
| Text | POST /contents | You already have the text (FAQs, articles, product descriptions, structured data). |
| File upload | POST /contents/file | You have a document (PDF, etc.). Kognita extracts the text before processing. |
Metadata
Every content item can carry arbitrary key/value metadata. Metadata is stored with the content, returned in search results, and can be used to filter searches so only relevant content is considered.
curl -X POST https://api.kognita.ai/api/v1/knowledge-bases/{kbId}/contents \
-H "x-kognita-api-key: YOUR_API_KEY" \
-H "x-kognita-organization-id: YOUR_ORG_ID" \
-H "Content-Type: application/json" \
-d '{
"text": "Kognita provides hybrid search over your data.",
"metadata": { "source": "docs", "version": "2", "language": "en" }
}'curl -X POST https://api.kognita.ai/api/v1/knowledge-bases/{kbId}/search/hybrid \
-H "x-kognita-api-key: YOUR_API_KEY" \
-H "x-kognita-organization-id: YOUR_ORG_ID" \
-H "Content-Type: application/json" \
-d '{
"query": "how does search work?",
"limit": 10,
"metadataFilter": { "source": "docs", "language": "en" }
}'Tips
- Keep items focused. One article, FAQ entry, or product description per content item gives search more signal to work with. Giant blobs reduce precision; tiny fragments lack context.
- Use metadata to segment your content. If your KB holds content for multiple products, languages, or categories, tag each item at ingest time. You can then filter searches to a specific subset without creating separate knowledge bases.
- Updates re-embed automatically. Sending a PUT replaces the text and triggers a full re-index. There is no separate re-embed step.