Claude Platform Docs
관리자Compliance API

Activity Feed 쿼리하기

조직의 Compliance API Activity Feed를 조회하고, 필터링하고, 페이지네이션합니다.

Activity Feed는 조직 전반의 인증, 채팅, 파일, 프로젝트, 관리 및 플랫폼 활동을 기록하고 이를 최신순(역시간순)으로 반환합니다. 활동은 발생 후 1분 이내에 쿼리할 수 있으며 6년간 보존됩니다. 기록은 소급 적용되지 않습니다. 조직에 Compliance API가 처음 활성화된 시점부터 기록이 시작되며, 활성화 이전의 활동은 백필(backfill)되지 않습니다.

cURL
curl --fail-with-body -sS \
  "https://api.anthropic.com/v1/compliance/activities?limit=1" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY"
Response
{
  "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": "user@example.com",
        "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"
}

활동 필터링

조직, 액터(actor), 활동 유형으로 필터링하거나, 점 표기 하위 파라미터 created_at.gte, .gt, .lte, .lt를 사용하여 created_at 시간 범위로 필터링할 수 있습니다. 각 파라미터의 타입과 허용되는 값은 API 레퍼런스를 참조하세요.

반복 가능한 파라미터는 배열 대괄호 쿼리 구문을 사용합니다. 각 값마다 activity_types[]=..., actor_ids[]=... 또는 organization_ids[]=...를 한 번씩 전달하세요.

cURL
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 Feed는 수백 가지의 서로 다른 활동 유형을 생성합니다. activity_types[]가 허용하는 값의 전체 목록은 API 레퍼런스의 컴플라이언스 활동 쿼리하기를 참조하세요.

결과 페이지네이션

활동은 최신 항목부터 반환되며, created_at이 동일한 경우 활동 ID로 순서가 결정되고, 각 응답은 최대 limit개의 결과로 제한됩니다(기본값 100, 최대 5,000). 전체 응답 스키마는 API 레퍼런스를 참조하세요.

Compliance API는 엔드포인트 계열에 따라 두 가지 페이지네이션 방식을 사용합니다.

엔드포인트 계열정렬 순서방식파라미터
활동(Activities)최신순커서after_id, before_id (first_id, last_id로 반환됨)
채팅 및 채팅 메시지오래된 순커서after_id, before_id (first_id, last_id로 반환됨)
조직, 프로젝트, 프로젝트 첨부 파일, 사용자, 역할, 역할 권한, 그룹, 그룹 멤버엔드포인트별 상이페이지 토큰page (next_page로 반환됨)
로컬 및 원격 세션과 세션 메시지세션은 최신순, 메시지는 기본적으로 오래된 순페이지 토큰page (next_page로 반환됨)

파일은 페이지네이션되지 않으며, ID로 개별 조회합니다.

페이지네이션 커서와 페이지 토큰은 불투명한(opaque) 문자열이므로 변경 없이 그대로 다시 전달하세요. 내부 형식은 안정적이지 않으며, 이를 파싱하면 예고 없이 동작이 깨질 수 있습니다. 각 요청에는 after_idbefore_id 중 하나만 설정할 수 있으며, 두 방식 모두 has_more를 반환하므로 언제 멈춰야 하는지 알 수 있습니다. 세션 엔드포인트(로컬 및 원격)는 예외입니다. 이들은 has_more 없이 next_page를 반환하므로 next_pagenull이면 멈추세요.

활동을 페이지 단위로 순회하려면 다음과 같이 하세요.

  • 응답의 last_idafter_id로 전달하여 결과 순서상 다음 페이지로 이동합니다. 활동은 최신순으로 정렬되므로 다음 페이지에는 더 오래된 항목이 포함됩니다.
  • first_idbefore_id로 전달하여 이전 페이지로 돌아갑니다.
  • has_morefalse이면 멈춥니다.

