Compliance APIはリクエストに応じて有効化されます。Claude Enterprise組織はAPI全体にアクセスできます。Claude Console組織はアクティビティフィードのみにアクセスできます。詳細は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 |
リクエストは構文的には有効でしたが、サーバーが拒否したパラメータが含まれていました。パラメータを修正して再試行してください。
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 Keys)または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が有効化される前に作成された。有効化前に作成されたキーはこのスコープを持ちません。有効化後:Claude Console組織を参照してください。修正方法: 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_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を付与できないため、チャット、ファイル、プロジェクト、プロジェクト添付ファイル、ユーザー、またはグループメンバーのエンドポイントを呼び出すことはできません。修正方法: claude.aiでread:compliance_user_dataを選択して作成した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: 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}でプロジェクトのチャットを一覧表示し(チャットリストエンドポイントには少なくとも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を確認してください。
Type: api_error
Response exceeds maximum of 1,000 organizations. Contact support for assistance with larger organization lists.原因: ページネーションのないリストエンドポイント(特にGET /v1/compliance/organizations)が、ハードキャップである1,000レコードを超えて返そうとしました。
修正方法: 組織エンドポイントは、リンクされた組織が最大1,000件まで、1回の呼び出しでツリー全体を返します。ツリーが1,000を超える場合は、より大きな組織リストへの対応についてAnthropicサポートにお問い合わせください。組織メンバーシップの変更を追跡するためにこのエンドポイントをポーリングしていた場合、上限の問題が解決された後も、定期的な再リスト取得が最も信頼性の高いアプローチです。これにより、親子関係のどちら側が開始したかに関係なく、追加と削除を検出できます。Activity Feedも、org_deletion_requested、org_deleted_via_bulk、org_parent_join_proposal_created、およびorg_join_proposal_decidedアクティビティタイプを通じてメンバーシップイベントを公開しており、次のポーリング間隔を待つ代わりに、これらを使用して即座に再リスト取得をトリガーできます。
Was this page helpful?
x-should-retryに依存 |
再試行する前にx-should-retryレスポンスヘッダーを確認します。 |
| 502, 503, 504, 529 | はい、バックオフ付き | 一時的なエラーです。指数バックオフで再試行します。 |