Compliance APIはリクエストに応じて有効化されます。Claude Enterprise組織はAPI全体にアクセスできます。Claude Console組織はアクティビティフィード(このページ)のみにアクセスできます。Compliance APIへのアクセスを取得するを参照してください。
必要なスコープ: Compliance Access KeyまたはAdmin APIキーのread:compliance_activities。
このスコープを持つCompliance Access Key(sk-ant-api01-...)とAdmin APIキー(sk-ant-admin01-...)の両方がアクティビティフィードを呼び出すことができます。各キータイプがこのスコープを持つ条件については、Compliance APIへのアクセスを取得するを参照してください。
アクティビティフィードは、組織内で発生するすべての認証、チャット、ファイル、プロジェクト、管理、およびプラットフォームのアクションを、新しい順に記録します。アクティビティは発生から1分以内にクエリ可能になり、6年間保持されます。
curl --fail-with-body -sS \
"https://api.anthropic.com/v1/compliance/activities?limit=1" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"{
"data": [
{
"id": "activity_01XyDMpzjS89pFZXqSFUBDr6",
"created_at": "2026-04-10T08:09:10Z",
"organization_id": "org_01Wv6QeBcDfGhJkLmNpQrSt8",
"organization_uuid": "abcdef01-2345-6789-abcd-ef0123456789",
"actor": {
"type": "user_actor",
"email_address": "[email protected]",
"user_id": "user_01TuVwXyZaBcDeFgH2JkLmN4",
"ip_address": "192.0.2.34",
"user_agent": "Mozilla/5.0..."
},
"type": "claude_chat_created",
"claude_chat_id": "claude_chat_01XyDMpzjS89pFZXqSFUBDr6",
"claude_project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq"
}
],
"has_more": true,
"first_id": "activity_01XyDMpzjS89pFZXqSFUBDr6",
"last_id": "activity_01XyDMpzjS89pFZXqSFUBDr6"
}組織、アクター、アクティビティタイプ、またはドット付きサブパラメータcreated_at.gte、.gt、.lte、.ltを使用したcreated_atの時間範囲でフィルタリングします。各パラメータの型と受け入れられる値については、APIリファレンスを参照してください。
繰り返し可能なパラメータは配列ブラケットのクエリ構文を使用します。各値ごとにactivity_types[]=...、actor_ids[]=...、またはorganization_ids[]=...を1回ずつ渡します。
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/activities" \
--data-urlencode "activity_types[]=claude_file_uploaded" \
--data-urlencode "activity_types[]=claude_chat_created" \
--data-urlencode "created_at.gte=2026-04-01T00:00:00Z" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"アクティビティフィードは数百種類の異なるアクティビティタイプを生成します。activity_types[]が受け入れる値の完全なリストについては、APIリファレンスのコンプライアンスアクティビティのクエリを参照してください。
アクティビティは新しい順に返され、created_atが同じ場合はアクティビティIDで順序が決定され、各レスポンスでlimit件の結果に制限されます(デフォルト100、最大5,000)。完全なレスポンススキーマについては、APIリファレンスを参照してください。
Compliance APIは、エンドポイントファミリーに応じて2つのページネーション方式を使用します。
| エンドポイントファミリー | ソート順 | 方式 | パラメータ |
|---|---|---|---|
| アクティビティ | 新しい順 | カーソル | after_id、before_id(first_id、last_idとして返される) |
| チャットおよびチャットメッセージ | 古い順 | カーソル | after_id、before_id(first_id、last_idとして返される) |
| プロジェクト、プロジェクト添付ファイル、ユーザー、ロール、ロール権限、グループ、グループメンバー | エンドポイント固有 | ページトークン | page(next_pageとして返される) |
組織とファイルはページネーションされません。組織の一覧取得はすべての結果を1つのレスポンスで返し、ファイルはIDで個別に取得されます。
ページネーションカーソルとページトークンは不透明な文字列です。変更せずにそのまま渡してください。内部形式は安定しておらず、解析すると予告なく動作しなくなります。各リクエストで設定できるのはafter_idまたはbefore_idのいずれか一方のみで、両方の方式ともhas_moreを返すため、いつ停止すべきかがわかります。
アクティビティをページングするには:
last_idをafter_idとして渡し、結果順で次のページに進みます。アクティビティは新しい順にソートされているため、次のページにはより古いエントリが含まれます。first_idをbefore_idとして渡すと、前のページに戻ります。has_moreがfalseになったら停止します。カーソルパラメータはページの方向を設定し、エンドポイントのソート順は時間の方向を設定します。ここでは同じafter_idパラメータでより古いアクティビティに到達します。チャットは古い順にソートされます。そちらでのカーソルのセマンティクスについては、チャット、ファイル、プロジェクトの取得と削除を参照してください。
カーソルは再試行時に安全に再利用できます。 正常に返されたページのカーソルまたはページトークンは有効なままです。失敗したリクエスト(5xx、タイムアウト、ネットワークエラー)は位置を進めません。同じカーソルで同じリクエストを再試行してください。カーソルが指し示す先のページを保存した後にのみ、次のカーソルに移動してください。
# 最初のページ(最新のアクティビティから順に)を取得し、末尾のカーソルを保持します。
last_id=$(curl --fail-with-body -sS \
"https://api.anthropic.com/v1/compliance/activities?limit=2" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" | jq -er '.last_id')
# カーソルをそのまま渡して、次の(より古い)ページを取得します。
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/activities" \
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--data-urlencode "limit=2" \
--data-urlencode "after_id=${last_id}"本番環境のバックフィルループは、has_moreとlast_idに基づいて反復処理を行い、より古いアクティビティをページングします。
after_idを省略して最初から開始します)。has_moreがfalseになるまでafter_id=<last_id>でページングします。last_idを永続化します。cursor = stored_cursor
loop:
if cursor is not null:
page = GET /v1/compliance/activities?after_id={cursor}&limit=100
else:
page = GET /v1/compliance/activities?limit=100
store(page.data)
if page.last_id is not null:
cursor = page.last_id
if not page.has_more: break
persist(cursor)data内の各エントリは、次のトップレベル構造を持つActivityです。
| フィールド | 型 | 説明 |
|---|---|---|
id | 文字列 | アクティビティの一意の識別子。 |
created_at | RFC 3339文字列 | アクティビティが発生した日時。 |
organization_id | 文字列またはnull | アクティビティが発生した組織。組織に紐付かないイベント(サインイン、サインアウト、Compliance API呼び出し)の場合はnull。 |
organization_uuid | 文字列またはnull | organization_idと同じスコープをUUIDで表現したもの。 |
actor | Actorユニオン | アクティビティを実行した人または対象。次のアクターテーブルを参照してください。 |
type |
actorフィールドは判別ユニオンです。type判別子により、他にどのフィールドが存在するかがわかります。
actor.type | 出現する場合 | 主なフィールド |
|---|---|---|
user_actor | サインイン済みのclaude.aiまたはClaude Consoleユーザーがアクションを実行した場合。 | email_address、user_id、ip_address、user_agent |
api_actor | リクエストが顧客発行のAPIキーでClaude APIまたはCompliance APIを呼び出した場合。Compliance API呼び出しは、Compliance Access KeyとAdmin APIキーの両方でこのアクタータイプを生成します。 | api_key_id、ip_address、user_agent |
admin_api_key_actor | 組織管理者がAdmin APIキーを使用してユーザー、招待、ワークスペース、またはAPIキーを管理した場合。 | admin_api_key_id |
前方互換性のあるハンドラーを構築してください。 認識されないtypeおよびactor.typeの値はそのまま通過させ、ハンドラーが想定していないフィールドは無視してください。これにより、新しいアクティビティタイプがリリースされても統合が動作し続けます。
サポートされているすべてのactivity_types[]値を含む、GET /v1/compliance/activitiesの完全なリクエストおよびレスポンススキーマ。
フィードで見つけたアクティビティの基となるコンテンツをクエリおよび削除します(Compliance Access Keyが必要)。
ポーリングまたはバッチ消費パターンを選択し、SIEM相関を計画します。
完全なエラーカタログ。
Was this page helpful?
| 文字列 |
アクティビティタイプ。例:claude_chat_created。 |
| 追加フィールド | 可変 | タイプ固有のフィールド。例:チャットイベントのclaude_chat_idやファイルイベントのfilename。タイプごとのフィールドリストについては、APIリファレンスのコンプライアンスアクティビティのクエリを参照してください。 |
unauthenticated_user_actor | サインインが完了する前にアクションが発生した場合。例:sso_login_initiated。 | unauthenticated_email_address、ip_address、user_agent |
anthropic_actor | Anthropicが組織に対してアクションを実行した場合。例:内部ツールを通じて。 | email_address(常にnull。Anthropicのオペレーターは個別のメールアドレスで表現されないため、user_actorとの構造の一貫性のために存在) |
scim_directory_sync_actor | IDプロバイダー(Okta、Microsoft Entra ID、JumpCloudなど)がSCIMディレクトリ同期を通じて変更をプッシュした場合。 | workos_event_id、directory_id、idp_connection_type(null許容。例:OktaSCIMV2、AzureSCIMV2) |