Compliance APIを有効にするには、Compliance APIのセットアップを参照してください。
このページでは、ドキュメント化された各Compliance APIエンドポイントが返すレスポンスメッセージ、その原因、および修正方法を一覧で示します。
Compliance APIは、標準のAnthropicエラー形式でエラーを返します。これは、2xx以外のステータスコード、request-idレスポンスヘッダー、およびtypeとmessageを含むerrorオブジェクトを持つJSONボディで構成されます。サポートにエスカレーションする際は、request-idヘッダーの値を含めてください。
{
"error": {
"type": "authentication_error",
"message": "The API key provided is invalid or has been revoked."
}
}メッセージ文字列ではなく、error.typeでマッチングしてください。メッセージはランブックにコピーできる程度に安定していますが、時間の経過とともに文言が変更される可能性があります。type値はAPI契約の一部です。
次の表では、リトライすべきかどうかを一目で確認できます。続く各セクションでは、エラーボディの原文と修正方法を示します。
| ステータス | リトライ? | 条件 |
|---|---|---|
| 400 Bad Request | いいえ | リクエストを修正して再送信します。 |
| 401 Unauthorized | いいえ | キーを修正またはローテーションしてから再送信します。 |
| 403 Forbidden | いいえ | 不足しているスコープを追加するか、正しいキータイプを使用してから再送信します。 |
| 404 Not Found | いいえ | リソースが削除されたか、そもそも存在しませんでした。キューから削除してください。 |
| 409 Conflict | いいえ | リクエストがリソースの現在の状態と競合しています。競合を解決(子リソースのデタッチなど)してからリトライします。 |
| 429 Too Many Requests | はい、retry-afterの後 | retry-afterの秒数だけ待ってからリトライします。カーソルを進めないでください。 |
| 500 Internal Server Error | x-should-retryによる | リトライする前にx-should-retryレスポンスヘッダーを確認します。 |
| 502, 503, 504, 529 | はい、バックオフ付きで | 一時的なものです。指数バックオフでリトライします。 |
リクエストは構文的には有効でしたが、サーバーが拒否したパラメータが含まれていました。パラメータを修正してリトライしてください。
Type: invalid_request_error
The `created_at.gte` parameter contains an invalid timestamp format. Timestamps must be provided in RFC 3339 format e.g., "2024-03-01T00:00:00Z". Got "2024-01-01".原因: created_at.*またはupdated_at.*の値(.gte、.gt、.lte、.lt)をdatetimeとして解析できませんでした。メッセージには、失敗したパラメータ名と送信された値が示されます。
修正: 時刻とタイムゾーンを含む完全なRFC 3339タイムスタンプを送信してください。例:2024-03-01T00:00:00Zまたは2024-03-01T00:00:00+00:00。
Type: invalid_request_error
The limit parameter must be between 1 and 1000, inclusive. Got 1500.原因: limitクエリパラメータが許容範囲外でした。メッセージに示される上限は、呼び出された特定のエンドポイントの最大値を反映しています。
修正: エンドポイントが受け入れる範囲内のlimitを送信してください。各リストエンドポイントには独自のlimit範囲があります。対応するCompliance APIリファレンスページのパラメータ制約を参照してください。
Type: invalid_request_error
Invalid `after_id`. No activity found for `after_id` "activity_invalid123"原因: after_idまたはbefore_idカーソルを不透明なカーソルとしてデコードできなかったか、アクティビティIDとして解析できませんでした。
修正: ページネーションカーソルは不透明な文字列として扱ってください。常に前のページで返されたfirst_idまたはlast_idの値をコピーし、has_moreがfalseになったら停止してください。オブジェクトIDからカーソルを構築しないでください。
ディレクトリおよびプロジェクトの各エンドポイント(組織、ユーザー、ロール、ロール権限、グループ、グループメンバー、プロジェクト、プロジェクト添付ファイル)は、after_idとbefore_idではなく不透明なpageトークンでページネーションします。同じアドバイスが適用されます。前のレスポンスのnext_page値をそのまま渡し、has_moreがfalseになったら停止してください。不正な形式のpageトークンは、不正な形式のafter_idやbefore_idと同じ400 invalid_request_errorを返します。
x-api-keyヘッダーが欠落しているか、既知のキーと一致しませんでした。有効なキーでもスコープが間違っている場合は、代わりに403 Forbiddenが返されます。
Type: authentication_error
The API key provided is invalid or has been revoked.原因: x-api-key内のキーが存在しないか、削除されたか、無効化されています。x-api-keyヘッダーが欠落しているか空の場合も同じボディが返されるため、シークレットストアとキーの失効ステータスの両方を確認してください。
修正: キーの値を確認し、claude.ai(Compliance Access Key)またはClaude Console(Admin APIキー)で削除されていないことを確認し、有効になっていることを確認してください。Compliance APIのセットアップを参照してください。
x-api-key内のキーは有効ですが、エンドポイントが必要とするスコープを持っていません。エラーメッセージの原文には、キーが持つスコープ(Got:)とエンドポイントが必要とするスコープ(Needed:)が列挙されるため、Claude Consoleやclaude.aiを再確認しなくてもキーが持つスコープを確認できます。Compliance Access Keyのスコープは作成後に変更できないため、スコープ不足の各修正方法では、既存のキーを編集するのではなく新しいキーを作成するよう案内しています。
Type: permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['read:compliance_activities']原因: read:compliance_activitiesを持たないキーでGET /v1/compliance/activitiesが呼び出されました。このエラーに至る一般的な経路は2つあります。
sk-ant-api01-...)がread:compliance_activitiesスコープなしで作成された。sk-ant-admin01-...)が、組織でCompliance APIが有効化される前に作成された。有効化前に作成されたキーはこのスコープを持ちません。Compliance APIのセットアップを参照してください。修正: Compliance Access Keyのスコープは作成後に変更できません。read:compliance_activitiesを含む新しいキーを作成するか、Claude Console Admin APIキーを使用してください。Admin APIキーがこのスコープを持つ条件については、どのキーが必要ですか?を参照してください。
Type: permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['read:compliance_org_data']原因: read:compliance_org_dataを持たないキーで、組織、ロール、グループ、または有効設定のエンドポイントが呼び出されました。このエラーに至る一般的な経路は2つあります。
sk-ant-api01-...)がread:compliance_org_dataスコープなしで作成された。sk-ant-admin01-...)が使用された。Admin APIキーはread:compliance_activitiesのみを持ち、組織メタデータを読み取ることはできません。修正: read:compliance_org_dataを選択して新しいCompliance Access Keyを作成してください。Admin APIキーは組織メタデータを読み取れません。Compliance Access Keyが必要です。
Type: permission_error
Missing required scopes. Got: ['read:compliance_org_settings'] Needed: ['read:compliance_org_data']原因: read:compliance_org_settingsスコープは2026年6月30日に廃止されました。GET /v1/compliance/organizations/{organization_id}/settingsは現在、他の組織エンドポイントと同じスコープであるread:compliance_org_dataを必要とし、廃止されたスコープはもはや何も認可しません。read:compliance_org_settingsのみを持つCompliance Access Keyは、廃止前には機能していたとしても、設定エンドポイントへのすべての呼び出しでこのエラーを返します。廃止されたスコープは、キー作成時に選択または付与できなくなりました。
修正: Compliance Access Keyのスコープは作成後に変更できません。read:compliance_org_dataを選択して新しいCompliance Access Keyを作成し、インテグレーションを更新してそれを使用するようにしてから、古いキーを削除してください。すでにread:compliance_org_dataを持つキーは、この廃止の影響を受けません。
Type: permission_error
Missing required scopes. Got: ['read:compliance_activities'] Needed: ['read:compliance_user_data']原因: read:compliance_user_dataを持たないキーで、チャット、メッセージ、ファイル、プロジェクト、組織ユーザー、またはグループメンバーのエンドポイントが呼び出されました。このエラーに至る一般的な経路は2つあります。
sk-ant-api01-...)がread:compliance_user_dataスコープなしで作成された。sk-ant-admin01-...)が使用された。Admin APIキーはread:compliance_activitiesのみを持ち、read:compliance_user_dataを付与できないため、チャット、ファイル、プロジェクト、プロジェクト添付ファイル、ユーザー、またはグループメンバーのエンドポイントを呼び出せません。修正: read:compliance_user_dataを選択してclaude.aiで作成したCompliance Access Keyを使用してください。リクエストが本当にActivity Feedのみで済む場合は、代わりにAdmin APIキーをGET /v1/compliance/activitiesに向けてください。
Type: permission_error
Missing required scopes. Got: ['read:compliance_user_data'] Needed: ['delete:compliance_user_data']原因: delete:compliance_user_dataを持たないCompliance Access Keyで、チャット、ファイル、またはプロジェクトのDELETEエンドポイントが呼び出されました。
修正: delete:compliance_user_dataを選択して新しいCompliance Access Keyを作成してください。削除スコープはread:compliance_user_dataとは別になっており、読み取り専用の監査キーがコンテンツを削除できないようになっています。
エンドポイントは解決されましたが、リソースIDが存在しないか、すでに削除されています。Compliance APIの削除は即時かつ永続的であるため、以前に存在が確認されていたIDに対する404は、通常、コンテンツがCompliance APIの削除呼び出しによってハード削除されたか、保持ポリシーによって削除されたことを意味します。各修正方法で引用されているアクティビティタイプ文字列(例:claude_chat_created)は、Activity Feedのactivity_types[]フィルターに渡せる値です。サポートされているすべての値については、コンプライアンスアクティビティのクエリを参照してください。
Type: not_found_error
Chat claude_chat_01H5CWunD7RpVJ5bHa8RCkja not found.原因: パス内のチャットIDが、Compliance APIを通じて読み取り可能なチャットと一致しません。チャットは、以前のCompliance API呼び出しによってハード削除されたか、組織の保持ポリシーによって削除されたか、または呼び出し元のキーが読み取れない組織に属している可能性があります。ユーザーがclaude.aiでソフト削除したチャットは404を返しません。それらはdeleted_atが設定された状態で読み取り可能なままです。
修正: 最近のclaude_chat_createdまたはclaude_chat_viewedアクティビティと照合してチャットIDを確認してください。アクティビティが最近のもので、それでも読み取りが失敗する場合、そのチャットは(このAPIまたは保持ポリシーの期限切れによって)ハード削除されたか、キーのスコープ外の組織に属しています。
Type: not_found_error
No file found with provided id, or it has already been deleted.原因: ファイルIDが存在しないか、削除されています。このエラーは、チャットに添付されたファイル(claude_file_...)とプロジェクトファイルの両方に適用されます。
修正: 最近のclaude_file_uploadedまたはclaude_file_deletedアクティビティと照合してください。ファイルが削除されている場合、バイナリは失われています。アクティビティレコードは6年間の保持期間中、フィードに残ります。
Type: not_found_error
No project is found with the provided id.原因: プロジェクトIDが存在しないか、削除されています。
修正: 最近のclaude_project_createdまたはclaude_project_deletedアクティビティと照合してください。Activity Feedは、プロジェクト自体が削除された後も、プロジェクトのライフサイクルイベントを引き続き公開します。
Type: not_found_error
No project document found with provided id, or it has already been deleted.原因: プロジェクトドキュメントIDが存在しないか、削除されています。このエラーはテキストプロジェクトドキュメント(claude_proj_doc_...)に適用され、プロジェクトファイルには適用されません。
修正: GET /v1/compliance/apps/projects/{project_id}/attachmentsを使用して現在の添付ファイルを一覧表示してください。ドキュメントが見つからない場合は削除されています。メタデータのみが必要な場合は、claude_project_document_uploadedアクティビティレコードを通じて取得してください。
Type: not_found_error
The "ce86b5f3-7c16-48b3-a9f3-e1d2c4b8a0f1" organization does not exist or the requester is not authorized to access it.組織、ロール、グループの各エンドポイントは、標準のエラー形式で404 not_found_errorを返します。組織のメッセージにはorg_uuidが示されます。ロールとグループのメッセージは汎用的です(Role not found.、Group not found.)。これは、パスID(org_uuid、role_id、またはgroup_id)が存在しないか、呼び出し元のキーが読み取れるツリーにもはや属していない場合に発生します。
原因: パス内のIDが、Compliance APIを通じて読み取り可能なレコードと一致しません。ロールとグループは削除される可能性があり、組織は親ツリーからリンク解除される可能性があります。
修正: 対応するリストエンドポイントでIDを確認し、Activity Feed内の最近の組織、ロール、またはグループのアクティビティと照合してください。
Type: not_found_error
organization `91012d09-e48b-438e-a489-1bebfd8fa6f9` not found in this organization's hierarchy原因: GET /v1/compliance/organizations/{organization_id}/settingsは、組織の存在をレスポンスから推測できないよう意図的に同じボディを共有する3つのケースでこの404を返します。organization_idが親組織にリンクされた組織のいずれでもない場合、値が有効なUUIDでない場合、または設定エンドポイントが親組織でまだ有効化されていない場合です。
修正: 組織の一覧表示でIDを確認してください。正しいことが分かっている組織IDでも404が返される場合、設定エンドポイントは親組織でまだ有効化されていません。Anthropicの担当者にお問い合わせください。
リクエストは正しい形式で認可されていますが、リソースの現在の状態と競合しています。
Type: conflict_error
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.原因: まだチャットが添付されているプロジェクトに対してDELETE /v1/compliance/apps/projects/{project_id}が呼び出されました。
修正: 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}でそれぞれを削除してから、プロジェクトの削除をリトライしてください。
Compliance APIへのリクエストは、親組織ごとに1分あたり600リクエストに制限されています。この制限は、親組織配下のすべてのキー(Compliance Access Keyおよびリンクされたすべての組織のAdmin APIキー)と、すべての/v1/compliance/*エンドポイントで共有される単一の予算です。インテグレーションでより高い制限が必要な場合は、Anthropicの担当者にお問い合わせください。
APIキーが認証されると、すべてのCompliance APIレスポンスには標準のレート制限レスポンスヘッダーが含まれるため、クライアントは429を待つのではなく、事前にスロットリングできます。
anthropic-ratelimit-requests-limitは、親組織の1分あたりのリクエスト予算です。anthropic-ratelimit-requests-remainingは、現在のウィンドウで残っている予算です。anthropic-ratelimit-requests-resetは、ウィンドウがリセットされて予算が全額回復するRFC 3339タイムスタンプです。429レスポンスには、次のリクエストを送信するまでに待機すべき秒数を示すretry-afterヘッダーも含まれます。この値にはanthropic-ratelimit-requests-resetを超える小さな安全マージンが含まれる場合があります。retry-afterに従ってください。
HTTP/1.1 429 Too Many Requests
date: Tue, 21 Apr 2026 14:38:02 GMT
retry-after: 25
anthropic-ratelimit-requests-limit: 600
anthropic-ratelimit-requests-remaining: 0
anthropic-ratelimit-requests-reset: 2026-04-21T14:38:25Z{
"error": {
"type": "rate_limit_error",
"message": "Compliance API rate limit of 600 requests per minute per parent organization has been exceeded. Retry after the time indicated by the retry-after header. Quote the request-id response header when contacting Anthropic support."
}
}原因: 親組織が、そのすべてのキーとリンクされた組織全体で、1分間のウィンドウ内に/v1/compliance/*へ600を超えるリクエストを送信したためです。
修正: retry-afterヘッダーの秒数だけ待ってからリトライしてください。ヘッダーがない場合(たとえば、中間プロキシによって削除された場合)は、指数バックオフ(1秒から開始し、60秒まで倍増)にフォールバックしてください。429の際にページネーションカーソルを進めないでください。失敗したリクエストはデータを返していないため、最後に成功したページのカーソルが引き続き正しいものです。
認証に失敗したリクエスト(キーが欠落しているか認識されない、またはCompliance Access KeyやAdmin APIキーではなくClaude APIキーが使用された場合)は、レートリミッターの前に拒否され、クォータを消費しません。エンドポイントが必要とするスコープを持たない有効なキーは、403が返される前に1クォータ単位を消費します。
Activity Feedをスケジュールに従ってポーリングする場合は、(すべてのキー、リンクされた組織、並行ワーカーにわたる)合計リクエストレートを親組織の制限未満に抑えてください。anthropic-ratelimit-requests-remainingを監視して、制限に達する前に速度を落としてください。ウィンドウポーリングとカーソル駆動型インジェストの選択については、コンプライアンスインテグレーションの設計を参照してください。
Compliance APIからの500は、失敗が決定論的である場合、x-should-retry: falseレスポンスヘッダーを伴います。Anthropic SDKはこのヘッダーを自動的に尊重します。すべての5xxでリトライする汎用HTTPリトライライブラリを使用している場合は、x-should-retryがfalseのときにリトライを抑制してください。このエラーをリトライしても、毎回同じように失敗します。
x-should-retry: falseヘッダーのない500は一時的なものです。指数バックオフ(1秒から開始し、60秒まで倍増)でリトライしてください。502、503、504、529レスポンスにも同じことが当てはまります。プラットフォーム全体のリトライセマンティクスについては、エラーを参照してください。
サービス全体のインシデントについては、status.anthropic.comを確認してください。
Was this page helpful?