---
title: "Create Knowledge Base Route"
method: POST
path: "/api/knowledge_bases/"
tags: ["knowledge_base"]
---

# Create Knowledge Base Route

`POST /api/knowledge_bases/`

Create a new knowledge base.

## Request body

- KnowledgeBaseWithConfigCreateInput — KnowledgeBase create model with config -- used for creating a new knowledge_base with config.
  - `ingestion_pipeline_params` KnowledgeBasePipelineParamsInput, required — Knowledge base pipeline params input.
    - `curate` CurateParams, required — Curate params. Defines full curation pipeline, as an ordered dict of named curation steps. Order of steps *does* matter -- they are executed in the order defined.
      - `steps` object
    - `curate_document_store` DocumentStoreParams, required — Document store params.
      - `document_tags` object
    - `transform` TransformParams, required — Transform params. Defines full transform pipeline, as an ordered dict of named transform steps. Order of steps *does* matter -- they are executed in the order defined.
      - `steps` object
    - `vector_store` VectorStoreParamsInput, required — Vector store params input.
      - `node_tags` object
  - `name` string, required
  - `description` string, required

## Response `201`

Successful Response

- KnowledgeBaseWithConfig
  - `ingestion_pipeline_params` KnowledgeBasePipelineParamsOutput, required — Knowledge base pipeline params. Parameters defined on the knowledge-base level for a pipeline.
    - `curate` CurateParams, required — Curate params. Defines full curation pipeline, as an ordered dict of named curation steps. Order of steps *does* matter -- they are executed in the order defined.
      - `steps` object
    - `curate_document_store` DocumentStoreParams, required — Document store params.
      - `document_tags` object
    - `transform` TransformParams, required — Transform params. Defines full transform pipeline, as an ordered dict of named transform steps. Order of steps *does* matter -- they are executed in the order defined.
      - `steps` object
    - `vector_store` VectorStoreParams, required — Vector store params.
      - `weaviate_collection_name` string, required — The name of the Weaviate collection to use for storing documents. Must start with AgilityKB and be valid.
      - `node_tags` object
  - `name` string, required
  - `description` string, required
  - `id` string, uuid, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `deleted_at` string, date-time, nullable, required

## Other responses

- `422` — Validation Error

## Changes

- **2025-02-04** `b8c06b2cd81f` — 1 warning
  - removed the request property `ingestion_pipeline_params/vector_store/weaviate_collection_name`
- **2024-12-13** `a5e85dccbbe3` — 2 info
  - added `#/components/schemas/CharacterSplitterV0Params` to the `ingestion_pipeline_params/transform/steps/additionalProperties/` request property `anyOf` list
  - added `#/components/schemas/CharacterSplitterV0Params` to the `ingestion_pipeline_params/transform/steps/additionalProperties/` response property `anyOf` list for the response status `201`
- **2024-12-07** `043c2e8fdb79` — 4 info
  - added `#/components/schemas/MarkdownNodeExpanderParams` to the `ingestion_pipeline_params/transform/steps/additionalProperties/` request property `anyOf` list
  - the `model` request property default value changed from `gpt-4o` to `gpt-4o-mini`
  - added `#/components/schemas/MarkdownNodeExpanderParams` to the `ingestion_pipeline_params/transform/steps/additionalProperties/` response property `anyOf` list for the response status `201`
  - the `model` response's property default value changed from `gpt-4o` to `gpt-4o-mini` for the status `201`
- …earlier changes not shown

[Full history](https://skmtc.dev/cleanlab/apis/agility/changes/api/knowledge_bases/post.md)

---

[API](https://skmtc.dev/cleanlab/apis/agility.md) · [All operations](https://skmtc.dev/cleanlab/apis/agility/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cleanlab/agility/revisions/9e6009a931b6/schema)
