Die Endpunkte auf dieser Seite rufen claude.ai-Inhalte ab und löschen sie. Diese Inhalte sind nur für Organisationen mit dem Claude Enterprise-Plan verfügbar. Die Compliance API wird auf Anfrage aktiviert. Siehe Zugriff auf die Compliance API erhalten.
Erforderlicher Scope: read:compliance_user_data auf dem Compliance Access Key. Die Lösch-Endpunkte erfordern zusätzlich delete:compliance_user_data.
Voraussetzung: Um Chats aufzulisten, mindestens eine Benutzer-ID aus Organisationsbenutzer auflisten. Die anderen Endpunkte auf dieser Seite nehmen Ressourcen-IDs direkt entgegen.
Die Endpunkte auf dieser Seite stellen claude.ai-Chat-Inhalte, Datei-Uploads, Projekte und Projektanhänge für Compliance-Prüfer bereit. Sie unterstützen „eDiscovery" (elektronische Beweissicherung)-Exporte, die Durchsetzung von „data loss prevention" (Verhinderung von Datenverlust), oder DLP, sowie Reaktionen auf Kontolöschungen. Inhalte werden so lange aufbewahrt, wie es die Aufbewahrungsrichtlinie deiner Organisation erlaubt. Chats, die ein Benutzer in claude.ai soft-gelöscht hat, bleiben über die Compliance API mit ausgefülltem deleted_at sichtbar; Chats, die hard-gelöscht wurden (über die Compliance API selbst oder nach Ablauf des Aufbewahrungszeitraums der Organisation), können nicht abgerufen werden.
Beide Scopes werden nur auf Compliance Access Keys (sk-ant-api01-...) gewährt, die in claude.ai erstellt wurden; siehe Zugriff auf die Compliance API erhalten, 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 sind für Admin-API-Keys (sk-ant-admin01-...) nicht verfügbar; Aufrufe, die mit einem Admin-API-Key authentifiziert sind, geben 403 Forbidden zurück.
Die Endpunkte auf dieser Seite paginieren auf zwei Arten; siehe Ergebnisse paginieren für die vollständige Referenz. Jeder Abschnitt gibt an, welches Schema gilt.
Verwende Chats auflisten, um durch Chat-Metadaten zu blättern, und dann Chat-Nachrichten abrufen, um den vollständigen Nachrichteninhalt eines Chats abzurufen.
Der Endpunkt zum Auflisten von Chats erfordert mindestens einen user_ids[]-Wert (und akzeptiert bis zu 10 in einer Anfrage). Ermittle daher zuerst die Benutzer-IDs mit Organisationsbenutzer auflisten und liste dann die Chats für jeden Benutzer oder für jeden Batch von Benutzern auf. Die folgende Anfrage listet Chats auf, die einem bestimmten Benutzer gehören und seit einem bestimmten Datum erstellt wurden.
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/apps/chats" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--data-urlencode "user_ids[]=user_01XyDMpzjS89pFZXqSFUBDr6" \
--data-urlencode "organization_ids[]=91012d09-e48b-438e-a489-1bebfd8fa6f9" \
--data-urlencode "created_at.gte=2025-06-01T00:00:00Z" \
--data-urlencode "limit=100"{
"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-4-8",
"organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
"project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
"user": {
"id": "user_01XyDMpzjS89pFZXqSFUBDr6",
"email_address": "[email protected]"
}
}
],
"has_more": true,
"first_id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"last_id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja"
}Das Auflisten von Chats gibt nur Metadaten zurück. Siehe Chats auflisten für die vollständige Filterliste; zusätzlich zum erforderlichen user_ids[] sind die updated_at.*-Grenzen nützlich für die inkrementelle Überprüfung von Chats, die sich seit einem vorherigen Export geändert haben.
Chat-Ergebnisse sind nach created_at aufsteigend sortiert (älteste zuerst), bei Gleichstand wird nach id sortiert. Die Paginierung verwendet dieselben Cursor-Felder first_id/last_id/has_more wie in Ergebnisse paginieren; übergib last_id als after_id, um vorwärts zu neueren Chats zu navigieren, oder first_id als before_id, um rückwärts zu älteren zu navigieren.
Um den eigentlichen Chat-Inhalt, angehängte Dateien und Inline-Artifacts (strukturierte Dokumente, die Claude innerhalb eines Chats generiert) abzurufen, rufe anschließend den Nachrichten-Endpunkt für jede Chat-ID auf:
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"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 auch created_at.*- und updated_at.*-Bereichsgrenzen (gt, gte, lt, lte) sowie einen order-Parameter (asc oder desc). Siehe Chat-Nachrichten abrufen für die vollständige Parameterliste. 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, falls vorhanden, alle hochgeladenen Dateien (typischerweise bei Benutzernachrichten), alle durch Tools generierten Dateien und alle Artifacts, die der Assistent erstellt oder aktualisiert hat (typischerweise bei Assistentennachrichten):
{
"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-4-8",
"organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
"project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
"user": {
"id": "user_01XyDMpzjS89pFZXqSFUBDr6",
"email_address": "[email protected]"
},
"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"
}
]
},
{
"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"
}
],
"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 binäre Uploads (PDFs, Bilder, Tabellenkalkulationen), die der Benutzer an die Nachricht angehängt hat. generated_files sind binäre Dateien, die der Assistent während der Konversation durch 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 (oder version_id für Artifacts) an den passenden Inhalts-Endpunkt in Dateien und Artifacts abrufen, um sie herunterzuladen.
Dateien und Artifacts werden per ID heruntergeladen, nicht unabhängig aufgelistet. Die IDs stammen vom Chat-Nachrichten-Endpunkt in Chats und Nachrichten abrufen (die Arrays files, generated_files und artifacts bei jeder Nachricht) oder, für Uploads auf Projektebene, vom Projektanhänge-Endpunkt.
Wähle den Endpunkt, der zu deinem ID-Typ und den benötigten Daten passt. Derselbe Datei-Inhalts-Endpunkt bedient sowohl Chat-Dateien als auch Projekt-Dateien.
| Du hast | Du möchtest | Verwende diesen Endpunkt |
|---|---|---|
claude_file_*-ID | Den binären Inhalt der Datei | Dateiinhalt herunterladen |
claude_file_*-ID | Nur die Metadaten der Datei | Datei-Metadaten abrufen |
claude_gen_file_*-ID | Den binären Inhalt einer durch Tools generierten Datei | Eine von Claude generierte Datei herunterladen |
claude_gen_file_*-ID | Nur die Metadaten einer durch Tools generierten Datei | Metadaten generierter Dateien abrufen |
claude_artifact_version_*-ID | Den Text einer Artifact-Version | Artifact-Inhalt herunterladen |
claude_artifact_version_*-ID | Nur die Metadaten der Artifact-Version | Artifact-Metadaten abrufen |
claude_proj_doc_*-ID | Den Klartext-Inhalt eines Projektdokuments | Projektdokument-Inhalt abrufen |
claude_proj_doc_*-ID | Nur die Metadaten eines Projektdokuments | Projektdokument-Metadaten abrufen |
Der Datei-Inhalts-Endpunkt streamt den ursprünglichen Upload als gechunkte binäre Antwort mit diesen Headern:
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 Nicht-ASCII-Namen.Content-Type enthält den MIME-Typ des Uploads.Content-MD5 enthält den MD5-Digest der Datei, base64-kodiert wie in RFC 1864 spezifiziert.Transfer-Encoding: chunked ist immer gesetzt.file_id="claude_file_01UaT9wBcDfGhJkLmNpQrSv7"
curl --fail-with-body -sS -OJ \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
"https://api.anthropic.com/v1/compliance/apps/chats/files/$file_id/content"Die -OJ-Flags weisen curl an, die Antwort unter dem Dateinamen aus Content-Disposition zu speichern, also dem ursprünglichen Dateinamen, den der Benutzer hochgeladen hat.
Der Artifact-Inhalts-Endpunkt gibt den Textkörper einer Artifact-Version 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, und die Compliance API liefert die exakten Bytes dieser Version.
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.
Projektergebnisse sind nach Erstellungsdatum aufsteigend sortiert. Anhang-Ergebnisse sind nach created_at aufsteigend sortiert, bei Gleichstand wird nach id sortiert. Antworten der Projektliste und der Anhangliste paginieren mit einem opaken next_page-Seiten-Token anstelle der first_id/last_id-Cursor, die von Chats und dem Activity Feed verwendet werden. Übergib das Token als page-Query-Parameter bei der nächsten Anfrage zurück.
Ein Projektanhang hat eine von zwei unterschiedlichen Formen, identifiziert durch den type-Diskriminator bei jedem Eintrag:
Einträge mit type gleich project_file sind binäre Uploads (PDFs, Bilder, Tabellenkalkulationen), deren IDs mit claude_file_ beginnen; lade sie mit Dateiinhalt herunterladen herunter. Einträge mit type gleich project_doc sind Klartext-Dokumente (immer text/plain), deren IDs mit claude_proj_doc_ beginnen; rufe sie mit Projektdokument-Inhalt abrufen ab.
Ein Consumer, der die Anhangliste durchläuft, muss anhand von 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.
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"{
"data": [
{
"id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
"created_at": "2026-04-10T08:09:10Z",
"filename": "dashboard_mockup_v1.pdf",
"mime_type": "application/pdf",
"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
}Jede erfolgreiche Löschung ist permanent und sofort wirksam. Es gibt kein Wiederherstellungsfenster.
Die Compliance API stellt Hard-Delete-Endpunkte für Chats, Dateien, Projektdokumente und ganze Projekte bereit. Ein hard-gelöschter Chat kann nicht wiederhergestellt werden und erscheint danach nicht mehr in Listenantworten (während ein aus claude.ai soft-gelöschter Chat weiterhin mit ausgefülltem deleted_at erscheint).
Alle vier Endpunkte erfordern den Scope delete:compliance_user_data, der separat vom Lese-Scope gewährt wird, wenn der Compliance Access Key erstellt wird.
Die folgende Anfrage löscht einen Chat. Dasselbe Muster gilt für die anderen Lösch-Endpunkte; nur die URL ändert sich.
# WARNUNG: Diese Operation löscht den Chat, alle seine Nachrichten und alle
# angehängten Dateien DAUERHAFT. Die Löschung erfolgt sofort und kann nicht
# rückgängig gemacht werden. Sie erfordert den Scope `delete:compliance_user_data`,
# der beim Erstellen des Compliance Access Key separat von `read:compliance_user_data`
# 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"{
"id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"type": "claude_chat_deleted"
}Jede erfolgreiche Löschung gibt eine kleine Bestätigungshülle 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-Seite jedes Lösch-Endpunkts für den genauen type-Wert, den die anderen Endpunkte zurückgeben.
Ein Projekt kann nicht gelöscht werden, solange noch Chats damit verknüpft sind. Die API gibt 409 mit diesem Body zurück:
{
"error": {
"type": "conflict_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."
}
}Um dies zu beheben, liste die Chats des Projekts mit GET /v1/compliance/apps/chats?user_ids[]={user_id}&project_ids[]={project_id} auf (der Chat-Listen-Endpunkt erfordert mindestens einen user_ids[]-Wert; ermittle IDs über Organisationsbenutzer auflisten), lösche jeden einzelnen mit DELETE /v1/compliance/apps/chats/{claude_chat_id} (oder verschiebe ihn aus dem Projekt heraus über claude.ai) und wiederhole dann die Projektlöschung.
Das vollständige Anfrage- und Antwortschema für jeden Chat-, Datei-, Projekt- und Artifact-Endpunkt.
Ermittle die Personen und Teams, die mit den Chats und Projekten auf dieser Seite verknüpft sind.
Was this page helpful?