要启用 Compliance API,请参阅设置 Compliance API。
所需范围: Compliance Access Key 或 Admin API key 上的 read:compliance_activities。
携带此范围的 Compliance Access Key(sk-ant-api01-...)和 Admin API key(sk-ant-admin01-...)都可以调用活动源。请参阅设置 Compliance API了解每种密钥类型携带该范围的条件。
活动源(Activity Feed)按时间倒序记录您组织中发生的每一次身份验证、聊天、文件、项目、管理和平台操作。活动在发生后 1 分钟内即可查询,并保留 6 年。
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": "[email protected]",
"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"活动源会产生数百种不同的活动类型。请参阅 API 参考中的查询合规活动,了解 activity_types[] 接受的完整值列表。
活动按最新优先返回,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 返回) |
文件不分页:它们通过 ID 单独检索。
分页游标和页面令牌是不透明的字符串:请原样传回。它们的内部格式不稳定,解析它们会在没有通知的情况下失效。每个请求中只能设置 after_id 或 before_id 中的一个,两种方案都会返回 has_more,以便您知道何时停止。
要对活动进行分页:
last_id 作为 after_id 传递,以按结果顺序前进到下一页。由于活动按最新优先排序,下一页包含较旧的条目。first_id 作为 before_id 传递以返回上一页。has_more 为 false 时停止。游标参数设置翻页方向;端点的排序顺序设置时间方向。同样的 after_id 参数在这里会到达较旧的活动。聊天按最早优先排序;请参阅检索和删除聊天、文件和项目了解那里的游标语义。
游标在重试时可以安全重用。 来自成功返回页面的游标或页面令牌保持有效;失败的请求(5xx、超时、网络错误)不会推进您的位置。使用相同的游标重试相同的请求。只有在您存储了游标所指向的页面之后,才移动到下一个游标。
# 获取第一页(最新的活动排在前面)并记录其末尾的游标。
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}"生产环境的回填(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)data 中的每个条目都是一个具有以下顶层结构的 Activity:
| 字段 | 类型 | 描述 |
|---|---|---|
id | string | 活动的唯一标识符。 |
created_at | RFC 3339 string | 活动发生的时间。 |
organization_id | string 或 null | 活动发生的组织,对于不与组织关联的事件(登录、登出、Compliance API 调用)则为 null。 |
organization_uuid | string 或 null | 与 organization_id 相同的作用域,以 UUID 表示。 |
actor | Actor union | 执行活动的人或事物。请参阅下面的操作者表格。 |
type | string | 活动类型,例如 claude_chat_created。 |
| 其他字段 | 不定 | 特定于类型的字段,例如聊天事件上的 claude_chat_id 或文件事件上的 filename。请参阅 API 参考中的查询合规活动了解每种类型的字段列表。 |
actor 字段是一个可区分联合类型。type 判别器告诉您存在哪些其他字段:
actor.type | 出现时机 | 关键字段 |
|---|---|---|
user_actor | 已登录的 claude.ai 或 Claude Console 用户执行了该操作。 | email_address、user_id、ip_address、user_agent |
api_actor | 某个请求使用客户签发的 API 密钥调用了 Claude API 或 Compliance API。Compliance API 调用对于 Compliance Access Key 和 Admin API key 都会产生此操作者类型。 | api_key_id、ip_address、user_agent |
admin_api_key_actor | 组织管理员使用 Admin API key 管理用户、邀请、工作区或 API 密钥。 | admin_api_key_id |
unauthenticated_user_actor | 操作发生在登录完成之前,例如 sso_login_initiated。 | unauthenticated_email_address、ip_address、user_agent |
anthropic_actor | Anthropic 对组织执行了操作,例如通过内部工具。 | email_address(始终为 null;为了与 user_actor 保持结构一致而存在,因为 Anthropic 操作人员不以个人电子邮件表示) |
scim_directory_sync_actor | 身份提供商(如 Okta、Microsoft Entra ID 或 JumpCloud)通过 SCIM 目录同步推送了更改。 | workos_event_id、directory_id、idp_connection_type(可为空;例如 OktaSCIMV2、AzureSCIMV2) |
构建向前兼容的处理程序。 透传无法识别的 type 和 actor.type 值,并忽略处理程序不期望的字段,这样当新的活动类型发布时,您的集成仍能正常工作。
GET /v1/compliance/activities 的完整请求和响应模式,包括每个支持的 activity_types[] 值。
查询和删除您在活动源中找到的活动的底层内容(需要 Compliance Access Key)。
选择轮询或批量消费模式并规划 SIEM 关联。
完整的错误目录。
Was this page helpful?