> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langdock.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Knowledge Folder API Overview

> List, share, rename, upload, manage, and search Knowledge bases programmatically

The Knowledge Folder API lets you list Knowledge bases a workspace key can use, manage access, and rename them. You can also upload, manage, and search files programmatically. Uploaded files are processed, embedded, and made available for semantic search. The API manages resources that appear as Knowledge bases in the Library.

## Before You Start

* **API key scope**: Requires an API key with the `KNOWLEDGE_FOLDER_API` scope. The Knowledge base must be shared with the API key, and write operations require the Editor role. Use [List Knowledge bases](/en/developer/knowledge-folder-api/list-knowledge-folders) to discover ids the key can already use. See [Share Knowledge bases with the API](/en/developer/knowledge-folder-api/sharing).

## Base URL

```
https://api.langdock.com
```

<Warning>
  **Dedicated deployments**

  Replace `api.langdock.com` with `<your-deployment-url>/api/public` in all requests.
</Warning>

## Available Endpoints

| Method   | Endpoint                               | Description                                                                                 |
| -------- | -------------------------------------- | ------------------------------------------------------------------------------------------- |
| `GET`    | `/knowledge`                           | [List Knowledge bases](/en/developer/knowledge-folder-api/list-knowledge-folders)           |
| `POST`   | `/knowledge/{folderId}/access`         | [Grant Knowledge base access](/en/developer/knowledge-folder-api/share-access)              |
| `PATCH`  | `/knowledge/{folderId}/access`         | [Change Knowledge base access](/en/developer/knowledge-folder-api/share-access)             |
| `DELETE` | `/knowledge/{folderId}/access`         | [Revoke Knowledge base access](/en/developer/knowledge-folder-api/share-access)             |
| `PATCH`  | `/knowledge/{folderId}/folder`         | [Update a Knowledge base](/en/developer/knowledge-folder-api/update-folder)                 |
| `POST`   | `/knowledge/{folderId}`                | [Upload a file to a Knowledge base](/en/developer/knowledge-folder-api/upload-file)         |
| `GET`    | `/knowledge/{folderId}/list`           | [List files in a Knowledge base](/en/developer/knowledge-folder-api/retrieve-files)         |
| `PATCH`  | `/knowledge/{folderId}`                | [Update a file in a Knowledge base](/en/developer/knowledge-folder-api/update-attachment)   |
| `DELETE` | `/knowledge/{folderId}/{attachmentId}` | [Delete a file from a Knowledge base](/en/developer/knowledge-folder-api/delete-attachment) |
| `POST`   | `/knowledge/search`                    | [Search across Knowledge bases](/en/developer/knowledge-folder-api/search-knowledge-folder) |

## Guides

* [Share Knowledge bases with the API](/en/developer/knowledge-folder-api/sharing): create an API key and share a Knowledge base with it
