Was this page helpful?
La Compliance API viene abilitata su richiesta. Le organizzazioni Claude Enterprise hanno accesso all'API completa; le organizzazioni Claude Console hanno accesso solo all'Activity Feed (questa pagina). Consulta Ottenere l'accesso alla Compliance API.
Scope richiesto: read:compliance_activities sulla Compliance Access Key o sulla chiave Admin API.
Sia le Compliance Access Key (sk-ant-api01-...) che includono questo scope sia le chiavi Admin API (sk-ant-admin01-...) possono chiamare l'Activity Feed. Consulta Ottenere l'accesso alla Compliance API per le condizioni in cui ciascun tipo di chiave include lo scope.
L'Activity Feed registra ogni azione di autenticazione, chat, file, progetto, amministrativa e di piattaforma che avviene nella tua organizzazione, in ordine cronologico inverso. Le attività sono interrogabili entro 1 minuto dal loro verificarsi e vengono conservate per 6 anni.
curl --fail-with-body -sS \
"https://api.anthropic.com/v1/compliance/activities?limit=1" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"{
"data": [
{
"id": "activity_01XyDMpzjS89pFZXqSFUBDr6",
"created_at": "2026-04-10T08:09:10Z",
"organization_id": "org_01Wv6QeBcDfGhJkLmNpQrSt8",
"organization_uuid": "abcdef01-2345-6789-abcd-ef0123456789",
"actor": {
"type": "user_actor",
"email_address": "[email protected]",
"user_id": "user_01TuVwXyZaBcDeFgH2JkLmN4",
"ip_address": "192.0.2.34",
"user_agent": "Mozilla/5.0..."
},
"type": "claude_chat_created",
"claude_chat_id": "claude_chat_01XyDMpzjS89pFZXqSFUBDr6",
"claude_project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq"
}
],
"has_more": true,
"first_id": "activity_01XyDMpzjS89pFZXqSFUBDr6",
"last_id": "activity_01XyDMpzjS89pFZXqSFUBDr6"
}Filtra per organizzazione, attore, tipo di attività o per una finestra temporale created_at utilizzando i sotto-parametri con notazione a punto created_at.gte, .gt, .lte e .lt. Consulta il riferimento API per il tipo e i valori accettati di ciascun parametro.
I parametri ripetibili utilizzano la sintassi di query con parentesi quadre per array: passa activity_types[]=..., actor_ids[]=... o organization_ids[]=... una volta per ciascun valore.
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/activities" \
--data-urlencode "activity_types[]=claude_file_uploaded" \
--data-urlencode "activity_types[]=claude_chat_created" \
--data-urlencode "created_at.gte=2026-04-01T00:00:00Z" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"L'Activity Feed produce centinaia di tipi di attività distinti. Consulta Query compliance activities nel riferimento API per l'elenco completo dei valori accettati da activity_types[].
Le attività vengono restituite a partire dalla più recente, con i pareggi in created_at risolti tramite l'ID dell'attività, e limitate a limit risultati in ciascuna risposta (valore predefinito 100, massimo 5.000). Consulta il riferimento API per lo schema completo della risposta.
La Compliance API utilizza due schemi di paginazione a seconda della famiglia di endpoint:
| Famiglia di endpoint | Ordinamento | Schema | Parametri |
|---|---|---|---|
| Attività | Dalla più recente | Cursore | after_id, before_id (restituiti come first_id, last_id) |
| Chat e messaggi di chat | Dalla meno recente | Cursore | after_id, before_id (restituiti come first_id, last_id) |
| Progetti, allegati di progetto, utenti, ruoli, permessi di ruolo, gruppi, membri di gruppo | Specifico dell'endpoint | Token di pagina | page (restituito come next_page) |
Organizzazioni e file non sono paginati: List organizations restituisce tutti i risultati in un'unica risposta, e i file vengono recuperati individualmente tramite ID.
I cursori di paginazione e i token di pagina sono stringhe opache: restituiscili invariati. Il loro formato interno non è stabile e analizzarli causerà malfunzionamenti senza preavviso. In ciascuna richiesta può essere impostato solo uno tra after_id e before_id, ed entrambi gli schemi restituiscono has_more così sai quando fermarti.
Per scorrere le pagine delle attività:
last_id della risposta come after_id per avanzare alla pagina successiva nell'ordine dei risultati. Con le attività ordinate dalla più recente, la pagina successiva contiene voci meno recenti.first_id come before_id per tornare alla pagina precedente.has_more è false.Il parametro del cursore imposta la direzione della pagina; l'ordinamento dell'endpoint imposta la direzione temporale. Lo stesso parametro after_id qui raggiunge attività meno recenti. Le chat sono ordinate dalla meno recente; consulta Recuperare ed eliminare chat, file e progetti per la semantica dei cursori in quel contesto.
I cursori possono essere riutilizzati in sicurezza nei tentativi ripetuti. Un cursore o un token di pagina proveniente da una pagina restituita con successo rimane valido; una richiesta che fallisce (5xx, timeout, errore di rete) non fa avanzare la tua posizione. Riprova la stessa richiesta con lo stesso cursore. Passa al cursore successivo solo dopo aver memorizzato la pagina che esso delimita.
# Recupera la prima pagina (attività più recenti per prime) e cattura il suo cursore finale.
last_id=$(curl --fail-with-body -sS \
"https://api.anthropic.com/v1/compliance/activities?limit=2" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" | jq -er '.last_id')
# Passa nuovamente il cursore invariato per recuperare la pagina successiva (più vecchia).
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/activities" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--data-urlencode "limit=2" \
--data-urlencode "after_id=${last_id}"Un ciclo di backfill in produzione scorre le pagine delle attività meno recenti guidando l'iterazione tramite has_more e last_id:
after_id per iniziare dall'inizio).after_id=<last_id> finché has_more non è false.last_id finale solo dopo aver memorizzato ogni pagina che esso copre.cursor = stored_cursor
loop:
if cursor is not null:
page = GET /v1/compliance/activities?after_id={cursor}&limit=100
else:
page = GET /v1/compliance/activities?limit=100
store(page.data)
if page.last_id is not null:
cursor = page.last_id
if not page.has_more: break
persist(cursor)Ogni voce in data è un oggetto Activity con questa struttura di primo livello:
| Campo | Tipo | Descrizione |
|---|---|---|
id | string | Identificatore univoco dell'attività. |
created_at | stringa RFC 3339 | Quando si è verificata l'attività. |
organization_id | string o null | Organizzazione in cui si è verificata l'attività, oppure null per eventi non legati a un'organizzazione (accesso, disconnessione, chiamate alla Compliance API). |
organization_uuid | string o null | Stesso ambito di organization_id, espresso come UUID. |
actor | Unione Actor | Chi o cosa ha eseguito l'attività. Vedi la tabella degli attori seguente. |
Il campo actor è un'unione discriminata. Il discriminatore type indica quali altri campi sono presenti:
actor.type | Quando appare | Campi chiave |
|---|---|---|
user_actor | Un utente autenticato di claude.ai o Claude Console ha eseguito l'azione. | email_address, user_id, ip_address, user_agent |
api_actor | Una richiesta ha chiamato la Claude API o la Compliance API con una chiave API emessa dal cliente. Le chiamate alla Compliance API producono questo tipo di attore sia per le Compliance Access Key sia per le chiavi Admin API. | api_key_id, ip_address, user_agent |
admin_api_key_actor | Un amministratore dell'organizzazione ha utilizzato una chiave Admin API per gestire utenti, inviti, workspace o chiavi API. |
Crea gestori compatibili con le versioni future. Lascia passare i valori di type e
actor.type non riconosciuti e ignora i campi che il tuo gestore non si aspetta, così la tua
integrazione continuerà a funzionare quando verranno rilasciati nuovi tipi di attività.
Lo schema completo di richiesta e risposta per GET /v1/compliance/activities, incluso ogni valore supportato di activity_types[].
Interroga ed elimina il contenuto sottostante per le attività che trovi nel feed (richiede una Compliance Access Key).
Scegli un pattern di consumo tramite polling o batch e pianifica la correlazione SIEM.
Il catalogo completo degli errori.
type | string | Il tipo di attività, ad esempio claude_chat_created. |
| campi aggiuntivi | varia | Campi specifici del tipo, ad esempio claude_chat_id sugli eventi di chat o filename sugli eventi di file. Consulta Query compliance activities nel riferimento API per l'elenco dei campi per ciascun tipo. |
admin_api_key_id |
unauthenticated_user_actor | Un'azione si è verificata prima del completamento dell'accesso, ad esempio sso_login_initiated. | unauthenticated_email_address, ip_address, user_agent |
anthropic_actor | Anthropic ha agito sull'organizzazione, ad esempio tramite strumenti interni. | email_address (sempre null; presente per coerenza di struttura con user_actor, poiché gli operatori Anthropic non sono rappresentati da email individuali) |
scim_directory_sync_actor | Un identity provider (come Okta, Microsoft Entra ID o JumpCloud) ha inviato una modifica tramite sincronizzazione directory SCIM. | workos_event_id, directory_id, idp_connection_type (nullable; ad esempio OktaSCIMV2, AzureSCIMV2) |