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

# Attachment aus Wissensdatenbank löschen

> Entferne eine Datei aus einer Wissensdatenbank

<Info>
  **Du nutzt unsere API in einem Dedicated Deployment?** Ersetze einfach `api.langdock.com` durch die Base URL deines Deployments: **`<deployment-url>/api/public`**
</Info>

Löscht eine Datei (Attachment) aus einer Wissensdatenbank. Dies entfernt die Datei und alle zugehörigen Embeddings, sodass der Inhalt nicht mehr durchsuchbar ist.

<Info>
  Erfordert einen API-Schlüssel mit dem `KNOWLEDGE_FOLDER_API` Scope. Der API-Schlüssel selbst benötigt die Rolle Bearbeiter für die Wissensdatenbank. Siehe [Wissensdatenbank mit der API teilen](/de/developer/knowledge-folder-api/sharing) für die Einrichtung.
</Info>

## Anforderungsformat

### Pfadparameter

| Parameter      | Typ    | Erforderlich | Beschreibung                         |
| -------------- | ------ | ------------ | ------------------------------------ |
| `folderId`     | string | Ja           | Die ID der Wissensdatenbank          |
| `attachmentId` | string | Ja           | Die ID des zu löschenden Attachments |

## Beispiele

### Löschen mit cURL

```bash theme={null}
curl -X DELETE "https://api.langdock.com/knowledge/{folderId}/{attachmentId}" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Löschen mit JavaScript

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

async function deleteAttachment(folderId, attachmentId) {
  const response = await axios.delete(
    `https://api.langdock.com/knowledge/${folderId}/${attachmentId}`,
    {
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
      },
    }
  );

  return response.data;
}

// Beispiel
try {
  const result = await deleteAttachment("folder_abc123", "att_xyz789");
  console.log("Attachment gelöscht:", result.message);
} catch (error) {
  console.error("Löschen fehlgeschlagen:", error.response?.data?.message);
}
```

### Mehrere Dateien löschen

```javascript theme={null}
async function deleteMultipleAttachments(folderId, attachmentIds) {
  const results = await Promise.allSettled(
    attachmentIds.map((id) => deleteAttachment(folderId, id))
  );

  const succeeded = results.filter((r) => r.status === "fulfilled").length;
  const failed = results.filter((r) => r.status === "rejected").length;

  console.log(`${succeeded} Dateien gelöscht, ${failed} fehlgeschlagen`);
  return results;
}
```

## Antwortformat

### Erfolgreiche Antwort (200 OK)

```typescript theme={null}
{
  status: "success";
  message: "Attachment deleted";
}
```

### Beispielantwort

```json theme={null}
{
  "status": "success",
  "message": "Attachment deleted"
}
```

## Fehlerbehandlung

```typescript theme={null}
try {
  const response = await deleteAttachment(folderId, attachmentId);
} catch (error) {
  if (error.response) {
    switch (error.response.status) {
      case 400:
        console.error("Ungültige Anfrage:", error.response.data.message);
        break;
      case 401:
        console.error("Ungültiger oder fehlender API-Schlüssel");
        break;
      case 403:
        console.error("API-Schlüssel hat keinen Zugriff auf diese Wissensdatenbank");
        break;
      case 404:
        console.error("Wissensdatenbank oder Attachment nicht gefunden");
        break;
      case 429:
        console.error("Rate Limit überschritten");
        break;
      case 500:
        console.error("Server-Fehler");
        break;
    }
  }
}
```

## Wichtige Hinweise

<Warning>
  Das Löschen ist endgültig. Die Datei und alle zugehörigen Embeddings werden entfernt und können nicht wiederhergestellt werden.
</Warning>

* Das Attachment muss zur angegebenen Wissensdatenbank gehören
* Die Wissensdatenbank muss mit deinem API-Schlüssel geteilt sein
* Das Löschen eines Attachments entfernt es sofort aus den Suchergebnissen
* Embeddings, die mit dem Attachment verknüpft sind, werden ebenfalls gelöscht

<Info>
  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](/de/admin/ai-adoption-and-rollout/best-practices/api-key-best-practices).
</Info>


## OpenAPI

````yaml delete /knowledge/{folderId}/{attachmentId}
openapi: 3.0.0
info:
  title: Langdock API
  version: 3.0.0
servers:
  - url: https://api.langdock.com
    description: Production
security:
  - bearerAuth: []
paths:
  /knowledge/{folderId}/{attachmentId}:
    delete:
      summary: Delete a file from a knowledge folder
      parameters:
        - name: folderId
          in: path
          required: true
          description: The ID of the knowledge folder
          schema:
            type: string
        - name: attachmentId
          in: path
          required: true
          description: The ID of the attachment to delete
          schema:
            type: string
      responses:
        '200':
          description: Attachment deleted successfully
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key as Bearer token. Format "Bearer YOUR_API_KEY"

````