Consultar el Activity Feed
Recupera, filtra y pagina el Activity Feed de la Compliance API de tu organización.
El Activity Feed (feed de actividad) registra la actividad de autenticación, chat, archivos, proyectos, administración y plataforma en toda tu organización y la devuelve en orden cronológico inverso. Las actividades se pueden consultar dentro de 1 minuto después de ocurrir y se conservan durante 6 años. El registro no es retroactivo: comienza cuando la Compliance API se habilita por primera vez para tu organización, y la actividad anterior a la habilitación no se rellena retroactivamente.
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"
}Filtrar actividades
Filtra por organización, actor, tipo de actividad o una ventana de tiempo de created_at usando los subparámetros con punto created_at.gte, .gt, .lte y .lt. Consulta la referencia de la API para conocer el tipo y los valores aceptados de cada parámetro.
Los parámetros repetibles usan la sintaxis de consulta con corchetes de arreglo: pasa activity_types[]=..., actor_ids[]=... u organization_ids[]=... una vez por cada valor.
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"El Activity Feed produce cientos de tipos de actividad distintos. Consulta Consultar actividades de cumplimiento en la referencia de la API para ver la lista completa de valores que acepta activity_types[].
Paginar resultados
Las actividades se devuelven de la más reciente a la más antigua, con los empates en created_at resueltos por el ID de la actividad, y limitadas a limit resultados en cada respuesta (predeterminado 100, máximo 5,000). Consulta la referencia de la API para ver el esquema de respuesta completo.
La Compliance API usa dos esquemas de paginación según la familia de endpoints:
| Familia de endpoints | Orden | Esquema | Parámetros |
|---|---|---|---|
| Actividades | Más recientes primero | Cursor | after_id, before_id (devueltos como first_id, last_id) |
| Chats y mensajes de chat | Más antiguos primero | Cursor | after_id, before_id (devueltos como first_id, last_id) |
| Organizaciones, proyectos, adjuntos de proyectos, usuarios, roles, permisos de roles, grupos, miembros de grupos | Específico del endpoint | Token de página | page (devuelto como next_page) |
| Sesiones locales y remotas y mensajes de sesión | Sesiones más recientes primero; mensajes más antiguos primero de forma predeterminada | Token de página | page (devuelto como next_page) |
Los archivos no se paginan: se recuperan individualmente por ID.
Los cursores de paginación y los tokens de página son cadenas opacas: devuélvelos sin modificar. Su formato interno no es estable, y analizarlos dejará de funcionar sin previo aviso. Solo se puede establecer uno de after_id o before_id en cada solicitud, y ambos esquemas devuelven has_more para que sepas cuándo detenerte. Los endpoints de sesiones (locales y remotas) son la excepción: devuelven next_page sin has_more, así que detente cuando next_page sea null.
Para paginar las actividades:
- Pasa el
last_idde la respuesta comoafter_idpara avanzar a la siguiente página en el orden de los resultados. Con las actividades ordenadas de la más reciente a la más antigua, la siguiente página contiene entradas más antiguas. - Pasa
first_idcomobefore_idpara volver a la página anterior. - Detente cuando
has_moreseafalse.
El parámetro de cursor establece la dirección de la página; el orden del endpoint establece la dirección en el tiempo. El mismo parámetro after_id llega aquí a actividades más antiguas. Los chats se ordenan del más antiguo al más reciente; consulta Recuperar y eliminar chats, archivos y proyectos para conocer la semántica de los cursores allí.
# Obtén la primera página (actividades más recientes primero) y captura su cursor final.
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')
# Devuelve el cursor sin cambios para obtener la siguiente página (más antigua).
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 bucle de backfill (relleno retroactivo) en producción pagina las actividades más antiguas guiando la iteración con has_more y last_id:
- Comienza desde tu cursor almacenado (u omite
after_idpara comenzar desde el principio). - Pagina con
after_id=<last_id>hasta quehas_moreseafalse. - Persiste el
last_idfinal solo después de haber almacenado todas las páginas que cubre.
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)Comprender el objeto Activity
Cada entrada en data es un Activity con esta forma de nivel superior:
| Campo | Tipo | Descripción |
|---|---|---|
id | string | Identificador único de la actividad. |
created_at | cadena RFC 3339 | Cuándo ocurrió la actividad. |
organization_id | string o null | Organización donde ocurrió la actividad, o null para eventos no vinculados a una organización (inicio de sesión, cierre de sesión, llamadas a la Compliance API). |
organization_uuid | string o null | Mismo alcance que organization_id, expresado como UUID. |
actor | unión Actor | Quién o qué realizó la actividad. Consulta la siguiente tabla de actores. |
type | string | El tipo de actividad, por ejemplo claude_chat_created. |
| campos adicionales | varía | Campos específicos del tipo, por ejemplo claude_chat_id en eventos de chat o filename en eventos de archivos. Consulta Consultar actividades de cumplimiento en la referencia de la API para ver la lista de campos por tipo. |
El campo actor es una unión discriminada. El discriminador type te indica qué otros campos están presentes:
actor.type | Cuándo aparece | Campos clave |
|---|---|---|
user_actor | Un usuario con sesión iniciada en claude.ai o Claude Console realizó la acción. | email_address, user_id, ip_address, user_agent |
api_actor | Una solicitud llamó a la Claude API o a la Compliance API con una clave de API emitida por el cliente. Las llamadas a la Compliance API producen este tipo de actor tanto para las Compliance Access Keys como para las claves de Admin API. | api_key_id, ip_address, user_agent |
admin_api_key_actor | Un administrador de la organización usó una clave de Admin API para gestionar usuarios, invitaciones, espacios de trabajo o claves de API. | admin_api_key_id, ip_address, user_agent |
unauthenticated_user_actor | Ocurrió una acción antes de que se completara el inicio de sesión, por ejemplo sso_login_initiated. | unauthenticated_email_address, ip_address, user_agent |
anthropic_actor | Anthropic actuó sobre la organización, por ejemplo mediante herramientas internas. | email_address (siempre null; presente por consistencia de forma con user_actor, porque los operadores de Anthropic no se representan mediante un correo electrónico individual) |
scim_directory_sync_actor | Un proveedor de identidad (como Okta, Microsoft Entra ID o JumpCloud) envió un cambio mediante la sincronización de directorio SCIM. | workos_event_id, directory_id, idp_connection_type (puede ser null; por ejemplo OktaSCIMV2, AzureSCIMV2) |
Una actividad claude_*_viewed significa que una aplicación de Claude cargó contenido, no que una persona lo haya visto. Tipos como claude_chat_viewed, claude_file_viewed y claude_project_viewed se registran cada vez que una aplicación de Claude carga el chat, archivo o proyecto desde los servidores de Anthropic. Las cargas repetidas no se deduplican. Las aplicaciones web, de escritorio y móviles cargan contenido en distintos momentos, a veces en segundo plano, y pueden mostrar una copia en caché sin cargarla. Como resultado, los conteos de estas actividades varían según la plataforma y no corresponden a mensajes enviados ni a pantallas vistas.
Próximos pasos
El esquema completo de solicitud y respuesta para GET /v1/compliance/activities, incluidos todos los valores admitidos de activity_types[].
Consulta y elimina el contenido subyacente de las actividades que encuentres en el feed (se requiere una Compliance Access Key).
Elige un patrón de consumo por sondeo o por lotes y planifica la correlación con SIEM.
El catálogo completo de errores.
Was this page helpful?