---
title: "POST /add-knowledge-base-sources/{knowledge_base_id}"
method: POST
path: "/add-knowledge-base-sources/{knowledge_base_id}"
---

# POST /add-knowledge-base-sources/{knowledge_base_id}

`POST /add-knowledge-base-sources/{knowledge_base_id}`

Add sources to a knowledge base

## Path parameters

- `knowledge_base_id` string, required

## Response `201`

Successfully created a new knowledge base.

- KnowledgeBaseResponse
  - `knowledge_base_id` string, required — Unique id of the knowledge base.
  - `knowledge_base_name` string, required — Name of the knowledge base. Must be less than 40 characters.
  - `status` 'in_progress' | 'complete' | 'error' | 'refreshing_in_progress', required — Status of the knowledge base. When it's created and being processed, it's "in_progress". When the processing is done, it's "complete". When there's an error in processing, it's "error". When it is during kb updating, it's "refreshing_in_progress".
  - `max_chunk_size` integer — Maximum number of characters per chunk when splitting knowledge base content.
  - `min_chunk_size` integer — Minimum number of characters per chunk. Chunks smaller than this are merged with adjacent chunks.
  - `knowledge_base_sources` union[] — Sources of the knowledge base. Will be populated after the processing is done (when status is "complete").
    - union
      - KnowledgeBaseSourceDocument
        - `type` 'document', required — Type of the knowledge base source.
        - `source_id` string, required — Unique id of the knowledge base source.
        - `filename` string, required — Filename of the document.
        - `file_url` string, required — URL of the document stored.
        - `file_size` number, required — File size in bytes.
      - KnowledgeBaseSourceText
        - `type` 'text', required — Type of the knowledge base source.
        - `source_id` string, required — Unique id of the knowledge base source.
        - `title` string, required — Title of the text.
        - `content_url` string, required — URL of the text content stored.
      - KnowledgeBaseSourceUrl
        - `type` 'url', required — Type of the knowledge base source.
        - `source_id` string, required — Unique id of the knowledge base source.
        - `url` string, required — URL used to be scraped and added to the knowledge base.
  - `enable_auto_refresh` boolean — Whether to enable auto refresh for the knowledge base urls. If set to true, will retrieve the data from the specified url every 12 hours.
  - `last_refreshed_timestamp` integer — Last refreshed timestamp (milliseconds since epoch). Only applicable when enable_auto_refresh is true.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `402` — Payment Required
- `429` — Too Many Requests
- `500` — Internal Server Error

---

[API](https://skmtc.net/retellai/apis/retell-sdk.md) · [All operations](https://skmtc.net/retellai/apis/retell-sdk/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/retellai/retell-sdk/versions/2a182bedbfc5/schema)
