• 消息
  • 托管智能体
  • 管理
Search...
⌘K
组织
管理 API工作区
身份验证
概览工作负载身份联合WIF 参考
监控
用量与成本 API速率限制 APIClaude Code 分析 API
数据与合规
数据驻留API 与数据保留
合规 API
概览获取访问权限活动动态聊天、文件和项目组织、用户、角色和群组设计您的集成错误常见问题
Log in
聊天、文件和项目
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
管理/合规 API

检索和删除聊天、文件及项目

通过 Compliance API 访问 claude.ai 组织的聊天内容、文件附件和项目。

本页面上的端点用于检索和删除 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
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"
Response
{
  "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 继续调用消息端点:

cURL
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(通常出现在助手消息中):

Response
{
  "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

文件和 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 始终被设置。
cURL
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。

cURL
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"
Response
{
  "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 字段会被填充)。

  • 删除聊天:同时删除该聊天的消息以及附加到这些消息的所有文件。
  • 删除文件:同时处理聊天文件和项目文件。
  • 删除项目文档:按 ID 删除单个项目文档。
  • 删除项目:请参阅删除项目前先分离聊天。

所有四个端点都需要 delete:compliance_user_data 权限范围,该权限范围在创建 Compliance Access Key 时与读取权限范围分开授予。

以下请求删除一个聊天。相同的模式适用于其他删除端点;只需更改 URL。

cURL
# 警告:此操作将永久删除该对话、其中的所有消息
# 以及所有附加文件。删除会立即生效且无法撤销。此操作
# 需要 `delete:compliance_user_data` 权限范围,该权限在创建合规访问密钥时
# 与 `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"
Response
{
  "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 中将其移出项目),然后重试项目删除。

后续步骤

API 参考

每个聊天、文件、项目和 artifact 端点的完整请求和响应架构。

列出组织、用户、角色和群组

枚举与本页面上的聊天和项目相关联的人员和团队。

Was this page helpful?

  • 检索聊天和消息
  • 检索文件和 artifacts
  • 检索项目和附件
  • 项目文件与项目文档
  • 删除内容
  • 删除项目前先分离聊天
  • 后续步骤
claude_artifact_version_* ID
仅 artifact 版本的元数据
获取 artifact 元数据
claude_proj_doc_* ID项目文档的纯文本内容获取项目文档内容
claude_proj_doc_* ID仅项目文档的元数据获取项目文档元数据