查询活动源
检索、筛选和分页浏览您组织的 Compliance API 活动源。
"Activity Feed"(活动源)记录您组织内的身份验证、聊天、文件、项目、管理和平台活动,并按时间倒序返回这些活动。活动在发生后 1 分钟内即可查询,并保留 6 年。记录不具有追溯性:记录从您的组织首次启用 Compliance API 时开始,启用之前的活动不会被回填。
curl --fail-with-body -sS \
"https://api.anthropic.com/v1/compliance/activities?limit=1" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--header "anthropic-version: 2023-06-01"{
"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 和 .lt 按 created_at 时间窗口进行筛选。有关每个参数的类型和可接受的值,请参阅 API 参考。
可重复参数使用数组方括号查询语法:对每个值分别传递一次 activity_types[]=...、actor_ids[]=... 或 organization_ids[]=...。
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" \
--header "anthropic-version: 2023-06-01"活动源会产生数百种不同的活动类型。有关 activity_types[] 可接受的完整值列表,请参阅 API 参考中的查询合规活动。
分页浏览结果
活动按从新到旧的顺序返回,created_at 相同时按活动 ID 排序,每个响应最多返回 limit 条结果(默认 100,最大 5,000)。有关完整的响应架构,请参阅 API 参考。
Compliance API 根据端点系列使用两种分页方案:
| 端点系列 | 排序顺序 | 方案 | 参数 |
|---|---|---|---|
| 活动 | 从新到旧 | 游标 | after_id、before_id(以 first_id、last_id 返回) |
| 聊天和聊天消息 | 从旧到新 | 游标 | after_id、before_id(以 first_id、last_id 返回) |
| 组织、项目、项目附件、用户、角色、角色权限、群组、群组成员 | 因端点而异 | 页面令牌 | page(以 next_page 返回) |
| 本地和远程会话及会话消息 | 会话从新到旧;消息默认从旧到新 | 页面令牌 | page(以 next_page 返回) |
文件不分页:它们按 ID 单独检索。
"Pagination cursor"(分页游标)和 "page token"(页面令牌)是不透明字符串:请原样传回。它们的内部格式并不稳定,解析它们的做法可能会在没有通知的情况下失效。每个请求中只能设置 after_id 或 before_id 其中之一,两种方案都会返回 has_more,以便您知道何时停止。会话端点(本地和远程)是例外:它们返回 next_page 但不返回 has_more,因此请在 next_page 为 null 时停止。
要分页浏览活动:
- 将响应中的
last_id作为after_id传递,以按结果顺序前进到下一页。由于活动按从新到旧排序,下一页包含更早的条目。 - 将
first_id作为before_id传递,以返回上一页。 - 当
has_more为false时停止。
游标参数决定翻页方向;端点的排序顺序决定时间方向。在这里,同一个 after_id 参数会获取更早的活动。聊天按从旧到新排序;有关其游标语义,请参阅检索和删除聊天、文件和项目。
# 获取第一页(最新的活动在前),并记录其末尾的 cursor(游标)。
last_id=$(curl --fail-with-body -sS \
"https://api.anthropic.com/v1/compliance/activities?limit=2" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--header "anthropic-version: 2023-06-01" | 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" \
--header "anthropic-version: 2023-06-01" \
--data-urlencode "limit=2" \
--data-urlencode "after_id=${last_id}"生产环境中的 "backfill"(回填) 循环通过 has_more 和 last_id 驱动迭代,分页浏览更早的活动:
- 从您存储的游标开始(或省略
after_id以从头开始)。 - 使用
after_id=<last_id>分页浏览,直到has_more为false。 - 只有在存储了最终
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,其顶层结构如下:
| 字段 | 类型 | 描述 |
|---|---|---|
id | string | 活动的唯一标识符。 |
created_at | RFC 3339 字符串 | 活动发生的时间。 |
organization_id | string 或 null | 活动发生所在的组织;对于不与组织关联的事件(登录、登出、Compliance API 调用),则为 null。 |
organization_uuid | string 或 null | 与 organization_id 的范围相同,以 UUID 表示。 |
actor | Actor 联合类型 | 执行该活动的人或实体。请参阅下面的执行者表格。 |
type | string | 活动类型,例如 claude_chat_created。 |
| 其他字段 | 不定 | 特定于类型的字段,例如聊天事件上的 claude_chat_id 或文件事件上的 claude_file_id。有关每种类型的字段列表,请参阅 API 参考中的查询合规活动。 |
actor 字段是一个 "discriminated union"(可辨识联合类型)。type 判别字段会告诉您存在哪些其他字段:
actor.type | 出现时机 | 关键字段 |
|---|---|---|
user_actor | 已登录的 claude.ai 或 Claude Console 用户执行了该操作,或者 Anthropic 代表该用户运行的进程执行了该操作(请参阅此表后面的段落)。 | email_address、user_id、ip_address、user_agent |
api_actor | 某个请求使用客户签发的 API 密钥调用了 Claude API 或 Compliance API。对于 Compliance Access Key 和 Admin API 密钥,Compliance API 调用都会产生此执行者类型。 | api_key_id、ip_address、user_agent |
admin_api_key_actor | 组织管理员使用 Admin API 密钥管理用户、邀请、工作区或 API 密钥。 | admin_api_key_id、ip_address、user_agent |
unauthenticated_user_actor | 操作发生在登录完成之前,例如 sso_login_initiated。 | unauthenticated_email_address、ip_address、user_agent |
anthropic_actor | Anthropic 对该组织执行了操作,例如通过内部工具。 | email_address(始终为 null;存在该字段是为了与 user_actor 保持结构一致,因为 Anthropic 操作人员不以个人电子邮件表示) |
system_actor | 由 Anthropic 系统执行的自动后台处理,不涉及用户或客户凭据。 | service(可为 null;已知时为执行该操作的自动化进程名称) |
scim_directory_sync_actor | 身份提供商(例如 Okta、Microsoft Entra ID 或 JumpCloud)通过 SCIM 目录同步推送了变更。 | workos_event_id、directory_id、idp_connection_type(可为 null;例如 OktaSCIMV2、AzureSCIMV2) |
user_actor 活动并不总是意味着该用户执行了操作。Anthropic 代表用户运行的进程目前可能会显示为受影响用户的 user_actor,而不是 system_actor,并且这种归属方式可能会发生变化。例如,来自迁移的记忆活动(如 platform_memory_store_created、platform_memory_created 和 platform_memory_deleted)就是以这种方式归属的。无论由谁执行,记忆活动都可能显示 0.0.0.0 的 ip_address,因此仅凭此值无法识别来自平台进程的活动。
claude_*_viewed 活动表示某个 Claude 应用加载了内容,而不是某个人查看了该内容。诸如 claude_chat_viewed、claude_file_viewed 和 claude_project_viewed 之类的类型,会在 Claude 应用每次从 Anthropic 的服务器加载聊天、文件或项目时被记录。重复加载不会去重。网页版、桌面版和移动版应用会在不同时刻加载内容,有时在后台加载,并且可能在不加载的情况下显示缓存副本。因此,这些活动的计数因平台而异,并且与发送的消息数或查看的屏幕数并不对应。
与文件、项目文档或工件相关的活动不包含其名称或标题。自 2026 年 9 月 24 日起,这些活动上的 filename 和 title 字段始终为 null、空字符串或被省略,包括在该日期之前记录的活动。要查找名称或标题,请使用带有 read:compliance_user_data 权限范围的 Compliance Access Key,将活动的 claude_file_*、claude_proj_doc_* 或 claude_artifact_version_* ID 传递给检索文件和 artifacts中对应的元数据端点。在文件、文档或工件被删除后,或者当活动没有此类 ID 时,您将无法查找名称或标题。
后续步骤
GET /v1/compliance/activities 的完整请求和响应架构,包括所有受支持的 activity_types[] 值。
查询和删除您在活动源中找到的活动所对应的底层内容(需要 Compliance Access Key)。
选择轮询或批量消费模式,并规划 SIEM 关联。
完整的错误目录。
Was this page helpful?