---
title: "Create a Knowledge Source"
method: POST
path: "/v2.0/knowledgestores/{knowledgeStoreId}/sources"
tags: ["Knowledge Sources"]
---

# Create a Knowledge Source

`POST /v2.0/knowledgestores/{knowledgeStoreId}/sources`

Creates a Knowledge Source in a Knowledge Store. You define the source metadata and type—no file is uploaded. Use this method for manual sources, URL sources (for web scraping), or when creating the source first and ingesting content later (pdf, txt, ctxt).

## Path parameters

- `knowledgeStoreId` string, required

## Headers

- `Accept` 'application/json' | 'application/hal+json' | 'application/xml' | 'text/xml' | 'text/csv'

## Request body

- union
  - object
    - `name` string — The name of the KnowledgeSource
    - `description` string — The description about what the knowledge source contains
    - `type` 'url' | 'manual' | 'pdf' | 'txt' | 'ctxt' | 'extension' — The type of source for the Knowledge store
    - `metaData` object
      - `tags` string[]
    - `url` string — The url of the website to scrape the data from. This is only applicable for KnowledgeSources of type "url"
  - object
    - `name` string — The name of the KnowledgeSource
    - `description` string — The description about what the knowledge source contains
    - `type` 'url' | 'manual' | 'pdf' | 'txt' | 'ctxt' | 'extension' — The type of source for the Knowledge store
    - `metaData` object
      - `tags` string[]
    - `connectorId` string, uuid — The connector Id associated with the KnowledgeSource. This is only applicable for KnowledgeSources of type "extension"

## Response `201`

Returns KnowledgeSource metadata object.

- object
  - `knowledgeSource` object — The IEntityMeta defines meta information every entity within the system has. These are dates when a resource was created and modified as well as information about the user who initially created a resource and who modified it the last time.
    - `name` string — The name of the KnowledgeSource
    - `description` string — The description about what the knowledge source contains
    - `type` 'url' | 'manual' | 'pdf' | 'txt' | 'ctxt' | 'extension' — The type of source for the Knowledge store
    - `metaData` object
      - `tags` string[]
    - `data` object — Custom metadata object to store additional information in the KnowledgeSource
    - `chunkCount` integer
    - `status` 'ready' | 'ingesting' | 'disabled'
    - `connectorReference` string, uuid — The connector Id associated with the KnowledgeSource. This is only applicable for KnowledgeSources of type "extension"
    - `referenceId` string, uuid
    - `_id` string
    - `createdAt` integer — Unix-timestamp
    - `lastChanged` integer — Unix-timestamp
    - `createdBy` string
    - `lastChangedBy` string

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)
- `401` — The request has not been applied because it lacks valid authentication credentials for the target resource.
- `402` — Upgrade your Plan to increase your Quota.
- `403` — The server understood the request but refuses to authorize it.
- `404` — The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
- `405` — The method received in the request-line is known by the origin server but not supported by the target resource.
- `409` — The request conflicts with current state of the server.
- `413` — The request entity is larger than limits defined by server.
- `500` — The server encountered an unexpected condition that prevented it from fulfilling the request.
- `501` — The server does not support the functionality required to fulfill the request.
- `502` — The server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request.
- `503` — The server is not ready to handle the request.
- `504` — The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server it needed to access in order to complete the request.

---

[API](https://skmtc.net/cognigy/apis/simulator-openapi-rest-ful-api-reference.md) · [All operations](https://skmtc.net/cognigy/apis/simulator-openapi-rest-ful-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cognigy/simulator-openapi-rest-ful-api-reference/revisions/85b2872bdfb7/schema)
