Was this page helpful?
本頁面的端點用於擷取和刪除 claude.ai 內容,僅適用於 Claude Enterprise 方案的組織。Compliance API 需申請啟用。請參閱取得 Compliance API 存取權限。
必要範圍: Compliance Access Key 上的 read:compliance_user_data。刪除端點另需 delete:compliance_user_data。
先決條件: 若要列出對話,需至少一個來自列出組織使用者的使用者 ID。本頁面的其他端點則直接接受資源 ID。
本頁面的端點向合規審查人員公開 claude.ai 的對話內容、檔案上傳、專案和專案附件。這些端點支援「eDiscovery」(電子蒐證)匯出、「data loss prevention」(資料外洩防護),即 DLP 的執行,以及帳戶刪除回應。內容會依您組織的保留政策所允許的期限保留。使用者在 claude.ai 中軟刪除的對話仍可透過 Compliance API 查看,且 deleted_at 欄位會有值;已硬刪除的對話(透過 Compliance API 本身刪除,或在組織的保留期限到期後刪除)則無法擷取。
這兩個範圍僅授予在 claude.ai 中建立的 Compliance Access Key(sk-ant-api01-...);請參閱取得 Compliance API 存取權限以配置金鑰。read:compliance_user_data 範圍涵蓋擷取操作;delete:compliance_user_data 僅刪除端點需要。對話、檔案、專案和附件端點不適用於 Admin API 金鑰(sk-ant-admin01-...);使用 Admin API 金鑰驗證的呼叫會回傳 403 Forbidden。
本頁面的端點採用兩種分頁方式;完整參考請參閱分頁結果。每個章節會註明適用的分頁方式。
使用列出對話逐頁瀏覽對話中繼資料,再使用取得對話訊息擷取單一對話的完整訊息內容。
對話列表端點需要至少一個 user_ids[] 值(單一請求最多可接受 10 個),因此請先透過列出組織使用者列舉使用者 ID,再針對每位使用者或每批使用者列出對話。以下請求會列出特定使用者自指定日期以來擁有的對話。
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/apps/chats" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--data-urlencode "user_ids[]=user_01XyDMpzjS89pFZXqSFUBDr6" \
--data-urlencode "organization_ids[]=91012d09-e48b-438e-a489-1bebfd8fa6f9" \
--data-urlencode "created_at.gte=2025-06-01T00:00:00Z" \
--data-urlencode "limit=100"{
"data": [
{
"id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"name": "Product Requirements Discussion",
"created_at": "2026-04-10T08:09:10Z",
"updated_at": "2026-04-10T09:10:11Z",
"deleted_at": null,
"href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789",
"model": "claude-opus-4-8",
"organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
"project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
"user": {
"id": "user_01XyDMpzjS89pFZXqSFUBDr6",
"email_address": "[email protected]"
}
}
],
"has_more": true,
"first_id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"last_id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja"
}列出對話僅回傳中繼資料。完整的篩選條件清單請參閱列出對話;除了必要的 user_ids[] 之外,updated_at.* 範圍條件對於增量審查自上次匯出後有變更的對話特別有用。
對話結果依 created_at 遞增排序(最舊的在前),相同時間則依 id 排序。分頁使用與分頁結果相同的 first_id/last_id/has_more 游標欄位;將 last_id 作為 after_id 傳入可向前瀏覽較新的對話,或將 first_id 作為 before_id 傳入可向後瀏覽較舊的對話。
若要取得實際的對話內容、附加檔案和內嵌 artifacts(Claude 在對話中產生的結構化文件),請針對每個對話 ID 接續呼叫訊息端點:
chat_id="claude_chat_01H5CWunD7RpVJ5bHa8RCkja"
curl --fail-with-body -sS \
"https://api.anthropic.com/v1/compliance/apps/chats/$chat_id/messages" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"訊息端點會回傳對話的中繼資料,以及依 created_at 排序的 chat_messages 陣列。若省略 limit,則會在單一回應中回傳完整的訊息集;傳入 limit、after_id 或 before_id 可對非常長的對話進行分頁。此端點也接受 created_at.* 和 updated_at.* 範圍條件(gt、gte、lt、lte)以及 order 參數(asc 或 desc)。完整的參數清單請參閱取得對話訊息。對於使用者訊息,created_at 是訊息傳送的時間;對於助理訊息,則是 Claude 完成產生訊息的時間。每則訊息包含其文字內容,以及(若存在)任何上傳的檔案(通常出現在使用者訊息上)、任何工具產生的檔案,以及助理產生或更新的任何 artifacts(通常出現在助理訊息上):
{
"id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"name": "Product Requirements Discussion",
"created_at": "2026-04-10T08:09:10Z",
"updated_at": "2026-04-10T09:10:11Z",
"deleted_at": null,
"href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789",
"model": "claude-opus-4-8",
"organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
"project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
"user": {
"id": "user_01XyDMpzjS89pFZXqSFUBDr6",
"email_address": "[email protected]"
},
"chat_messages": [
{
"id": "claude_chat_msg_01VnBPkLmtj7YdW5QrXKEA8c",
"role": "user",
"created_at": "2026-04-10T08:09:10Z",
"content": [
{
"type": "text",
"text": "Can you help me draft requirements for our new dashboard feature?"
}
],
"files": [
{
"id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
"filename": "dashboard_mockup_v1.pdf",
"mime_type": "application/pdf"
}
]
},
{
"id": "claude_chat_msg_01M8tFcHwbQ2kY6NpEjRZv4D",
"role": "assistant",
"created_at": "2026-04-10T08:09:11Z",
"content": [
{
"type": "text",
"text": "I'd be happy to help you draft requirements for your dashboard feature..."
}
],
"generated_files": [
{
"id": "claude_gen_file_01TbR8wAcCeFhJkLnPqStUvX",
"filename": "requirements_summary.csv",
"mime_type": "text/csv"
}
],
"artifacts": [
{
"id": "claude_artifact_01HqRsTuVwXyZa2BcDeFgH4J",
"version_id": "claude_artifact_version_01KmNpQrSt3UvWxYz5AbCdEfG",
"title": "Dashboard Requirements Draft",
"artifact_type": "text/markdown"
}
]
}
],
"has_more": false,
"first_id": "eyJtc2dfdXVpZCI6ICIwZjcwYjA2Ni0uLi4ifQ==",
"last_id": "eyJtc2dfdXVpZCI6ICJhNGUwYjE3Mi0uLi4ifQ=="
}在特定訊息上,files、generated_files 和 artifacts 都可能為 null。files 是使用者附加到訊息的二進位上傳檔案(PDF、圖片、試算表)。generated_files 是助理在對話過程中透過工具使用建立的二進位檔案(例如 PDF、試算表或簡報)。artifacts 是助理在回應中產生或更新的版本化文件(例如程式碼或 markdown);一個 artifact 可在同一對話中跨多個助理回合進行修訂,每次修訂都會在相同的 artifact id 下以新的 version_id 出現。將每個項目的 id(或 artifacts 的 version_id)傳入擷取檔案與 artifacts 中對應的內容端點即可下載。
檔案和 artifacts 是透過 ID 下載,而非獨立列出。這些 ID 來自擷取對話與訊息中的對話訊息端點(每則訊息上的 files、generated_files 和 artifacts 陣列),或者對於專案層級的上傳,則來自專案附件端點。
請根據您的 ID 類型和所需資料選擇對應的端點。對話檔案和專案檔案使用相同的檔案內容端點。
| 您擁有的 | 您想要的 | 使用此端點 |
|---|---|---|
claude_file_* ID | 檔案的二進位內容 | 下載檔案內容 |
claude_file_* ID | 僅檔案的中繼資料 | 取得檔案中繼資料 |
claude_gen_file_* ID | 工具產生檔案的二進位內容 | 下載 Claude 產生的檔案 |
claude_gen_file_* ID | 僅工具產生檔案的中繼資料 | 取得產生檔案的中繼資料 |
claude_artifact_version_* ID | 單一 artifact 版本的文字 | 下載 artifact 內容 |
檔案內容端點會以分塊二進位回應串流原始上傳檔案,並帶有以下標頭:
Content-Disposition: attachment; filename*=utf-8''<percent-encoded filename> 以 RFC 5987 擴充格式攜帶原始上傳檔案名稱。所有檔案名稱都使用擴充格式,而非僅限於非 ASCII 檔名。Content-Type 攜帶上傳檔案的 MIME 類型。Content-MD5 攜帶檔案的 MD5 摘要,依 RFC 1864 規範以 base64 編碼。Transfer-Encoding: chunked 一律設定。file_id="claude_file_01UaT9wBcDfGhJkLmNpQrSv7"
curl --fail-with-body -sS -OJ \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
"https://api.anthropic.com/v1/compliance/apps/chats/files/$file_id/content"-OJ 旗標指示 curl 以 Content-Disposition 中的檔案名稱儲存回應,即使用者上傳的原始檔案名稱。
Artifact 內容端點會回傳單一 artifact 版本的文字內容。請傳入助理訊息 artifacts 陣列中某個項目的 version_id,而非 artifact 的固定 id。Artifact 的每個新版本都有自己的 version_id,Compliance API 會提供該版本的確切位元組內容。
專案將相關對話與自訂指示、知識庫內容,以及附加的檔案或文字文件組合在一起。Compliance API 公開專案中繼資料、專案詳細資訊,以及屬於專案的附件清單。
專案結果依建立日期遞增排序。附件結果依 created_at 遞增排序,相同時間則依 id 排序。專案列表和附件列表回應使用不透明的 next_page 頁面權杖進行分頁,而非對話和 Activity Feed 所使用的 first_id/last_id 游標。在下一個請求中將該權杖作為 page 查詢參數傳回即可。
專案附件有兩種不同的形式,由每個項目上的 type 識別欄位區分:
type 為 project_file 的項目是二進位上傳檔案(PDF、圖片、試算表),其 ID 以 claude_file_ 開頭;請使用下載檔案內容下載。type 為 project_doc 的項目是純文字文件(一律為 text/plain),其 ID 以 claude_proj_doc_ 開頭;請使用取得專案文件內容擷取。
遍歷附件清單的使用者必須依 type 分支處理,並針對每個項目呼叫對應的內容端點。以下請求會列出一頁附件;將 next_page 作為 page 參數傳回以進行分頁,直到 has_more 為 false 為止。
project_id="claude_proj_01KGp4eZNug9ri4kE35RSppq"
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/apps/projects/$project_id/attachments" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"{
"data": [
{
"id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
"created_at": "2026-04-10T08:09:10Z",
"filename": "dashboard_mockup_v1.pdf",
"mime_type": "application/pdf",
"type": "project_file"
},
{
"id": "claude_proj_doc_01YnT8sBcWvUtXzQpMkRfDgH",
"created_at": "2026-04-10T08:09:11Z",
"filename": "requirements.md",
"mime_type": "text/plain",
"type": "project_doc"
}
],
"has_more": false,
"next_page": null
}每次成功的刪除都是永久且立即生效的。沒有復原期限。
Compliance API 公開對話、檔案、專案文件和整個專案的硬刪除端點。硬刪除的對話無法還原,且之後不會再出現在列表回應中(而從 claude.ai 軟刪除的對話仍會出現,且 deleted_at 欄位會有值)。
這四個端點都需要 delete:compliance_user_data 範圍,此範圍在建立 Compliance Access Key 時與讀取範圍分開授予。
以下請求會刪除一個對話。其他刪除端點適用相同的模式;僅 URL 不同。
# 警告:此操作會永久刪除該對話、其所有訊息,
# 以及任何附加檔案。刪除會立即生效且無法復原。
# 此操作需要 `delete:compliance_user_data` 權限範圍,該權限在建立
# Compliance Access Key 時與 `read:compliance_user_data` 分開授予。
# 執行此操作前,請確保您已取得明確授權。
chat_id="claude_chat_01H5CWunD7RpVJ5bHa8RCkja"
curl --fail-with-body -sS -X DELETE \
"https://api.anthropic.com/v1/compliance/apps/chats/$chat_id" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"{
"id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
"type": "claude_chat_deleted"
}每次成功的刪除都會回傳一個小型確認封包,包含 id 和 type 識別欄位。對話端點會回傳 claude_chat_deleted;在將刪除視為已確認之前,請先檢查 type 欄位。其他端點回傳的確切 type 值,請參閱各刪除端點 API 參考頁面上的回應結構描述。
若專案仍有任何對話附加其上,則無法刪除該專案。API 會回傳 409 並附帶以下內容:
{
"error": {
"type": "conflict_error",
"message": "The \"claude_proj_01KGp4eZNug9ri4kE35RSppq\" project cannot be deleted as it has chats attached to it. Delete or detach all chats, and try deleting the project again."
}
}若要解決此問題,請使用 GET /v1/compliance/apps/chats?user_ids[]={user_id}&project_ids[]={project_id} 列出專案的對話(對話列表端點需要至少一個 user_ids[] 值;請透過列出組織使用者列舉 ID),使用 DELETE /v1/compliance/apps/chats/{claude_chat_id} 刪除每個對話(或從 claude.ai 將其移出專案),然後重試專案刪除。
claude_artifact_version_* ID |
| 僅 artifact 版本的中繼資料 |
| 取得 artifact 中繼資料 |
claude_proj_doc_* ID | 專案文件的純文字內容 | 取得專案文件內容 |
claude_proj_doc_* ID | 僅專案文件的中繼資料 | 取得專案文件中繼資料 |