Claude Platform Docs
AdministraciónAPI de cumplimiento

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
curl --fail-with-body -sS \
  "https://api.anthropic.com/v1/compliance/activities?limit=1" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"
Response
{
  "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
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 endpointsOrdenEsquemaParámetros
ActividadesMás recientes primeroCursorafter_id, before_id (devueltos como first_id, last_id)
Chats y mensajes de chatMás antiguos primeroCursorafter_id, before_id (devueltos como first_id, last_id)
Organizaciones, proyectos, adjuntos de proyectos, usuarios, roles, permisos de roles, grupos, miembros de gruposEspecífico del endpointToken de páginapage (devuelto como next_page)
Sesiones locales y remotas y mensajes de sesiónSesiones más recientes primero; mensajes más antiguos primero de forma predeterminadaToken de páginapage (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_id de la respuesta como after_id para 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_id como before_id para volver a la página anterior.
  • Detente cuando has_more sea false.

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í.

cURL
# 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:

  1. Comienza desde tu cursor almacenado (u omite after_id para comenzar desde el principio).
  2. Pagina con after_id=<last_id> hasta que has_more sea false.
  3. Persiste el last_id final 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:

CampoTipoDescripción
idstringIdentificador único de la actividad.
created_atcadena RFC 3339Cuándo ocurrió la actividad.
organization_idstring o nullOrganizació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_uuidstring o nullMismo alcance que organization_id, expresado como UUID.
actorunión ActorQuién o qué realizó la actividad. Consulta la siguiente tabla de actores.
typestringEl tipo de actividad, por ejemplo claude_chat_created.
campos adicionalesvaríaCampos 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.typeCuándo apareceCampos clave
user_actorUn usuario con sesión iniciada en claude.ai o Claude Console realizó la acción.email_address, user_id, ip_address, user_agent
api_actorUna 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_actorUn 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_actorOcurrió 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_actorAnthropic 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_actorUn 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?