Claude Platform Docs
管理合规 API

查询活动源

检索、筛选和分页浏览您组织的 Compliance API 活动源。

"Activity Feed"(活动源)记录您组织范围内的身份验证、聊天、文件、项目、管理和平台活动,并按时间倒序返回。活动在发生后 1 分钟内即可查询,并保留 6 年。记录不具有追溯性:从您的组织首次启用 Compliance API 时才开始记录,启用之前的活动不会被回填。

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"
}

筛选活动

可按组织、操作者、活动类型进行筛选,或使用带点的子参数 created_at.gte.gt.lte.ltcreated_at 时间窗口进行筛选。有关每个参数的类型和可接受的值,请参阅 API 参考

可重复参数使用数组方括号查询语法:为每个值分别传递一次 activity_types[]=...actor_ids[]=...organization_ids[]=...

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"

活动源会产生数百种不同的活动类型。有关 activity_types[] 接受的完整值列表,请参阅 API 参考中的查询合规活动

分页浏览结果

活动按从新到旧的顺序返回,created_at 相同时按活动 ID 排序,每个响应最多返回 limit 条结果(默认 100,最大 5,000)。有关完整的响应架构,请参阅 API 参考

Compliance API 根据端点系列使用两种分页方案:

端点系列排序顺序方案参数
活动从新到旧游标after_idbefore_id(以 first_idlast_id 返回)
聊天和聊天消息从旧到新游标after_idbefore_id(以 first_idlast_id 返回)
组织、项目、项目附件、用户、角色、角色权限、群组、群组成员因端点而异页面令牌page(以 next_page 返回)
本地和远程会话及会话消息会话从新到旧;消息默认从旧到新页面令牌page(以 next_page 返回)

文件不分页:它们按 ID 单独检索。

分页游标和页面令牌是不透明字符串:请原样传回。它们的内部格式并不稳定,对其进行解析会在没有通知的情况下失效。每个请求中只能设置 after_idbefore_id 之一,两种方案都会返回 has_more,以便您知道何时停止。会话端点(本地和远程)是例外:它们返回 next_page 而不返回 has_more,因此当 next_pagenull 时停止。

要分页浏览活动:

  • 将响应的 last_id 作为 after_id 传递,以按结果顺序前进到下一页。由于活动按从新到旧排序,下一页包含更早的条目。
  • first_id 作为 before_id 传递,以返回上一页。
  • has_morefalse 时停止。

游标参数决定翻页方向;端点的排序顺序决定时间方向。在这里,同一个 after_id 参数会获取更早的活动。聊天按从旧到新排序;有关那里的游标语义,请参阅检索和删除聊天、文件和项目

cURL
# 获取第一页(最新活动优先)并记录其末尾游标。
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')

# 原样传回游标以获取下一页(更早的)数据。
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}"

生产环境中的回填循环通过依据 has_morelast_id 驱动迭代来分页浏览更早的活动:

  1. 从您存储的游标开始(或省略 after_id 以从头开始)。
  2. 使用 after_id=<last_id> 逐页浏览,直到 has_morefalse
  3. 只有在您存储了最终 last_id 所涵盖的每一页之后,才持久化该 last_id
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)

了解 Activity 对象

data 中的每个条目都是一个 Activity,具有以下顶层结构:

字段类型描述
idstring活动的唯一标识符。
created_atRFC 3339 字符串活动发生的时间。
organization_idstring 或 null活动发生的组织,对于不与组织关联的事件(登录、登出、Compliance API 调用)为 null
organization_uuidstring 或 nullorganization_id 作用范围相同,以 UUID 表示。
actorActor 联合类型执行该活动的人或事物。请参阅下面的操作者表。
typestring活动类型,例如 claude_chat_created
其他字段不定特定于类型的字段,例如聊天事件上的 claude_chat_id 或文件事件上的 filename。有关每种类型的字段列表,请参阅 API 参考中的查询合规活动

actor 字段是一个可辨识联合类型。type 辨识符告诉您存在哪些其他字段:

actor.type出现时机关键字段
user_actor已登录的 claude.ai 或 Claude Console 用户执行了该操作。email_addressuser_idip_addressuser_agent
api_actor某个请求使用客户签发的 API 密钥调用了 Claude API 或 Compliance API。对于 Compliance Access Key 和 Admin API 密钥,Compliance API 调用都会产生此操作者类型。api_key_idip_addressuser_agent
admin_api_key_actor组织管理员使用 Admin API 密钥管理用户、邀请、工作区或 API 密钥。admin_api_key_idip_addressuser_agent
unauthenticated_user_actor在登录完成之前发生的操作,例如 sso_login_initiatedunauthenticated_email_addressip_addressuser_agent
anthropic_actorAnthropic 对该组织执行了操作,例如通过内部工具。email_address(始终为 null;为与 user_actor 保持结构一致而存在,因为 Anthropic 操作人员不以个人电子邮件表示)
scim_directory_sync_actor身份提供商(例如 Okta、Microsoft Entra ID 或 JumpCloud)通过 SCIM 目录同步推送了更改。workos_event_iddirectory_ididp_connection_type(可为空;例如 OktaSCIMV2AzureSCIMV2

claude_*_viewed 活动表示某个 Claude 应用加载了内容,而不是某个人查看了它。每当 Claude 应用从 Anthropic 的服务器加载聊天、文件或项目时,都会记录 claude_chat_viewedclaude_file_viewedclaude_project_viewed 等类型。重复加载不会去重。网页、桌面和移动应用在不同时刻加载内容,有时在后台加载,并且可以在不加载的情况下显示缓存副本。因此,这些活动的计数因平台而异,并且不对应于发送的消息数或查看的屏幕数。

后续步骤

GET /v1/compliance/activities 的完整请求和响应架构,包括每个受支持的 activity_types[] 值。

查询和删除您在活动源中找到的活动所对应的底层内容(需要 Compliance Access Key)。

选择轮询或批量消费模式,并规划 SIEM 关联。

完整的错误目录。

Was this page helpful?