Gli endpoint di questa pagina recuperano ed eliminano contenuti di claude.ai e sono disponibili solo per le organizzazioni Claude Enterprise, che hanno accesso self-service alla Compliance API. Consulta Configurare la Compliance API.
Scope richiesto: read:compliance_user_data sulla Compliance Access Key. Gli endpoint di eliminazione richiedono anche delete:compliance_user_data.
Prerequisito: Nessuno per elencare le chat a livello di organizzazione. Per filtrare l'elenco delle chat per utenti specifici, hai bisogno degli ID utente da Elencare gli utenti dell'organizzazione. Gli altri endpoint di questa pagina accettano direttamente gli ID delle risorse.
Gli endpoint di questa pagina espongono ai revisori di conformità i contenuti delle chat di claude.ai, i file caricati, i progetti e gli allegati dei progetti. Supportano le esportazioni per "eDiscovery" (scoperta elettronica), l'applicazione della "data loss prevention" (prevenzione della perdita di dati), o DLP, e le risposte alle richieste di eliminazione degli account. I contenuti vengono conservati per tutto il tempo consentito dalla politica di conservazione della tua organizzazione. Le chat che un utente ha eliminato in modo reversibile (soft delete) in claude.ai rimangono visibili tramite la Compliance API con deleted_at valorizzato; le chat che sono state eliminate definitivamente (tramite la Compliance API stessa, o dopo la scadenza della finestra di conservazione dell'organizzazione) non sono recuperabili.
Entrambi gli scope vengono concessi solo sulle Compliance Access Key (sk-ant-api01-...) create in claude.ai; consulta Configurare la Compliance API per crearne una. Lo scope read:compliance_user_data copre il recupero; delete:compliance_user_data è richiesto solo per gli endpoint di eliminazione. Gli endpoint di chat, file, progetti e allegati non sono disponibili per le chiavi Admin API (sk-ant-admin01-...); le chiamate autenticate con una chiave Admin API restituiscono 403 Forbidden.
Gli endpoint di questa pagina paginano in due modi; consulta Paginare i risultati per il riferimento completo. Ogni sezione indica quale schema si applica.
Usa List chats per scorrere i metadati delle chat, poi Get chat messages per recuperare il contenuto completo dei messaggi di una chat.
L'endpoint di elenco delle chat ha come ambito predefinito l'intera organizzazione: ometti user_ids[] per includere ogni chat della tua organizzazione principale. Aggiungi order_by=updated_at per ordinare in base all'ora dell'ultimo aggiornamento. Questa combinazione è il modo consigliato per esportare le chat e mantenere aggiornata un'esportazione, perché un singolo ciclo paginato raccoglie sia le chat nuove sia quelle modificate per ogni utente senza dover prima enumerare gli utenti. La richiesta seguente elenca le chat aggiornate a partire da una data specifica.
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/apps/chats" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--data-urlencode "order_by=updated_at" \
--data-urlencode "updated_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-5",
"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": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9",
"last_id": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9"
}I risultati sono ordinati in modo crescente in base al campo order_by, dal più vecchio al più recente, con i pareggi risolti tramite id. La paginazione usa i campi cursore standard first_id/last_id/has_more descritti in Paginare i risultati. Per avanzare verso le chat più recenti, passa il valore last_id della risposta come after_id nella richiesta successiva.
Questo avanzamento in avanti è anche il modo in cui mantieni aggiornata un'esportazione tra un'esecuzione e l'altra: salva il last_id dell'ultima pagina e riprendi da esso come after_id nell'esecuzione successiva. Poiché l'elenco è ordinato per updated_at, una chat che cambia dopo il cursore salvato riappare davanti ad esso, quindi ogni esecuzione incrementale restituisce sia le chat nuove sia le chat più vecchie che sono state modificate nel frattempo. Elabora i risultati in modo idempotente, usando come chiave l'id della chat, per gestire queste riapparizioni.
Alcuni vincoli si applicano a queste query a livello di organizzazione. I cursori sono opachi e legati alla chiave di ordinamento, quindi un after_id emesso con un valore di order_by viene rifiutato con un errore 400 se usato con l'altro. Anche i limiti dei filtri temporali devono corrispondere alla chiave di ordinamento: abbina i limiti updated_at.* a order_by=updated_at, e i limiti created_at.* al valore predefinito order_by=created_at. La paginazione all'indietro con before_id non è supportata, e il filtro project_ids[] non è disponibile. Consulta List chats per il riferimento completo dei filtri.
Per limitare invece l'elenco a utenti specifici (per esempio, un blocco legale su custodi nominati), passa da 1 a 10 valori user_ids[]. Ottieni gli ID da Elencare gli utenti dell'organizzazione. Le query filtrate per utente sono sempre ordinate per created_at (passare order_by=updated_at restituisce un errore 400) e supportano sia after_id sia before_id. Il filtro per project_ids[] è disponibile solo in questa forma filtrata per utente.
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 "created_at.gte=2025-06-01T00:00:00Z" \
--data-urlencode "limit=100"La risposta dell'elenco contiene solo i metadati delle chat. Per recuperare il contenuto effettivo della chat, i file allegati e gli artifact inline (documenti strutturati che Claude genera all'interno di una chat), prosegui con l'endpoint dei messaggi per ogni ID di chat:
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"L'endpoint dei messaggi restituisce i metadati della chat più un array chat_messages ordinato per created_at. Quando limit viene omesso, l'intero insieme di messaggi viene restituito in una sola risposta; passa limit, after_id o before_id per paginare le chat molto lunghe. L'endpoint accetta anche i limiti di intervallo created_at.* e updated_at.* (gt, gte, lt, lte) e un parametro order (asc o desc). Consulta Get chat messages per l'elenco completo dei parametri. Per i messaggi dell'utente, created_at è il momento in cui il messaggio è stato inviato; per i messaggi dell'assistente, è il momento in cui Claude ha terminato di generare il messaggio. Ogni messaggio contiene il suo contenuto testuale e, quando presenti, eventuali file caricati (tipicamente nei messaggi dell'utente), eventuali file generati da strumenti ed eventuali artifact che l'assistente ha prodotto o aggiornato (tipicamente nei messaggi dell'assistente):
{
"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",
"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 e artifacts possono essere ciascuno null in un dato messaggio. files sono caricamenti binari (PDF, immagini, fogli di calcolo) che l'utente ha allegato al messaggio. generated_files sono file binari che l'assistente ha creato durante la conversazione tramite l'uso degli strumenti (per esempio, PDF, fogli di calcolo o presentazioni). artifacts sono documenti versionati (per esempio, codice o markdown) che l'assistente ha generato o aggiornato nella sua risposta; un artifact può essere revisionato in più turni dell'assistente nella stessa chat, e ogni revisione appare come un nuovo version_id sotto lo stesso id dell'artifact. Passa l'id di ogni voce (o il version_id per gli artifact) all'endpoint di contenuto corrispondente in Recuperare file e artifact per scaricarlo.
I file e gli artifact vengono scaricati per ID, non elencati in modo indipendente. Gli ID provengono dall'endpoint dei messaggi della chat in Recuperare chat e messaggi (gli array files, generated_files e artifacts di ogni messaggio) oppure, per i caricamenti a livello di progetto, dall'endpoint degli allegati del progetto.
Scegli l'endpoint che corrisponde al tipo di ID e ai dati di cui hai bisogno. Lo stesso endpoint di contenuto dei file serve sia i file delle chat sia i file dei progetti.
| Hai | Vuoi | Usa questo endpoint |
|---|---|---|
ID claude_file_* | Il contenuto binario del file | Download file content |
ID claude_file_* | Solo i metadati del file | Get file metadata |
ID claude_gen_file_* | Il contenuto binario di un file generato da uno strumento | Download a Claude-generated file |
ID claude_gen_file_* | Solo i metadati di un file generato da uno strumento | Get generated-file metadata |
ID claude_artifact_version_* | Il testo di una versione dell'artifact | Download artifact content |
ID claude_artifact_version_* | Solo i metadati della versione dell'artifact | Get artifact metadata |
ID claude_proj_doc_* | Il contenuto in testo semplice di un documento di progetto | Get project document content |
ID claude_proj_doc_* | Solo i metadati di un documento di progetto | Get project document metadata |
L'endpoint di contenuto dei file trasmette in streaming il caricamento originale come risposta binaria a blocchi (chunked) con queste intestazioni:
Content-Disposition: attachment; filename*=utf-8''<percent-encoded filename> contiene il nome del file originale caricato nella forma estesa RFC 5987. La forma estesa viene usata per ogni nome di file, non solo per quelli non ASCII.Content-Type contiene il tipo MIME del caricamento.Content-MD5 contiene il digest MD5 del file, codificato in base64 come specificato nella RFC 1864.Transfer-Encoding: chunked è sempre impostato.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"I flag -OJ indicano a curl di salvare la risposta con il nome di file presente in Content-Disposition, che è il nome di file originale caricato dall'utente.
L'endpoint di contenuto degli artifact restituisce il corpo testuale di una versione dell'artifact. Passa il version_id di una delle voci nell'array artifacts di un messaggio dell'assistente, non l'id stabile dell'artifact. Ogni nuova versione di un artifact ha il proprio version_id, e la Compliance API restituisce esattamente i byte di quella versione.
I progetti raggruppano chat correlate insieme a istruzioni personalizzate, contenuti della knowledge base e file o documenti di testo allegati. La Compliance API espone i metadati dei progetti, i dettagli dei progetti e l'elenco degli allegati appartenenti a un progetto.
I risultati dei progetti sono ordinati per data di creazione in ordine crescente. I risultati degli allegati sono ordinati per created_at in ordine crescente, con i pareggi risolti tramite id. Le risposte degli elenchi di progetti e allegati paginano con un token di pagina opaco next_page invece dei cursori first_id/last_id usati dalle chat e dall'Activity Feed. Passa il token come parametro di query page nella richiesta successiva.
Un allegato di progetto ha una di due forme distinte, identificate dal discriminatore type su ogni voce:
Le voci con type pari a project_file sono caricamenti binari (PDF, immagini, fogli di calcolo) i cui ID iniziano con claude_file_; scaricale con Download file content. Le voci con type pari a project_doc sono documenti in testo semplice (sempre text/plain) i cui ID iniziano con claude_proj_doc_; recuperale con Get project document content.
Un consumatore che scorre l'elenco degli allegati deve diramare in base a type e chiamare l'endpoint di contenuto corrispondente per ogni voce. La richiesta seguente elenca una pagina di allegati; pagina passando next_page come parametro page finché has_more non è false.
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
}Ogni eliminazione riuscita è permanente e immediata. Non esiste una finestra di recupero.
La Compliance API espone endpoint di eliminazione definitiva per chat, file, documenti di progetto e interi progetti. Una chat eliminata definitivamente non può essere ripristinata e smette di apparire nelle risposte di elenco (mentre una chat eliminata in modo reversibile da claude.ai appare ancora con deleted_at valorizzato).
Tutti e quattro gli endpoint richiedono lo scope delete:compliance_user_data, che viene concesso separatamente dallo scope di lettura quando viene creata la Compliance Access Key.
La richiesta seguente elimina una chat. Lo stesso schema si applica agli altri endpoint di eliminazione; cambia solo l'URL.
# ATTENZIONE: questa operazione elimina in modo PERMANENTE la chat, tutti i suoi messaggi
# e gli eventuali file allegati. L'eliminazione è immediata e non può essere annullata.
# Richiede lo scope `delete:compliance_user_data`, che viene concesso separatamente
# da `read:compliance_user_data` al momento della creazione della Compliance Access Key.
# Assicurati di avere un'autorizzazione esplicita prima di eseguirla.
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"
}Ogni eliminazione riuscita restituisce un piccolo involucro di conferma con un id e un discriminatore type. L'endpoint delle chat restituisce claude_chat_deleted; controlla il campo type prima di considerare confermata l'eliminazione. Consulta lo schema di risposta nella pagina di riferimento API di ogni endpoint di eliminazione per il valore esatto di type restituito dagli altri endpoint.
Un progetto non può essere eliminato finché vi rimangono chat collegate. L'API restituisce 409 con questo corpo:
{
"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."
}
}Per risolvere, elenca le chat del progetto con GET /v1/compliance/apps/chats?user_ids[]={user_id}&project_ids[]={project_id} (il filtro project_ids[] richiede almeno un valore user_ids[]; enumera gli ID tramite Elencare gli utenti dell'organizzazione), elimina ciascuna con DELETE /v1/compliance/apps/chats/{claude_chat_id} (oppure spostala fuori dal progetto da claude.ai), e poi riprova l'eliminazione del progetto.
Lo schema completo di richiesta e risposta per ogni endpoint di chat, file, progetti e artifact.
Enumera le persone e i team associati alle chat e ai progetti di questa pagina.
Was this page helpful?