---
title: Chats, Dateien und Projekte abrufen und löschen
url: https://platform.claude.com/docs/de/manage-claude/compliance-content-data
description: Greife über die Compliance API auf Chat-Inhalte, Dateianhänge und Projekte für claude.ai-Organisationen zu.
---

<Note>
  Die Endpunkte auf dieser Seite sind nur für Claude Enterprise-Organisationen verfügbar. Sie rufen claude.ai-Chats, -Dateien und -Projekte ab und löschen sie; Transkripte von Sitzungen in Apps wie Cowork und Claude Code werden unter [Sitzungstranskripte abrufen](https://platform.claude.com/docs/de/manage-claude/compliance-sessions) behandelt. Siehe [Die Compliance API einrichten](https://platform.claude.com/docs/de/manage-claude/compliance-api-access).
</Note>

<Check>
  **Erforderlicher Scope:** `read:compliance_user_data` auf dem Compliance Access Key. Die Lösch-Endpunkte erfordern zusätzlich `delete:compliance_user_data`.

  **Voraussetzung:** Keine für das organisationsweite Auflisten von Chats. Um die Chat-Liste auf bestimmte Benutzer zu filtern, benötigst du Benutzer-IDs aus [Organisationsbenutzer auflisten](https://platform.claude.com/docs/de/manage-claude/compliance-org-data#list-organization-users). Die anderen Endpunkte auf dieser Seite nehmen Ressourcen-IDs direkt entgegen.
</Check>

Die Endpunkte auf dieser Seite machen Chat-Inhalte, Datei-Uploads, Projekte und Projektanhänge von Claude Enterprise für Compliance-Prüfer zugänglich. Sie unterstützen eDiscovery-Exporte („electronic discovery“, elektronische Beweissicherung), die Durchsetzung von „data loss prevention“ (Schutz vor Datenverlust), oder DLP, sowie Reaktionen auf Kontolöschungen. Chat-, Datei- und Projektinhalte werden so lange aufbewahrt, wie es die Aufbewahrungsrichtlinie deiner Organisation erlaubt. Wenn ein Benutzer einen Chat in claude.ai löscht, werden dessen Nachrichteninhalte, angehängte Dateien, von Tools generierte Dateien und Artifacts mit ihm gelöscht. Die Compliance API listet den Chat weiterhin auf, mit gesetztem `deleted_at` und leerem `name`, und gibt seine Nachrichten ohne deren Inhalt zurück. Chats, die hart gelöscht wurden (über die Compliance API selbst oder nach Ablauf des Aufbewahrungsfensters der Organisation), sind nicht abrufbar.

Beide Scopes werden nur auf Compliance Access Keys (`sk-ant-api01-...`) gewährt, die in claude.ai erstellt wurden; siehe [Die Compliance API einrichten](https://platform.claude.com/docs/de/manage-claude/compliance-api-access), um einen bereitzustellen. Der Scope `read:compliance_user_data` deckt den Abruf ab; `delete:compliance_user_data` ist nur für die Lösch-Endpunkte erforderlich. Die Chat-, Datei-, Projekt- und Anhang-Endpunkte stehen Admin-API-Keys (`sk-ant-admin01-...`) nicht zur Verfügung; Aufrufe, die mit einem Admin-API-Key authentifiziert sind, geben [403 Forbidden](https://platform.claude.com/docs/de/manage-claude/compliance-errors#403-forbidden) zurück.

Die Endpunkte auf dieser Seite paginieren auf zwei Arten; siehe [Ergebnisse paginieren](https://platform.claude.com/docs/de/manage-claude/compliance-activity-feed#paginate-results) für die vollständige Referenz. Jeder Abschnitt gibt an, welches Schema gilt.

## Chats und Nachrichten abrufen

Verwende [Chats auflisten](https://platform.claude.com/docs/de/api/compliance/apps/chats/list), um durch Chat-Metadaten zu blättern, und anschließend [Chat-Nachrichten abrufen](https://platform.claude.com/docs/de/api/compliance/apps/chats/messages/list), um den vollständigen Nachrichteninhalt eines Chats abzurufen.

Chats in der einheitlichen Claude-Erfahrung werden von diesen Endpunkten wie jeder andere Chat zurückgegeben: Ein Chat, der in einer Sitzung in der Cloud fortgesetzt wird, kommt als ein Chat zurück. Die Arbeit, die Claude dort erledigt, erscheint im `content` jeder Nachricht als `tool_use`-Blöcke (der `name` und `input` des Tools) und `tool_result`-Blöcke (seine Ausgabe, zugeordnet über `tool_use_id`). Die Abdeckung dieser Chats befindet sich in der Beta.

Der Endpunkt zum Auflisten von Chats arbeitet standardmäßig organisationsweit: Lass `user_ids[]` weg, um jeden Chat unter deiner übergeordneten Organisation einzuschließen. Füge `order_by=updated_at` hinzu, um nach dem Zeitpunkt der letzten Aktualisierung zu sortieren. Diese Kombination ist die empfohlene Methode, um Chats zu exportieren und einen Export aktuell zu halten, da eine einzige paginierte Schleife neue Chats, Chats mit neuen Nachrichten und in claude.ai gelöschte Chats für alle Benutzer erfasst, ohne dass zuerst Benutzer aufgezählt werden müssen. Die folgende Anfrage listet Chats auf, die seit einem bestimmten Datum aktualisiert wurden.

```bash cURL
curl --fail-with-body -sS -G \
  "https://api.anthropic.com/v1/compliance/apps/chats" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --data-urlencode "order_by=updated_at" \
  --data-urlencode "updated_at.gte=2025-06-01T00:00:00Z" \
  --data-urlencode "limit=100"
```

```json Response
{
  "data": [
    {
      "id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
      "name": "Product Requirements Discussion",
      "created_at": "2026-04-10T08:09:10Z",
      "updated_at": "2026-04-10T09:10:11Z",
      "deleted_at": null,
      "href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789",
      "model": "claude-opus-5-5",
      "organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
      "project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
      "user": {
        "id": "user_01XyDMpzjS89pFZXqSFUBDr6",
        "email_address": "user@example.com"
      }
    }
  ],
  "has_more": true,
  "first_id": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9",
  "last_id": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9"
}
```

Die Ergebnisse werden aufsteigend nach dem `order_by`-Feld sortiert, die ältesten zuerst, wobei Gleichstände anhand von `id` aufgelöst werden. Die Paginierung verwendet die standardmäßigen Cursor-Felder `first_id`/`last_id`/`has_more`, die unter [Ergebnisse paginieren](https://platform.claude.com/docs/de/manage-claude/compliance-activity-feed#paginate-results) beschrieben sind. Um vorwärts zu neueren Chats zu blättern, übergib die `last_id` der Antwort bei der nächsten Anfrage als `after_id`.

Mit diesem Vorwärtsblättern hältst du einen Export auch über mehrere Durchläufe hinweg aktuell: Speichere die `last_id` der letzten Seite und setze beim nächsten Durchlauf mit ihr als `after_id` fort. Da die Liste nach `updated_at` sortiert ist, erscheint ein Chat erneut nach deinem gespeicherten Cursor, wenn er eine neue Nachricht erhält, in ein Projekt verschoben oder aus einem Projekt entfernt wird oder in claude.ai gelöscht wird. Jeder inkrementelle Durchlauf gibt daher sowohl brandneue Chats als auch ältere Chats zurück, die sich seitdem auf eine dieser Arten geändert haben. Bei anderen Änderungen, etwa einer Umbenennung, ist nicht garantiert, dass ein Chat erneut erscheint. Verarbeite die Ergebnisse idempotent, mit der Chat-`id` als Schlüssel, um mit diesem erneuten Erscheinen umzugehen. Ein Chat, der mit befülltem `deleted_at` zurückkommt, hat keine abrufbaren Inhalte mehr; behandle ihn daher als gelöscht und nicht als aktualisiert.

Für diese organisationsweiten Abfragen gelten einige Einschränkungen. Cursor sind opak und an den Sortierschlüssel gebunden, sodass eine unter einem `order_by`-Wert ausgegebene `after_id` unter dem anderen mit einem 400-Fehler abgelehnt wird. Auch die Grenzen des Zeitfilters müssen zum Sortierschlüssel passen: Kombiniere `updated_at.*`-Grenzen mit `order_by=updated_at` und `created_at.*`-Grenzen mit dem Standardwert `order_by=created_at`. Rückwärtsblättern mit `before_id` wird nicht unterstützt, und der Filter `project_ids[]` ist nicht verfügbar. Die vollständige Filterreferenz findest du unter [Chats auflisten](https://platform.claude.com/docs/de/api/compliance/apps/chats/list).

Um die Liste stattdessen auf bestimmte Benutzer einzuschränken, übergib 1–10 `user_ids[]`-Werte, zum Beispiel bei einem „legal hold" (rechtliche Aufbewahrungspflicht) für namentlich benannte „custodians" (Datenverwahrer). Die IDs erhältst du über [Organisationsbenutzer auflisten](https://platform.claude.com/docs/de/manage-claude/compliance-org-data#list-organization-users). Nach Benutzern gefilterte Abfragen werden immer nach `created_at` sortiert (die Übergabe von `order_by=updated_at` führt zu einem 400-Fehler) und unterstützen sowohl `after_id` als auch `before_id`. Das Filtern nach `project_ids[]` ist nur in dieser nach Benutzern gefilterten Form verfügbar. Die Kombination von `user_ids[]` mit einer beliebigen `updated_at.*`-Grenze ist abgekündigt und wird nach dem 22. September 2026 mit einem 400-Fehler abgelehnt. Um eine Gruppe von Datenverwahrern nach Aktualisierungszeitpunkt aktuell zu halten, führe das organisationsweite Blättern mit `order_by=updated_at` ohne `user_ids[]` aus und wähle die Chats der Datenverwahrer aus den Ergebnissen aus; verwende die nach Benutzern gefilterte Auflistung für nach `created_at` sortierte Exporte.

```bash cURL
curl --fail-with-body -sS -G \
  "https://api.anthropic.com/v1/compliance/apps/chats" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --data-urlencode "user_ids[]=user_01XyDMpzjS89pFZXqSFUBDr6" \
  --data-urlencode "created_at.gte=2025-06-01T00:00:00Z" \
  --data-urlencode "limit=100"
```

Die Listenantwort enthält nur Chat-Metadaten. Um den eigentlichen Chat-Inhalt, angehängte Dateien und Inline-Artifacts (strukturierte Dokumente, die Claude innerhalb eines Chats generiert) abzurufen, rufe anschließend für jede Chat-ID den Nachrichten-Endpunkt auf:

```bash cURL
chat_id="claude_chat_01H5CWunD7RpVJ5bHa8RCkja"

curl --fail-with-body -sS \
  "https://api.anthropic.com/v1/compliance/apps/chats/$chat_id/messages" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01"
```

Der Nachrichten-Endpunkt gibt die Metadaten des Chats sowie ein nach `created_at` sortiertes `chat_messages`-Array zurück. Wenn `limit` weggelassen wird, wird der vollständige Nachrichtensatz in einer Antwort zurückgegeben; übergib `limit`, `after_id` oder `before_id`, um durch sehr lange Chats zu blättern. Der Endpunkt akzeptiert außerdem Bereichsgrenzen für `created_at.*` und `updated_at.*` (`gt`, `gte`, `lt`, `lte`) sowie einen `order`-Parameter (`asc` oder `desc`). Die vollständige Parameterliste findest du unter [Chat-Nachrichten abrufen](https://platform.claude.com/docs/de/api/compliance/apps/chats/messages/list). Bei Benutzernachrichten ist `created_at` der Zeitpunkt, zu dem die Nachricht gesendet wurde; bei Assistentennachrichten ist es der Zeitpunkt, zu dem Claude die Generierung der Nachricht abgeschlossen hat. Jede Nachricht enthält ihren Textinhalt und, sofern vorhanden, alle hochgeladenen Dateien (typischerweise bei Benutzernachrichten), alle von Tools generierten Dateien sowie alle Artifacts, die der Assistent erstellt oder aktualisiert hat (typischerweise bei Assistentennachrichten):

```json Response
{
  "id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
  "name": "Product Requirements Discussion",
  "created_at": "2026-04-10T08:09:10Z",
  "updated_at": "2026-04-10T09:10:11Z",
  "deleted_at": null,
  "href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789",
  "model": "claude-opus-5-5",
  "organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
  "project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
  "user": {
    "id": "user_01XyDMpzjS89pFZXqSFUBDr6",
    "email_address": "user@example.com"
  },
  "chat_messages": [
    {
      "id": "claude_chat_msg_01VnBPkLmtj7YdW5QrXKEA8c",
      "role": "user",
      "created_at": "2026-04-10T08:09:10Z",
      "content": [
        {
          "type": "text",
          "text": "Can you help me draft requirements for our new dashboard feature?"
        }
      ],
      "files": [
        {
          "id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
          "filename": "dashboard_mockup_v1.pdf",
          "mime_type": "application/pdf",
          "size_bytes": 482133,
          "md5": "56367e4d2705cc9c025ad07424e944f0",
          "created_at": "2026-04-10T08:09:10Z"
        }
      ]
    },
    {
      "id": "claude_chat_msg_01M8tFcHwbQ2kY6NpEjRZv4D",
      "role": "assistant",
      "created_at": "2026-04-10T08:09:11Z",
      "content": [
        {
          "type": "text",
          "text": "I'd be happy to help you draft requirements for your dashboard feature..."
        }
      ],
      "generated_files": [
        {
          "id": "claude_gen_file_01TbR8wAcCeFhJkLnPqStUvX",
          "filename": "requirements_summary.csv",
          "mime_type": "text/csv",
          "size_bytes": 2048,
          "md5": "89968669461d95416549937168269d6b"
        }
      ],
      "artifacts": [
        {
          "id": "claude_artifact_01HqRsTuVwXyZa2BcDeFgH4J",
          "version_id": "claude_artifact_version_01KmNpQrSt3UvWxYz5AbCdEfG",
          "title": "Dashboard Requirements Draft",
          "artifact_type": "text/markdown"
        }
      ]
    }
  ],
  "has_more": false,
  "first_id": "eyJtc2dfdXVpZCI6ICIwZjcwYjA2Ni0uLi4ifQ==",
  "last_id": "eyJtc2dfdXVpZCI6ICJhNGUwYjE3Mi0uLi4ifQ=="
}
```

`files`, `generated_files` und `artifacts` können bei einer bestimmten Nachricht jeweils `null` sein. `files` sind die Dateien und Textanhänge (zum Beispiel PDFs, Bilder, Tabellenkalkulationen, Dokumente und eingefügter Text), die der Benutzer an die Nachricht angehängt hat, so wie claude.ai sie gespeichert hat. `generated_files` sind Binärdateien, die der Assistent während der Unterhaltung durch „tool use" (Tool-Nutzung) erstellt hat (zum Beispiel PDFs, Tabellenkalkulationen oder Foliensätze). `artifacts` sind versionierte Dokumente (zum Beispiel Code oder Markdown), die der Assistent in seiner Antwort generiert oder aktualisiert hat. Ein Artifact kann über mehrere Assistenten-Turns im selben Chat hinweg überarbeitet werden, und jede Überarbeitung erscheint als neue `version_id` unter derselben Artifact-`id`. Übergib die `id` jedes Eintrags (bzw. die `version_id` bei Artifacts) an den passenden Inhalts-Endpunkt unter [Dateien und Artifacts abrufen](https://platform.claude.com/docs/de/manage-claude/compliance-content-data#retrieve-files-and-artifacts), um ihn herunterzuladen.

## Dateien und Artifacts abrufen

Dateien und Artifacts werden per ID heruntergeladen. Mit Ausnahme von Claude Docs-Dokumenten (siehe Ende dieses Abschnitts) werden sie nicht eigenständig aufgelistet. Die IDs stammen vom Chat-Nachrichten-Endpunkt unter [Chats und Nachrichten abrufen](https://platform.claude.com/docs/de/manage-claude/compliance-content-data#retrieve-chats-and-messages) (die Arrays `files`, `generated_files` und `artifacts` jeder Nachricht) oder, bei Uploads auf Projektebene, vom [Endpunkt für Projektanhänge](https://platform.claude.com/docs/de/manage-claude/compliance-content-data#retrieve-projects-and-attachments).

Wähle den Endpunkt, der zu deinem ID-Typ und den benötigten Daten passt. Derselbe Dateiinhalts-Endpunkt bedient sowohl Chat-Dateien als auch Projektdateien.

| Du hast                        | Du möchtest                                         | Verwende diesen Endpunkt                                                                                                                 |
| ------------------------------ | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `claude_file_*`-ID             | Den Inhalt der Datei                                | [Dateiinhalt herunterladen](https://platform.claude.com/docs/de/api/compliance/apps/chats/files/download)                                |
| `claude_file_*`-ID             | Nur die Metadaten der Datei                         | [Datei-Metadaten abrufen](https://platform.claude.com/docs/de/api/compliance/apps/chats/files/retrieve)                                  |
| `claude_gen_file_*`-ID         | Den Binärinhalt einer von Tools generierten Datei   | [Eine von Claude generierte Datei herunterladen](https://platform.claude.com/docs/de/api/compliance/apps/chats/generated_files/download) |
| `claude_gen_file_*`-ID         | Nur die Metadaten einer von Tools generierten Datei | [Metadaten generierter Dateien abrufen](https://platform.claude.com/docs/de/api/compliance/apps/chats/generated_files/retrieve)          |
| `claude_artifact_version_*`-ID | Den Text einer Artifact-Version                     | [Artifact-Inhalt herunterladen](https://platform.claude.com/docs/de/api/compliance/apps/artifacts/download)                              |
| `claude_artifact_version_*`-ID | Nur die Metadaten der Artifact-Version              | [Artifact-Metadaten abrufen](https://platform.claude.com/docs/de/api/compliance/apps/artifacts/retrieve)                                 |
| `claude_proj_doc_*`-ID         | Den Klartextinhalt eines Projektdokuments           | [Projektdokument-Inhalt abrufen](https://platform.claude.com/docs/de/api/compliance/apps/projects/documents/retrieve)                    |
| `claude_proj_doc_*`-ID         | Nur die Metadaten eines Projektdokuments            | [Projektdokument-Metadaten abrufen](https://platform.claude.com/docs/de/api/compliance/apps/projects/documents/metadata)                 |

Der Dateiinhalts-Endpunkt streamt den Inhalt, den claude.ai für die Datei gespeichert hat, als gechunkte Binärantwort. Dieser Inhalt ist nicht immer identisch mit der Datei, die der Benutzer hochgeladen hat. Bilder können als verarbeitete Kopie statt als die hochgeladenen Bytes ausgeliefert werden. Einige an Chats angehängte Dokumente (zum Beispiel Word-Dateien, PowerPoint-Dateien und einige PDFs) werden als der Text gespeichert, den claude.ai aus ihnen extrahiert hat. Für diese Dokumente gibt der Endpunkt den extrahierten Text unter dem ursprünglichen Dateinamen zurück, und das Originaldokument ist über die Compliance API nicht verfügbar. Die Felder `size_bytes` und `md5` beschreiben den gespeicherten Inhalt und nicht die hochgeladene Datei. Der Dateiname und `mime_type` können weiterhin das Format des hochgeladenen Dokuments benennen. Bestimme das Format einer Datei anhand der zurückgegebenen Bytes, nicht anhand ihres Namens oder deklarierten Typs.

Die Antwort enthält diese Header:

* `Content-Disposition: attachment; filename*=utf-8''<percent-encoded filename>` enthält den ursprünglichen Upload-Dateinamen in der erweiterten Form nach RFC 5987. Die erweiterte Form wird für jeden Dateinamen verwendet, nicht nur für solche mit Nicht-ASCII-Zeichen.
* `Content-Type` enthält den für den gespeicherten Inhalt erfassten MIME-Typ, der bei einem als extrahierter Text gespeicherten Dokument weiterhin das ursprüngliche Dokumentformat benennen kann.
* `Content-MD5` enthält den MD5-Digest der ausgelieferten Bytes, base64-kodiert wie in RFC 1864 spezifiziert.
* `Transfer-Encoding: chunked` ist immer gesetzt.

```bash cURL
file_id="claude_file_01UaT9wBcDfGhJkLmNpQrSv7"

curl --fail-with-body -sS \
  "https://api.anthropic.com/v1/compliance/apps/chats/files/$file_id/content" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --output "dashboard_mockup_v1.pdf"
```

In curl liest die Option `--remote-header-name` (`-J`), die einen Download normalerweise unter dem Dateinamen aus `Content-Disposition` speichert, die `filename*`-Form nicht. Benenne die gespeicherte Datei daher selbst mit `--output`. Übernimm in einem Skript den Namen aus dem `filename`-Feld der Datei in der Antwort der Chat-Nachrichten oder von [Dateimetadaten abrufen](https://platform.claude.com/docs/de/api/compliance/apps/chats/files/retrieve), oder dekodiere `filename*`. In beiden Fällen handelt es sich um den Namen, den der Benutzer dem Upload gegeben hat. Behandle ihn daher als nicht vertrauenswürdig, bevor du ihn als Ausgabepfad verwendest: Behalte nur den Basisnamen, erlaube nur Zeichen, die auf deinem Dateisystem sicher sind, und lehne Namen ab, die mit `-` oder `.` beginnen.

Anders als der Endpunkt für Dateiinhalte gibt der Endpunkt für Artifact-Inhalte ein JSON-Objekt zurück. Übergib die `version_id` aus einem der Einträge im `artifacts`-Array einer Assistentennachricht, nicht die stabile `id` des Artifacts; jede neue Version eines Artifacts hat ihre eigene `version_id`. Das `content`-Feld der Antwort enthält genau den Text dieser Version, und die Felder `title` und `artifact_type` beschreiben das Artifact. [Artifact-Metadaten abrufen](https://platform.claude.com/docs/de/api/compliance/apps/artifacts/retrieve) berechnet `size_bytes` und `md5` über die UTF-8-Kodierung dieses Textes. Vergleiche sie daher mit dem `content`-Wert und nicht mit dem gesamten Antworttext.

Claude Docs-Dokumente werden separat über [Code-Artifacts auflisten](https://platform.claude.com/docs/de/api/compliance/code/artifacts/list) aufgelistet, wobei `artifact_type` auf `claude_docs` gesetzt ist. Die `versions`-Liste eines Dokuments ist leer und seine `published_version_id` ist `null`. Um den aktuellen Text eines Dokuments herunterzuladen, rufe `GET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip` auf. Dies gibt ein ZIP-Archiv mit einer Word-Datei (.docx) für jeden Tab zurück, der Text enthält. Kommentare, hochgeladene Dateien und der Bearbeitungsverlauf sind nicht enthalten. Das Herunterladen von Claude Docs über die Compliance API befindet sich in der Beta-Phase.

## Projekte und Anhänge abrufen

Projekte bündeln zusammengehörige Chats mit benutzerdefinierten Anweisungen, Wissensdatenbank-Inhalten und angehängten Dateien oder Textdokumenten. Die Compliance API stellt Projekt-Metadaten, Projektdetails und die Liste der zu einem Projekt gehörenden Anhänge bereit.

* [Projekte auflisten](https://platform.claude.com/docs/de/api/compliance/apps/projects/list)
* [Projektdetails abrufen](https://platform.claude.com/docs/de/api/compliance/apps/projects/retrieve)
* [Projektanhänge auflisten](https://platform.claude.com/docs/de/api/compliance/apps/projects/attachments/list)
* [Projektdokument-Inhalt abrufen](https://platform.claude.com/docs/de/api/compliance/apps/projects/documents/retrieve)

Projektergebnisse werden aufsteigend nach Erstellungsdatum sortiert. Anhangsergebnisse werden aufsteigend nach `created_at` sortiert, wobei Gleichstände nach `id` aufgelöst werden. Antworten der Projektliste und der Anhangsliste paginieren mit einem opaken `next_page`-Seitentoken anstelle der `first_id`/`last_id`-Cursor, die von Chats und dem Activity Feed verwendet werden. Übergib das Token bei der nächsten Anfrage als Query-Parameter `page` zurück.

### Projektdateien versus Projektdokumente

Ein Projektanhang hat eine von zwei unterschiedlichen Formen, die durch den `type`-Diskriminator jedes Eintrags identifiziert werden:

Einträge mit `type` gleich `project_file` sind Datei-Uploads (PDFs, Bilder, Tabellenkalkulationen), deren IDs mit `claude_file_` beginnen; lade sie mit [Dateiinhalt herunterladen](https://platform.claude.com/docs/de/api/compliance/apps/chats/files/download) herunter. Einträge mit `type` gleich `project_doc` sind Klartextdokumente (immer `text/plain`), deren IDs mit `claude_proj_doc_` beginnen, einschließlich Dokumenten wie Word-Dateien, die claude.ai in Text umwandelt, wenn sie einem Projekt hinzugefügt werden; rufe sie mit [Projektdokument-Inhalt abrufen](https://platform.claude.com/docs/de/api/compliance/apps/projects/documents/retrieve) ab.

Ein Konsument, der die Anhangsliste durchläuft, muss nach `type` verzweigen und für jeden Eintrag den passenden Inhalts-Endpunkt aufrufen. Die folgende Anfrage listet eine Seite von Anhängen auf; paginiere, indem du `next_page` als `page`-Parameter zurückgibst, bis `has_more` `false` ist.

```bash cURL
project_id="claude_proj_01KGp4eZNug9ri4kE35RSppq"

curl --fail-with-body -sS -G \
  "https://api.anthropic.com/v1/compliance/apps/projects/$project_id/attachments" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01"
```

```json Response
{
  "data": [
    {
      "id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
      "created_at": "2026-04-10T08:09:10Z",
      "filename": "dashboard_mockup_v1.pdf",
      "mime_type": "application/pdf",
      "size_bytes": 482133,
      "md5": "56367e4d2705cc9c025ad07424e944f0",
      "type": "project_file"
    },
    {
      "id": "claude_proj_doc_01YnT8sBcWvUtXzQpMkRfDgH",
      "created_at": "2026-04-10T08:09:11Z",
      "filename": "requirements.md",
      "mime_type": "text/plain",
      "type": "project_doc"
    }
  ],
  "has_more": false,
  "next_page": null
}
```

## Inhalte löschen

<Warning>
  Jede erfolgreiche Löschung ist dauerhaft und sofort wirksam. Es gibt kein Wiederherstellungsfenster.
</Warning>

Die Compliance API stellt Endpunkte zum harten Löschen von Chats, Dateien, Projektdokumenten und ganzen Projekten bereit. Ein hart gelöschter Chat kann nicht wiederhergestellt werden und erscheint danach nicht mehr in Listenantworten.

* [Chat löschen](https://platform.claude.com/docs/de/api/compliance/apps/chats/delete): entfernt auch die Nachrichten des Chats und alle an diese Nachrichten angehängten Dateien.
* [Datei löschen](https://platform.claude.com/docs/de/api/compliance/apps/chats/files/delete): behandelt sowohl Chat-Dateien als auch Projektdateien.
* [Projektdokument löschen](https://platform.claude.com/docs/de/api/compliance/apps/projects/documents/delete): entfernt ein einzelnes Projektdokument per ID.
* [Projekt löschen](https://platform.claude.com/docs/de/api/compliance/apps/projects/delete): siehe [Chats vor dem Löschen eines Projekts abtrennen](https://platform.claude.com/docs/de/manage-claude/compliance-content-data#detach-chats-before-deleting-a-project).

Bei einem Chat in der einheitlichen Claude-Erfahrung löscht [Chat löschen](https://platform.claude.com/docs/de/api/compliance/apps/chats/delete) auch die Sitzungen in der Cloud, die für den Chat gestartet wurden. Sitzungen, die von diesen Sitzungen gestartet wurden, werden nicht gelöscht.

Alle vier Endpunkte erfordern den Scope `delete:compliance_user_data`, der bei der Erstellung des Compliance Access Keys getrennt vom Lese-Scope gewährt wird.

Die folgende Anfrage löscht einen Chat. Dasselbe Muster gilt für die anderen Lösch-Endpunkte; nur die URL ändert sich.

```bash cURL
# WARNUNG: Dieser Vorgang löscht den Chat, alle seine Nachrichten
# und alle angehängten Dateien DAUERHAFT. Die Löschung erfolgt sofort und ist nicht umkehrbar. Sie
# erfordert den Scope `delete:compliance_user_data`, der getrennt von
# `read:compliance_user_data` beim Erstellen des Compliance Access Key vergeben wird.
# Stelle sicher, dass du ausdrücklich autorisiert bist, bevor du dies ausführst.

chat_id="claude_chat_01H5CWunD7RpVJ5bHa8RCkja"

curl --fail-with-body -sS -X DELETE \
  "https://api.anthropic.com/v1/compliance/apps/chats/$chat_id" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01"
```

```json Response
{
  "id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
  "type": "claude_chat_deleted"
}
```

Jede erfolgreiche Löschung gibt einen kleinen Bestätigungsumschlag mit einer `id` und einem `type`-Diskriminator zurück. Der Chat-Endpunkt gibt `claude_chat_deleted` zurück; prüfe das `type`-Feld, bevor du die Löschung als bestätigt behandelst. Siehe das Antwortschema auf der [API-Referenz](https://platform.claude.com/docs/de/api/compliance/apps)-Seite jedes Lösch-Endpunkts für den genauen `type`-Wert, den die anderen Endpunkte zurückgeben.

### Chats vor dem Löschen eines Projekts abtrennen

Ein Projekt kann nicht gelöscht werden, solange noch Chats daran angehängt sind. Die API gibt 409 mit diesem Body zurück:

```json
{
  "error": {
    "type": "invalid_request_error",
    "message": "The \"claude_proj_01KGp4eZNug9ri4kE35RSppq\" project cannot be deleted as it has chats attached to it. Delete or detach all chats, and try deleting the project again."
  }
}
```

Zur Behebung liste die Chats des Projekts mit `GET /v1/compliance/apps/chats?user_ids[]={user_id}&project_ids[]={project_id}` auf (der Filter `project_ids[]` erfordert mindestens einen `user_ids[]`-Wert; zähle die IDs über [Organisationsbenutzer auflisten](https://platform.claude.com/docs/de/manage-claude/compliance-org-data#list-organization-users) auf), lösche jeden einzelnen mit `DELETE /v1/compliance/apps/chats/{claude_chat_id}` (oder verschiebe ihn in claude.ai aus dem Projekt heraus) und versuche dann die Projektlöschung erneut.

## Nächste Schritte

<CardGroup cols={2}>
  <Card title="API-Referenz" href="https://platform.claude.com/docs/de/api/compliance/apps">
    Das vollständige Anfrage- und Antwortschema für jeden Chat-, Datei-, Projekt- und Artifact-Endpunkt.
  </Card>

  <Card title="Sitzungstranskripte abrufen" href="https://platform.claude.com/docs/de/manage-claude/compliance-sessions">
    Liste die Sitzungen auf, die deine Benutzer in Claude-Apps und -Agenten wie Cowork und Claude Code ausführen, und rufe deren Transkripte ab.
  </Card>

  <Card title="Organisationen, Benutzer, Rollen, Gruppen und Einstellungen auflisten" href="https://platform.claude.com/docs/de/manage-claude/compliance-org-data">
    Zähle die Personen und Teams auf, die mit den Chats und Projekten auf dieser Seite verbunden sind.
  </Card>
</CardGroup>
