Skip to main content

How it works

You don’t need to create a knowledge base manually. Adding content (a URL, file, or text) automatically creates one for you and returns its ID.
Uploaded content is indexed and retrieved automatically during calls — no configuration needed. Supported file types: PDF, Excel, and Word documents. Maximum file size: 20 MB.

Quick start — add content in one call

You can skip creating a knowledge base ID manually. POST /v1/knowledge-bases/sources (without a kb_id in the path) auto-creates a new knowledge base named after your source and starts ingestion immediately. The response gives you the knowledge_base_id — save it for attaching to your agent.

Add a URL

Provide any public URL — a docs page, FAQ, blog post, or product page. OneInbox fetches the page and indexes its content automatically.

Upload a file

Upload a document directly. Supported formats: PDF, Excel, and Word documents. Use the file field only — do not include a type field when uploading a file.

Add inline text

Paste content directly as plain text — useful for policies, scripts, FAQs, or any text you already have on hand.
All three endpoints return the same response structure:
  • source.kb_id — the ID of the auto-created knowledge base. Save this — you’ll use it in Step 3 to attach the KB to your agent.
  • source.source_id — the individual content source that was added.
  • job.job_id — the processing job. Poll this to track indexing progress.
The KB is named after the URL domain or file name.

Step 2 — Check processing status

Content is indexed asynchronously. Wait for the job to complete before attaching the KB to your agent — the agent can only use content that has finished processing.
Jobs follow this sequence: queuedrunningcompleted or failed Wait for "status": "completed" before moving to Step 3.

Step 3 — Attach to your LLM model

This is the step that makes the knowledge base available to your agent. Attach it to the LLM model (not the agent directly). llm_id is returned when you create an agent — if you don’t have it, fetch it with GET /v1/agents/<agent_id>.
Every agent using this LLM model now has access to the knowledge base. To attach multiple knowledge bases at once:

Detach a knowledge base from a model

To remove a KB from an LLM model without replacing the entire list, use remove_knowledge_base_ids:
You can attach and detach KBs in the same request — knowledge_base_ids adds, remove_knowledge_base_ids detaches.

Manage knowledge bases

List all knowledge bases

Retrieve all knowledge bases in your account. Useful for finding kb_id values or auditing what content your agents have access to.

List sources in a knowledge base

See all the individual content sources (URLs, files, inline text) that have been added to a specific KB.

Delete a source

Remove a single source from the KB along with its vector chunks and stored file. Get the source_id from the list sources endpoint above.

Update a knowledge base

Rename a KB, change its chunk size, or toggle multilingual mode. Chunk size changes take effect on the next source processed — existing content is not re-indexed automatically.

Delete a knowledge base

Permanently removes the KB and all its indexed content. If the KB is attached to an LLM model, it will no longer be available to those agents after deletion.

API reference

Add source (auto-create KB) · Add source · List jobs