このページのエンドポイントはclaude.aiのコンテンツを取得および削除するもので、Compliance APIへのセルフサービスアクセスを持つClaude Enterprise組織のみが利用できます。Compliance APIのセットアップを参照してください。
必要なスコープ: Compliance Access Keyのread:compliance_user_data。削除エンドポイントにはdelete:compliance_user_dataも必要です。
前提条件: 組織全体のチャットを一覧表示する場合は不要です。チャットのリストを特定のユーザーに絞り込むには、組織ユーザーの一覧表示から取得したユーザーIDが必要です。このページの他のエンドポイントは、リソースIDを直接受け取ります。
このページのエンドポイントは、claude.aiのチャットコンテンツ、ファイルアップロード、プロジェクト、プロジェクト添付ファイルをコンプライアンス担当者に公開します。これらは「eDiscovery」(電子情報開示)エクスポート、「data loss prevention」(データ損失防止)、すなわちDLPの適用、アカウント削除への対応をサポートします。コンテンツは、組織の保持ポリシーが許す限り保持されます。ユーザーがclaude.aiでソフト削除したチャットは、deleted_atが設定された状態でCompliance APIを通じて引き続き表示されます。ハード削除されたチャット(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を返します。
このページのエンドポイントは2つの方法でページネーションを行います。完全なリファレンスについては結果のページネーションを参照してください。各セクションでどちらの方式が適用されるかを記載しています。
チャットの一覧表示を使用してチャットのメタデータをページングし、次にチャットメッセージの取得を使用して1つのチャットの完全なメッセージコンテンツを取得します。
チャット一覧エンドポイントはデフォルトで組織全体のスコープになります。user_ids[]を省略すると、親組織配下のすべてのチャットが含まれます。order_by=updated_atを追加すると、最終更新時刻でソートされます。この組み合わせは、チャットをエクスポートしてエクスポートを最新の状態に保つための推奨される方法です。1つのページネーションループで、ユーザーを先に列挙することなく、すべてのユーザーの新規チャットと変更されたチャットの両方を取得できるためです。次のリクエストは、指定した日付以降に更新されたチャットを一覧表示します。
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/apps/chats" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--data-urlencode "order_by=updated_at" \
--data-urlencode "updated_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-5",
"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": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9",
"last_id": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9"
}結果はorder_byフィールドで昇順(最も古いものが先頭)にソートされ、同値の場合はidで順序が決まります。ページネーションには、結果のページネーションで説明されている標準のfirst_id/last_id/has_moreカーソルフィールドを使用します。より新しいチャットに向かって前方に進むには、レスポンスのlast_idを次のリクエストのafter_idとして渡します。
この前方への走査は、実行をまたいでエクスポートを最新の状態に保つ方法でもあります。最終ページのlast_idを永続化し、次の実行時にafter_idとしてそこから再開します。リストはupdated_atで順序付けられているため、保存したカーソルより後に変更されたチャットはカーソルより先に再び現れます。そのため、各増分実行では、新規チャットと、その後変更された古いチャットの両方が返されます。こうした再出現に対応するため、チャットのidをキーとして結果を冪等に処理してください。
これらの組織全体のクエリにはいくつかの制約があります。カーソルは不透明でソートキーに紐付いているため、あるorder_by値で発行されたafter_idは、別の値では400エラーで拒否されます。時間フィルターの境界もソートキーと一致する必要があります。updated_at.*の境界はorder_by=updated_atと、created_at.*の境界はデフォルトのorder_by=created_atと組み合わせてください。before_idによる後方ページネーションはサポートされておらず、project_ids[]フィルターは利用できません。完全なフィルターリファレンスについてはチャットの一覧表示を参照してください。
代わりにリストを特定のユーザーにスコープするには(たとえば、指名された保管者に対するリーガルホールド)、1〜10個のuser_ids[]値を渡します。IDは組織ユーザーの一覧表示から取得します。ユーザーでフィルターされたクエリは常にcreated_atでソートされ(order_by=updated_atを渡すと400エラーが返されます)、after_idとbefore_idの両方をサポートします。project_ids[]によるフィルタリングは、このユーザーフィルター形式でのみ利用できます。
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 "created_at.gte=2025-06-01T00:00:00Z" \
--data-urlencode "limit=100"一覧レスポンスにはチャットのメタデータのみが含まれます。実際のチャットコンテンツ、添付ファイル、インラインのアーティファクト(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を省略すると、完全なメッセージセットが1つのレスポンスで返されます。非常に長いチャットをページングするには、limit、after_id、またはbefore_idを渡します。このエンドポイントは、created_at.*およびupdated_at.*の範囲境界(gt、gte、lt、lte)とorderパラメータ(ascまたはdesc)も受け付けます。完全なパラメータリストについてはチャットメッセージの取得を参照してください。ユーザーメッセージの場合、created_atはメッセージが送信された時刻です。アシスタントメッセージの場合は、Claudeがメッセージの生成を完了した時刻です。各メッセージにはテキストコンテンツが含まれ、存在する場合は、アップロードされたファイル(通常はユーザーメッセージ)、ツールが生成したファイル、アシスタントが生成または更新したアーティファクト(通常はアシスタントメッセージ)も含まれます。
{
"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-5",
"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は、アシスタントがレスポンスで生成または更新したバージョン管理されたドキュメント(たとえば、コードやマークダウン)です。アーティファクトは同じチャット内の複数のアシスタントターンにわたって改訂される可能性があり、各改訂は同じアーティファクトidの下に新しいversion_idとして現れます。各エントリのid(アーティファクトの場合はversion_id)をファイルとアーティファクトの取得の対応するコンテンツエンドポイントに渡してダウンロードします。
ファイルとアーティファクトは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 | 1つのアーティファクトバージョンのテキスト | アーティファクトコンテンツのダウンロード |
claude_artifact_version_* ID | アーティファクトバージョンのメタデータのみ | アーティファクトメタデータの取得 |
claude_proj_doc_* ID | プロジェクトドキュメントのプレーンテキストコンテンツ | プロジェクトドキュメントコンテンツの取得 |
claude_proj_doc_* ID | プロジェクトドキュメントのメタデータのみ | プロジェクトドキュメントメタデータの取得 |
ファイルコンテンツエンドポイントは、元のアップロードを次のヘッダーを持つチャンク化されたバイナリレスポンスとしてストリーミングします。
Content-Disposition: attachment; filename*=utf-8''<percent-encoded filename>は、RFC 5987の拡張形式で元のアップロードファイル名を保持します。拡張形式は、非ASCIIのファイル名だけでなく、すべてのファイル名に使用されます。Content-Typeは、アップロードのMIMEタイプを保持します。Content-MD5は、RFC 1864で規定されているとおりbase64エンコードされたファイルのMD5ダイジェストを保持します。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フラグは、Content-Dispositionのファイル名(ユーザーがアップロードした元のファイル名)でレスポンスを保存するようcurlに指示します。
アーティファクトコンテンツエンドポイントは、1つのアーティファクトバージョンのテキスト本文を返します。アーティファクトの安定したidではなく、アシスタントメッセージのartifacts配列内のエントリの1つから取得したversion_idを渡してください。アーティファクトの新しいバージョンにはそれぞれ独自のversion_idがあり、Compliance APIはそのバージョンの正確なバイト列を提供します。
プロジェクトは、関連するチャットをカスタム指示、ナレッジベースコンテンツ、添付ファイルまたはテキストドキュメントとともにまとめたものです。Compliance APIは、プロジェクトのメタデータ、プロジェクトの詳細、プロジェクトに属する添付ファイルのリストを公開します。
プロジェクトの結果は作成日の昇順でソートされます。添付ファイルの結果はcreated_atの昇順でソートされ、同値の場合はidで順序が決まります。プロジェクト一覧と添付ファイル一覧のレスポンスは、チャットやアクティビティフィードで使用されるfirst_id/last_idカーソルではなく、不透明なnext_pageページトークンでページネーションを行います。次のリクエストでは、このトークンをpageクエリパラメータとして渡します。
プロジェクト添付ファイルは、各エントリのtype識別子によって区別される2つの異なる形式のいずれかです。
typeがproject_fileのエントリは、IDがclaude_file_で始まるバイナリアップロード(PDF、画像、スプレッドシート)です。ファイルコンテンツのダウンロードでダウンロードします。typeがproject_docのエントリは、IDがclaude_proj_doc_で始まるプレーンテキストドキュメント(常にtext/plain)です。プロジェクトドキュメントコンテンツの取得で取得します。
添付ファイルリストを走査するコンシューマーは、typeで分岐し、各エントリに対応するコンテンツエンドポイントを呼び出す必要があります。次のリクエストは添付ファイルの1ページを一覧表示します。has_moreがfalseになるまで、next_pageをpageパラメータとして渡してページネーションを行います。
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が設定された状態で引き続き表示されます)。
4つのエンドポイントすべてにdelete:compliance_user_dataスコープが必要です。このスコープは、Compliance Access Keyの作成時に読み取りスコープとは別に付与されます。
次のリクエストは1つのチャットを削除します。同じパターンが他の削除エンドポイントにも適用されます。変わるのは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リファレンスページのレスポンススキーマを参照してください。
チャットが1つでも添付されている間は、プロジェクトを削除できません。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}でプロジェクトのチャットを一覧表示し(project_ids[]フィルターには少なくとも1つのuser_ids[]値が必要です。IDは組織ユーザーの一覧表示で列挙します)、DELETE /v1/compliance/apps/chats/{claude_chat_id}で各チャットを削除し(またはclaude.aiからプロジェクト外に移動し)、その後プロジェクトの削除を再試行します。
すべてのチャット、ファイル、プロジェクト、アーティファクトエンドポイントの完全なリクエストおよびレスポンススキーマ。
このページのチャットとプロジェクトに関連する人とチームを列挙します。
Was this page helpful?