Interrogare l'Activity Feed
Recupera, filtra e impagina l'Activity Feed della Compliance API della tua organizzazione.
L'Activity Feed (feed delle attività) registra le attività di autenticazione, chat, file, progetti, amministrazione e piattaforma in tutta la tua organizzazione e le restituisce in ordine cronologico inverso. Le attività sono interrogabili entro 1 minuto dal loro verificarsi e vengono conservate per 6 anni. La registrazione non è retroattiva: inizia quando la Compliance API viene abilitata per la prima volta per la tua organizzazione, e le attività precedenti all'abilitazione non vengono recuperate retroattivamente.
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": "user@example.com",
"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"
}Filtrare le attività
Filtra per organizzazione, attore, tipo di attività o una finestra temporale created_at usando 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 usano la sintassi di query con parentesi quadre: 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 Interrogare le attività di conformità nel riferimento API per l'elenco completo dei valori accettati da activity_types[].
Impaginare i risultati
Le attività vengono restituite dalla più recente, con i pareggi in created_at risolti in base all'ID dell'attività, e limitate a limit risultati in ciascuna risposta (predefinito 100, massimo 5.000). Consulta il riferimento API per lo schema completo della risposta.
La Compliance API usa due schemi di "pagination" (impaginazione) 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 delle chat | Dalla più vecchia | Cursore | after_id, before_id (restituiti come first_id, last_id) |
| Organizzazioni, progetti, allegati dei progetti, utenti, ruoli, permessi dei ruoli, gruppi, membri dei gruppi | Specifico dell'endpoint | Token di pagina | page (restituito come next_page) |
| Sessioni locali e remote e messaggi delle sessioni | Sessioni dalla più recente; messaggi dal più vecchio per impostazione predefinita | Token di pagina | page (restituito come next_page) |
I file non vengono impaginati: vengono recuperati singolarmente per ID.
I cursori di impaginazione e i token di pagina sono stringhe opache: ripassali invariati. Il loro formato interno non è stabile e il loro parsing smetterà di funzionare senza preavviso. In ciascuna richiesta può essere impostato solo uno tra after_id e before_id, ed entrambi gli schemi restituiscono has_more così da sapere quando fermarti. Gli endpoint delle sessioni (locali e remote) sono l'eccezione: restituiscono next_page senza has_more, quindi fermati quando next_page è null.
Per scorrere le pagine delle attività:
- Passa il
last_iddella risposta comeafter_idper avanzare alla pagina successiva nell'ordine dei risultati. Con le attività ordinate dalla più recente, la pagina successiva contiene voci più vecchie. - Passa
first_idcomebefore_idper tornare alla pagina precedente. - Fermati quando
has_moreèfalse.
Il parametro cursore stabilisce la direzione della pagina; l'ordinamento dell'endpoint stabilisce la direzione temporale. Lo stesso parametro after_id qui raggiunge le attività più vecchie. Le chat sono ordinate dalla più vecchia; consulta Recuperare ed eliminare chat, file e progetti per la semantica dei cursori in quel contesto.
# Recupera la prima pagina (attività più recenti per prime) e acquisisci il 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')
# Ripassa 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 (recupero retroattivo) in produzione scorre le attività più vecchie guidando l'iterazione tramite has_more e last_id:
- Parti dal tuo cursore memorizzato (oppure ometti
after_idper partire dall'inizio). - Scorri le pagine con
after_id=<last_id>finchéhas_moreèfalse. - Rendi persistente il
last_idfinale solo dopo aver memorizzato ogni pagina che 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)Comprendere l'oggetto Activity
Ogni voce in data è un'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à. Consulta la tabella degli attori seguente. |
type | string | Il tipo di attività, ad esempio claude_chat_created. |
| campi aggiuntivi | variabile | Campi specifici del tipo, ad esempio claude_chat_id sugli eventi delle chat o filename sugli eventi dei file. Consulta Interrogare le attività di conformità nel riferimento API per l'elenco dei campi per tipo. |
Il campo actor è una "discriminated union" (unione discriminata). Il discriminatore type indica quali altri campi sono presenti:
actor.type | Quando compare | Campi principali |
|---|---|---|
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 usato una chiave Admin API per gestire utenti, inviti, workspace o chiavi API. | admin_api_key_id, ip_address, user_agent |
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 propagato una modifica tramite la sincronizzazione della directory SCIM. | workos_event_id, directory_id, idp_connection_type (nullable; ad esempio OktaSCIMV2, AzureSCIMV2) |
Un'attività claude_*_viewed significa che un'app Claude ha caricato un contenuto, non che una persona lo abbia visualizzato. Tipi come claude_chat_viewed, claude_file_viewed e claude_project_viewed vengono registrati ogni volta che un'app Claude carica la chat, il file o il progetto dai server di Anthropic. I caricamenti ripetuti non vengono deduplicati. Le app web, desktop e mobile caricano i contenuti in momenti diversi, talvolta in background, e possono mostrare una copia in cache senza caricarla. Di conseguenza i conteggi di queste attività variano in base alla piattaforma e non corrispondono ai messaggi inviati o alle schermate visualizzate.
Passaggi successivi
Lo schema completo di richiesta e risposta per GET /v1/compliance/activities, incluso ogni valore activity_types[] supportato.
Interroga ed elimina i contenuti sottostanti alle attività che trovi nel feed (Compliance Access Key richiesta).
Scegli un modello di consumo a polling o batch e pianifica la correlazione SIEM.
Il catalogo completo degli errori.
Was this page helpful?