커서 파라미터는 페이지 방향을 결정하고, 엔드포인트의 정렬 순서는 시간 방향을 결정합니다. 여기서는 동일한 after_id 파라미터로 더 오래된 활동에 도달합니다. 채팅은 오래된 순으로 정렬됩니다. 해당 엔드포인트의 커서 의미론은 채팅, 파일, 프로젝트 조회 및 삭제하기를 참조하세요.

cURL
# 첫 번째 페이지(최신 활동 순)를 가져오고 마지막 커서를 저장합니다.
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}"

프로덕션 백필(backfill) 루프는 has_morelast_id를 기준으로 반복을 진행하여 더 오래된 활동을 페이지 단위로 순회합니다.

  1. 저장된 커서에서 시작합니다(또는 처음부터 시작하려면 after_id를 생략합니다).
  2. has_morefalse가 될 때까지 after_id=<last_id>로 페이지를 순회합니다.
  3. 해당 커서가 포함하는 모든 페이지를 저장한 후에만 최종 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)

Activity 객체 이해하기

data의 모든 항목은 다음과 같은 최상위 구조를 가진 Activity입니다.

필드타입설명
idstring활동의 고유 식별자.
created_atRFC 3339 string활동이 발생한 시각.
organization_idstring 또는 null활동이 발생한 조직. 조직에 연결되지 않은 이벤트(로그인, 로그아웃, Compliance API 호출)의 경우 null.
organization_uuidstring 또는 nullorganization_id와 동일한 범위를 UUID로 표현한 값.
actorActor union활동을 수행한 주체(사람 또는 시스템). 아래 액터 표를 참조하세요.
typestring활동 유형. 예: claude_chat_created.
추가 필드다양함유형별 필드. 예: 채팅 이벤트의 claude_chat_id 또는 파일 이벤트의 filename. 유형별 필드 목록은 API 레퍼런스의 컴플라이언스 활동 쿼리하기를 참조하세요.

actor 필드는 구별된 유니온(discriminated union)입니다. 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, ip_address, user_agent
unauthenticated_user_actor로그인이 완료되기 전에 작업이 발생한 경우. 예: sso_login_initiated.unauthenticated_email_address, ip_address, user_agent
anthropic_actorAnthropic이 내부 도구 등을 통해 조직에 대해 작업을 수행한 경우.email_address (항상 null. Anthropic 운영자는 개별 이메일로 표현되지 않으므로 user_actor와의 구조 일관성을 위해 존재함)
scim_directory_sync_actorID 공급자(Okta, Microsoft Entra ID, JumpCloud 등)가 SCIM 디렉터리 동기화를 통해 변경 사항을 푸시한 경우.workos_event_id, directory_id, idp_connection_type (null 가능. 예: OktaSCIMV2, AzureSCIMV2)

claude_*_viewed 활동은 사람이 콘텐츠를 보았다는 의미가 아니라 Claude 앱이 콘텐츠를 로드했다는 의미입니다. claude_chat_viewed, claude_file_viewed, claude_project_viewed와 같은 유형은 Claude 앱이 Anthropic 서버에서 채팅, 파일 또는 프로젝트를 로드할 때마다 기록됩니다. 반복 로드는 중복 제거되지 않습니다. 웹, 데스크톱, 모바일 앱은 서로 다른 시점에, 때로는 백그라운드에서 콘텐츠를 로드하며, 로드하지 않고 캐시된 사본을 표시할 수도 있습니다. 그 결과 이러한 활동의 횟수는 플랫폼에 따라 다르며, 전송된 메시지 수나 조회된 화면 수와 일치하지 않습니다.

다음 단계

지원되는 모든 activity_types[] 값을 포함한 GET /v1/compliance/activities의 전체 요청 및 응답 스키마.

피드에서 찾은 활동의 기반 콘텐츠를 쿼리하고 삭제합니다(Compliance Access Key 필요).

폴링 또는 배치 소비 패턴을 선택하고 SIEM 상관 분석을 계획합니다.

전체 오류 카탈로그.

Was this page helpful?