若要啟用 Compliance API,請參閱設定 Compliance API。
必要範圍: Compliance Access Key 或 Admin API 金鑰上的 read:compliance_activities。
帶有此範圍的 Compliance Access Key(sk-ant-api01-...)和 Admin API 金鑰(sk-ant-admin01-...)都可以呼叫 Activity Feed。請參閱設定 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"Activity Feed 會產生數百種不同的活動類型。請參閱 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 欄位是一個可辨識聯集(discriminated union)。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 金鑰都會產生此執行者類型。 | api_key_id、ip_address、user_agent |
admin_api_key_actor | 組織管理員使用 Admin API 金鑰來管理使用者、邀請、工作區或 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(可為 null;例如 OktaSCIMV2、AzureSCIMV2) |
建立向前相容的處理程式。 傳遞無法辨識的 type 和 actor.type 值,並忽略您的處理程式不預期的欄位,這樣當新的活動類型推出時,您的整合仍能繼續運作。
GET /v1/compliance/activities 的完整請求和回應結構,包括每個支援的 activity_types[] 值。
查詢和刪除您在動態中找到的活動的底層內容(需要 Compliance Access Key)。
選擇輪詢或批次消費模式並規劃 SIEM 關聯。
完整的錯誤目錄。
Was this page helpful?