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 Elenca 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à il contenuto delle chat di claude.ai, i file caricati, i progetti e gli allegati dei progetti. Supportano le esportazioni per "eDiscovery" (discovery elettronica), l'applicazione della "data loss prevention" (prevenzione della perdita di dati), o DLP, e le risposte alle eliminazioni di account. Il contenuto viene conservato per tutto il tempo consentito dalla politica di conservazione della tua organizzazione. Le chat che un utente ha eliminato in modo soft in claude.ai rimangono visibili tramite la Compliance API con deleted_at valorizzato; le chat che sono state eliminate in modo definitivo (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 Elenca le chat per scorrere i metadati delle chat, poi Ottieni i messaggi della chat 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 sotto la 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 unico ciclo paginato rileva 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-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": "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 utilizza i campi cursore standard first_id/last_id/has_more descritti in Paginare i risultati. Per avanzare verso le chat più recenti, passa il 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 completamente 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 ricomparse.
Alcune restrizioni si applicano a queste query a livello di organizzazione. I cursori sono opachi e vincolati alla chiave di ordinamento, quindi un after_id emesso con un valore di order_by viene rifiutato con un errore 400 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 Elenca le chat per il riferimento completo dei filtri.
Per limitare invece l'elenco a utenti specifici (ad esempio, un blocco legale su custodi nominati), passa da 1 a 10 valori user_ids[]. Ottieni gli ID da Elenca 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 un'unica 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 Ottieni i messaggi della chat 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 dagli 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-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 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 (ad esempio, PDF, fogli di calcolo o presentazioni). artifacts sono documenti versionati (ad 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 tramite 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 su ogni messaggio) oppure, per i caricamenti a livello di progetto, dall'endpoint degli allegati del progetto.
Scegli l'endpoint che corrisponde al tuo 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 | Scarica il contenuto del file |
ID claude_file_* | Solo i metadati del file | Ottieni i metadati del file |
ID claude_gen_file_* | Il contenuto binario di un file generato da uno strumento | Scarica un file generato da Claude |
ID claude_gen_file_* | Solo i metadati di un file generato da uno strumento | Ottieni i metadati del file generato |
ID claude_artifact_version_* | Il testo di una versione dell'artifact | Scarica il contenuto dell'artifact |
ID claude_artifact_version_* | Solo i metadati della versione dell'artifact | Ottieni i metadati dell'artifact |
ID claude_proj_doc_* | Il contenuto in testo semplice di un documento di progetto | Ottieni il contenuto del documento di progetto |
ID claude_proj_doc_* | Solo i metadati di un documento di progetto | Ottieni i metadati del documento di progetto |
L'endpoint di contenuto dei file trasmette in streaming il caricamento originale come risposta binaria a blocchi con questi header:
Content-Disposition: attachment; filename*=utf-8''<percent-encoded filename> contiene il nome del file caricato originale 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 del file indicato in Content-Disposition, che è il nome del 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 allegati o documenti di testo. 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 dell'elenco dei progetti e dell'elenco degli 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 uguale a project_file sono caricamenti binari (PDF, immagini, fogli di calcolo) i cui ID iniziano con claude_file_; scaricale con Scarica il contenuto del file. Le voci con type uguale a project_doc sono documenti in testo semplice (sempre text/plain) i cui ID iniziano con claude_proj_doc_; recuperale con Ottieni il contenuto del documento di progetto.
Un consumatore che scorre l'elenco degli allegati deve diramarsi 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 in modo definitivo non può essere ripristinata e smette di apparire nelle risposte di elenco (mentre una chat eliminata in modo soft 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 envelope 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 Elenca 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?