Zum Hauptinhalt springen
DELETE
/
knowledge
/
{folderId}
/
{attachmentId}
Delete a file from a knowledge folder
curl --request DELETE \
  --url https://api.langdock.com/knowledge/{folderId}/{attachmentId} \
  --header 'Authorization: Bearer <token>'
Du nutzt unsere API in einem Dedicated Deployment? Ersetze einfach api.langdock.com durch die Base URL deines Deployments: <deployment-url>/api/public
Löscht eine Datei (Attachment) aus einem Wissensordner. Dies entfernt die Datei und alle zugehörigen Embeddings, sodass der Inhalt nicht mehr durchsuchbar ist.
Erfordert einen API-Schlüssel mit dem KNOWLEDGE_FOLDER_API Scope. Der Wissensordner muss mit dem API-Schlüssel geteilt sein. Siehe Wissensordner mit der API teilen für die Einrichtung.

Anforderungsformat

Pfadparameter

ParameterTypErforderlichBeschreibung
folderIdstringJaDie ID des Wissensordners
attachmentIdstringJaDie ID des zu löschenden Attachments

Beispiele

Löschen mit cURL

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

Löschen mit JavaScript

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

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)

{
  status: "success";
  message: "Attachment deleted";
}

Beispielantwort

{
  "status": "success",
  "message": "Attachment deleted"
}

Fehlerbehandlung

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 diesen Wissensordner");
        break;
      case 404:
        console.error("Wissensordner oder Attachment nicht gefunden");
        break;
      case 429:
        console.error("Rate Limit überschritten");
        break;
      case 500:
        console.error("Server-Fehler");
        break;
    }
  }
}

Wichtige Hinweise

Das Löschen ist endgültig. Die Datei und alle zugehörigen Embeddings werden entfernt und können nicht wiederhergestellt werden.
  • Das Attachment muss zum angegebenen Wissensordner gehören
  • Der Wissensordner 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
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.

Autorisierungen

Authorization
string
header
erforderlich

API key as Bearer token. Format "Bearer YOUR_API_KEY"

Pfadparameter

folderId
string
erforderlich

The ID of the knowledge folder

attachmentId
string
erforderlich

The ID of the attachment to delete

Antwort

200

Attachment deleted successfully