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

# Wissensdatenbank erstellen

> Erstelle eine Wissensdatenbank mit einem Workspace-API-Schlüssel

Erstellt eine Wissensdatenbank und gibt diesem API-Schlüssel die Rolle Bearbeiter. Nutze die zurückgegebene ID, um Dateien hochzuladen, die Wissensdatenbank umzubenennen oder Zugriff zu teilen. Persönliche API-Schlüssel können keine Wissensdatenbank erstellen.

## Bevor du startest

* **API-Key-Scope**: Erfordert einen Workspace-API-Schlüssel mit dem `KNOWLEDGE_FOLDER_API` Scope. Ein Schlüssel, der diesen Scope schon hat, kann diesen Endpoint aufrufen. Persönliche Schlüssel werden auch mit diesem Scope abgelehnt. Der Besitzer des Schlüssels braucht die Berechtigung **Dateien hochladen**. Siehe [Wissensdatenbanken mit der API teilen](https://docs.langdock.com/de/developer/knowledge-folder-api/sharing.md) für die Einrichtung.
* **Wissensdatenbanken**: Die Knowledge Folder API verwaltet Ressourcen, die in der Library als Wissensdatenbanken erscheinen.

## Basis-URL

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

> [!WARNING]
>
> **Dedicated Deployments**
>
> Ersetze `api.langdock.com` durch `<your-deployment-url>/api/public` in allen Anfragen.

## Anfrageformat

Dieser Endpoint akzeptiert `application/json`.

### Request Body

| Feld | Typ | Pflicht | Beschreibung |
| - | - | - | - |
| `name` | string | Ja | Wird getrimmt und darf danach nicht leer sein. Maximal `2000` Zeichen. |
| `description` | string | Nein | Optionaler Text. Maximal `2000` Zeichen. Wird nicht getrimmt. |

Unbekannte Felder werden abgelehnt. Es gibt keinen öffentlichen Endpoint, um eine Wissensdatenbank zu löschen.

## Beispiele

### Erstellen mit cURL

```bash theme={null}
curl -X POST "https://api.langdock.com/knowledge" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product handbook",
    "description": "Internal product documentation"
  }'
```

### Erstellen mit JavaScript

```javascript theme={null}
const axios = require("axios");

async function createKnowledgeBase(data) {
  const response = await axios.post(
    "https://api.langdock.com/knowledge",
    data,
    {
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
      },
    }
  );

  return response.data;
}

const result = await createKnowledgeBase({
  name: "Product handbook",
  description: "Internal product documentation",
});
console.log(result.result.id, result.result.role);
```

## Antwortformat

### Erfolgreiche Antwort (201 Created)

```typescript theme={null}
{
  status: "success";
  result: {
    id: string;                 // ID der Wissensdatenbank
    name: string;               // Getrimmter Name
    description: string | null; // null, wenn das Feld fehlt
    createdAt: string;          // Zeitstempel nach ISO 8601
    updatedAt: string;          // Zeitstempel nach ISO 8601
    fileCount: number;          // 0 bei einer neuen Wissensdatenbank
    role: "EDITOR";             // Rolle dieses Schlüssels. EDITOR ist Bearbeiter.
  };
}
```

`role` ist `EDITOR`, und `fileCount` ist `0`. Du kannst Dateien hochladen, aktualisieren und löschen, die Wissensdatenbank umbenennen und Zugriff teilen, ohne sie vorher mit dem Schlüssel zu teilen.

### Beispielantwort

```json theme={null}
{
  "status": "success",
  "result": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Product handbook",
    "description": "Internal product documentation",
    "createdAt": "2026-10-27T09:15:00.000Z",
    "updatedAt": "2026-10-27T09:15:00.000Z",
    "fileCount": 0,
    "role": "EDITOR"
  }
}
```

## Fehlerbehandlung

| Status | Bedeutung |
| - | - |
| `400` | Ungültiger Body, leerer Name, ein Feld über 2000 Zeichen oder ein unbekanntes Feld |
| `401` | Ungültiger oder fehlender API-Schlüssel |
| `403` | Fehlender Scope, persönlicher Schlüssel oder der Besitzer darf keine Dateien hochladen |
| `429` | Rate Limit überschritten |
| `500` | Unerwarteter Serverfehler |

Ein leerer Name, ein Feld über 2000 Zeichen oder ein unbekanntes Feld liefert `400` mit `"Invalid request"`.

Ein persönlicher Schlüssel liefert `403` mit `"This API key cannot create knowledge folders."`

Fehlt dem Besitzer **Dateien hochladen**, ist die Antwort `403` mit `"This API key's owner does not have permission to upload documents."`

Fehlt der Scope, ist die Antwort `403` mit `error` `INSUFFICIENT_SCOPES`.

> [!NOTE]
>
> Langdock blockiert bewusst Browser-basierte Anfragen, um deinen API-Schlüssel zu schützen und die Sicherheit deiner Anwendungen zu gewährleisten. Weitere Informationen findest du in unserem Guide zu [Best Practices für API-Schlüssel](https://docs.langdock.com/de/admin/ai-adoption-and-rollout/best-practices/api-key-best-practices.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.