---
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

- KnowledgeBaseWithConfigCreate — KnowledgeBase create model with config -- used for creating a new knowledge_base with config.
  - `ingestion_pipeline_params` KnowledgeBasePipelineParamsInput, 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

## 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

---

[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/855f9ee2331d/schema)
