사용자 관리

사용자 관리 (User management)

이 페이지는 Admin API를 사용해 Claude Enterprise(claude.ai) 조직의 사람들을 프로그래밍 방식으로 관리하는 방법을 다뤄요. 구성원을 나열하고 이메일로 조회하며, 구성원의 역할을 바꾸고 제거하며, 초대를 보내고 철회하고, 엔터프라이즈의 그룹과 구성원 자격을 관리하고, 조직의 커스텀 역할을 읽을 수 있어요. Claude Console(Claude Platform) 조직에 대해서는 Claude Console용 Admin API 가이드를 참고하세요.

참고 그룹과 커스텀 역할 요청은 anthropic-beta: ce-user-management-2026-07-13 베타 헤더가 필요하지 않아요. 여전히 보내는 요청은 받아들여지고 동일하게 동작해요.

출처: 문서

본문

조직이 사용할 수 있는 엔드포인트

Admin API는 https://api.anthropic.com/v1/organizations/ 아래의 단일 엔드포인트 집합이에요. Claude Console과 Claude Enterprise 조직은 다른 키로 인증하며 각각 엔드포인트의 다른 부분집합에 접근해요:

엔드포인트 Claude Console (Claude Platform) Claude Enterprise (claude.ai)
구성원초대 사용 가능. Admin API 가이드 참고 사용 가능(이 페이지)
그룹 사용 불가 사용 가능(이 페이지)
커스텀 역할 사용 불가 사용 가능, 읽기 전용(이 페이지)
지출 한도 사용 불가 사용 가능
Usage 및 cost 보고 사용 가능. Usage and Cost API 참고 Claude Enterprise Analytics API를 통해 사용 가능
워크스페이스, API 키, 속도 제한Admin API 가이드의 다른 엔드포인트 사용 가능 사용 불가

구성원과 초대는 두 조직 타입 모두에게 같은 엔드포인트이고, 이 페이지는 Claude Enterprise 조직 역할을 포함한 그들의 Claude Enterprise 동작을 문서화해요. 그룹과 커스텀 역할 엔드포인트는 Claude Enterprise에만 존재해요.

범위 제한 Admin API 키 필요 이 엔드포인트들은 read:members 범위(구성원·초대 GET 엔드포인트, 그리고 모든 커스텀 역할 엔드포인트 — 별도 역할 범위는 없어요), write:members 범위(구성원·초대 POST·DELETE 엔드포인트), read:rbac_groups 범위(그룹 GET 엔드포인트), 또는 write:rbac_groups 범위(그룹 POST·DELETE 엔드포인트)를 가진 Admin API 키가 필요해요. read:org_audit 범위(보안 감사 통합을 위한 읽기 전용 범위)를 지닌 키는 이 페이지의 모든 GET 엔드포인트와 Compliance API 읽기 엔드포인트도 호출할 수 있어요. 프라이머리 소유자가 어디서 키를 만들고 어떤 범위를 선택하는지는 Admin API 키 만들기를 참고하세요. 모든 요청에서 anthropic-version 헤더와 함께 x-api-key 헤더로 키를 전달하세요.

개요

이 페이지는 다섯 리소스를 다뤄요:

리소스 엔드포인트 용도
구성원(Members) GET /v1/organizations/users GET /v1/organizations/users/{user_id} POST /v1/organizations/users/{user_id} DELETE /v1/organizations/users/{user_id} 조직의 구성원을 나열하거나 이메일로 조회하며, 구성원의 역할을 바꾸고, 구성원을 제거한다.
초대(Invites) POST /v1/organizations/invites GET /v1/organizations/invites GET /v1/organizations/invites/{invite_id} DELETE /v1/organizations/invites/{invite_id} 사람을 조직에 초대하고, 초대 상태를 추적하며, 수락되기 전에 철회한다.
그룹(Groups) GET /v1/organizations/rbac_groups GET /v1/organizations/rbac_groups/{rbac_group_id} POST /v1/organizations/rbac_groups POST /v1/organizations/rbac_groups/{rbac_group_id} DELETE /v1/organizations/rbac_groups/{rbac_group_id} 엔터프라이즈의 그룹과 각 그룹에 연결된 커스텀 역할을 읽고, 그룹을 생성·이름 변경·삭제한다.
그룹 구성원(Group members) GET /v1/organizations/rbac_groups/{rbac_group_id}/members POST /v1/organizations/rbac_groups/{rbac_group_id}/members DELETE /v1/organizations/rbac_groups/{rbac_group_id}/members/{user_id} 그룹의 구성원을 읽고, 구성원을 추가·제거한다.
커스텀 역할(Custom roles) GET /v1/organizations/rbac_roles GET /v1/organizations/rbac_roles/{rbac_role_id} GET /v1/organizations/rbac_roles/{rbac_role_id}/permissions 조직의 커스텀 역할과 각 역할이 부여하는 권한을 읽는다.

커스텀 역할과 그 그룹 연결은 claude.ai 조직 설정에서 관리되며, API는 읽기는 하지만 변경할 수는 없어요.

빠른 시작

조직의 구성원을 최신순으로 나열해 볼게요:

curl "https://api.anthropic.com/v1/organizations/users?limit=20" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"
{
  "data": [
    {
      "type": "user",
      "id": "user_01AbCdEfGhIjKlMnOpQrSt",
      "email": "[email protected]",
      "name": "Jane Smith",
      "role": "user",
      "added_at": "2026-06-12T09:14:03Z"
    }
  ],
  "has_more": false,
  "first_id": "user_01AbCdEfGhIjKlMnOpQrSt",
  "last_id": "user_01AbCdEfGhIjKlMnOpQrSt"
}

핵심 개념

조직 역할

모든 구성원은 정확히 하나의 조직 역할을 가져요. 읽기는 구성원의 역할을 다섯 값 중 하나로 반환해요:

역할 의미
user 표준 구성원.
managed 권한이 자기 그룹에 연결된 커스텀 역할을 통해 부여되는 구성원.
owner 조직 소유자.
membership_admin 조직의 구성원을 관리할 수 있는 구성원.
primary_owner 조직의 프라이머리 소유자. 정확히 한 명이에요.

API는 초대 생성과 역할 업데이트에서 usermanaged 역할만 할당할 수 있어요. 관리 역할(owner, membership_admin, primary_owner)은 claude.ai 조직 설정에서 할당되며, 그들을 보유한 구성원은 이 API를 통해 수정하거나 제거할 수 없어요.

구성원과 초대

사람은 초대를 수락하면(또는 구성된 곳에서 조직의 싱글 사인온을 통해) 구성원이 돼요. 초대를 만들면 초대 이메일을 보내고, 초대는 수신자가 수락(accepted)하거나 서버가 할당한 expires_at이 지날(expired) 때까지 pending으로 읽혀요. 철회할 수 있는 것은 pending 초대뿐이에요. 보류 중인 초대의 이메일 주소나 역할을 바꾸려면 철회하고 새로 만드세요.

조직의 플랜이 유한한 구매된 시트 풀에서 구성원을 끌어온다면, 보류 중인 초대는 시트 하나를 소비해요. 초대 생성 엔드포인트는 시트나 티어 파라미터를 받지 않아요. 시트는 가용성이 있는 가장 낮은 티어에서 자동으로 할당되거든요. 빈 시트가 없을 때 초대를 만들면 시트를 구매하는 대신 400 오류로 실패해요. 초대를 철회하거나 만료시키거나 나중에 구성원을 제거하면 시트가 풀로 돌아가요.

그룹과 역할

그룹은 구성원을 커스텀 역할에 연결해요(역할 기반 접근 제어 — 엔드포인트 경로와 범위 이름의 rbac). 그룹은 단일 조직이 아니라 엔터프라이즈 전체(상위 조직과 그 아래의 모든 조직)가 소유하므로, 그룹 범위(read:rbac_groupswrite:rbac_groups)는 모든 연결된 조직을 위해 만들어진 키가 필요해요. 각 그룹은 source_type을 나른다: claude.ai에서 만든 그룹은 direct, 아이덴티티 공급자가 프로비저닝한 그룹은 scim. 그룹의 role_ids 필드는 그 그룹에 연결된 커스텀 역할의 ID를 나열하며, 커스텀 역할 엔드포인트로 이름과 권한을 해석해요. 단, 역할 카탈로그는 조직별인 반면 그룹은 엔터프라이즈 전체이므로, 엔터프라이즈의 다른 조직에 속한 역할을 가져오면 키에 404를 반환해요. 역할 데이터가 일시적으로 불가능할 때 이 필드는 []보다는 null이므로, 저하된 읽기와 역할이 없는 그룹을 구분하려면 재시도하세요. 여전히 반환되는 두 개의 폐기 필드가 있어요: 그룹의 roles(항상 role_ids와 같음)와 그룹 구성원의 group_id(항상 rbac_group_id와 같음).

버전 관리

모든 요청에 anthropic-version 헤더를 보내세요. 사용 가능한 버전은 API versions를 참고하세요.

속도 제한

Admin API 엔드포인트는 조직당 분당 100회 요청 제한을 공유해요. 초대 생성은 대신 시간당 1,200회 요청의 자체 제한이 있어요. 제한을 넘는 요청은 429 Too Many Requests를 반환해요.

페이지네이션

구성원과 초대 목록은 ID 기반 페이지네이션을 사용해요. limit(기본 20, 최대 1000)과 before_id 또는 after_id 중 최대 하나를 전달하고, has_morefalse가 될 때까지 각 응답의 first_idlast_id 필드로 페이지를 넘겨요. 그룹과 커스텀 역할 목록은 대신 불투명 커서를 사용해요. 응답의 next_page 값을 next_pagenull이 될 때까지 다음 요청의 page 파라미터로 변경 없이 전달하면 돼요.

오류 응답

오류 응답은 Errors에 문서화된 표준 형태를 따라요.

구성원(Members)

구성원 나열하기

GET /v1/organizations/users는 조직의 구성원을 가장 최근에 추가된 순으로 반환해요. email로 필터링해 특정 구성원을 조회할 수 있고, 일치는 대소문자를 구분하지 않으며 같은 주소의 흔한 변형을 허용해요(예: [email protected][email protected]과 일치). read:members 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 List users를 참고하세요.

curl "https://api.anthropic.com/v1/organizations/[email protected]" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"

구성원 가져오기

GET /v1/organizations/users/{user_id}는 ID로 구성원 하나를 반환해요. read:members 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Get user를 참고하세요.

curl "https://api.anthropic.com/v1/organizations/users/user_01AbCdEfGhIjKlMnOpQrSt" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"

구성원의 역할 바꾸기

POST /v1/organizations/users/{user_id}는 구성원의 역할을 user 또는 managed로 설정해요. 관리 역할(owner, membership_admin, primary_owner)을 보유한 구성원은 이 엔드포인트로 변경할 수 없고, 관리 역할을 할당할 수도 없어요. 둘 다 400을 반환하며 claude.ai 조직 설정에서 관리해요. 조직의 아이덴티티 공급자가 역할을 관리한다면(고급 SSO 또는 고급 SCIM 프로비저닝), 역할 업데이트는 400을 반환해요. write:members 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Update user를 참고하세요.

curl -X POST "https://api.anthropic.com/v1/organizations/users/user_01AbCdEfGhIjKlMnOpQrSt" \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{"role": "managed"}'

구성원 제거하기

DELETE /v1/organizations/users/{user_id}는 구성원을 조직에서 제거하고, 그들이 차지하던 구매된 시트를 조직의 풀로 반환해요. 관리 역할을 보유한 구성원은 이 엔드포인트로 제거할 수 없고, 아이덴티티 공급자가 구성원 자격을 관리한다면(SCIM) 제거는 400을 반환해요. write:members 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Remove user를 참고하세요.

curl -X DELETE "https://api.anthropic.com/v1/organizations/users/user_01AbCdEfGhIjKlMnOpQrSt" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"
{
  "type": "user_deleted",
  "id": "user_01AbCdEfGhIjKlMnOpQrSt"
}

초대(Invites)

초대 만들기

POST /v1/organizations/invites는 초대 이메일을 보내고 서버가 할당한 expires_at과 함께 초대를 반환해요. roleuser 또는 managed여야 해요. 이메일 주소에 대한 보류 중인 초대가 이미 있거나, 주소가 이미 구성원에 속하면 요청은 기존 리소스를 명명하며 400을 반환해요. 아이덴티티 공급자가 사용자를 자동으로 프로비저닝하는(JIT 또는 SCIM) 조직은 API로 초대를 만들 수 없어요. write:members 범위가 필요해요.

유한 시트 풀에서 구성원을 끌어오는 플랜에서 초대는 가용성 있는 가장 낮은 티어에서 시트를 자동으로 가져가요. API는 티어 파라미터를 받지 않아요. 빈 시트가 없으면 요청은 시트를 구매하는 대신 400 오류로 실패해요. 조직의 플랜 관리에서 시트를 추가하고 재시도하세요.

선택적 rbac_group_ids 필드는 수락할 때 구성원에게 할당할 그룹(rbac_group_ 접두사 ID 기준)을 나열해요. 비어 있지 않은 rbac_group_ids를 전달하면 키가 write:rbac_groups 범위를 지니는 것도 추가로 요구해요. 그룹 할당이 그룹의 역할에 연결된 권한을 부여할 수 있기 때문이에요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Create invite를 참고하세요.

curl -X POST "https://api.anthropic.com/v1/organizations/invites" \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "email": "[email protected]",
    "role": "managed",
    "rbac_group_ids": ["rbac_group_01UvWxYzAbCdEfGhIjKlMn"]
  }'
{
  "type": "invite",
  "id": "invite_01QrStUvWxYzAbCdEfGhIj",
  "email": "[email protected]",
  "role": "managed",
  "invited_at": "2026-07-06T16:20:11Z",
  "expires_at": "2026-07-27T16:20:11Z",
  "accepted_at": null,
  "status": "pending",
  "rbac_group_ids": ["rbac_group_01UvWxYzAbCdEfGhIjKlMn"]
}

초대 나열하기

GET /v1/organizations/invites는 조직의 초대를 pending, accepted, expired 상태에 걸쳐 최신순으로 반환해요. 상태 필터는 없어요. read:members 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 List invites를 참고하세요.

curl "https://api.anthropic.com/v1/organizations/invites?limit=20" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"

초대 가져오기

GET /v1/organizations/invites/{invite_id}는 ID로 초대 하나를 반환해요. read:members 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Get invite를 참고하세요.

curl "https://api.anthropic.com/v1/organizations/invites/invite_01QrStUvWxYzAbCdEfGhIj" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"

초대 철회하기

DELETE /v1/organizations/invites/{invite_id}pending 초대를 철회해 초대 이메일의 링크를 비활성화해요. accepted 초대를 철회하면 400을 반환하므로(대신 구성원을 제거하세요), expired 초대를 철회해도 400을 반환해요. write:members 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Delete invite를 참고하세요.

curl -X DELETE "https://api.anthropic.com/v1/organizations/invites/invite_01QrStUvWxYzAbCdEfGhIj" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"

그룹(Groups)

엔터프라이즈가 claude.ai 조직 설정이나 이 API를 통해 직접 만든 그룹(source_type: "direct")은 이 섹션의 모든 엔드포인트를 지원해요. 아이덴티티 공급자가 프로비저닝한 그룹(source_type: "scim")은 읽을 수는 있지만 수정할 수는 없어요. SCIM 그룹의 이름 변경·삭제, 또는 구성원 변경은 400을 반환해요. 아이덴티티 공급자가 그것을 소유하기 때문이에요.

그룹 나열하기

GET /v1/organizations/rbac_groups는 엔터프라이즈의 그룹을, 아이덴티티 공급자가 관리하는(scim) 그룹을 포함해 반환해요. read:rbac_groups 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 List groups를 참고하세요.

curl "https://api.anthropic.com/v1/organizations/rbac_groups?limit=20" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"
{
  "data": [
    {
      "type": "rbac_group",
      "id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
      "name": "Engineering",
      "source_type": "direct",
      "role_ids": ["rbac_role_01CdEfGhIjKlMnOpQrStUv"],
      "roles": ["rbac_role_01CdEfGhIjKlMnOpQrStUv"],
      "created_at": "2026-03-18T10:01:42Z",
      "updated_at": "2026-05-02T08:55:09Z"
    }
  ],
  "has_more": false,
  "next_page": null
}

그룹 가져오기

GET /v1/organizations/rbac_groups/{rbac_group_id}는 ID로 그룹 하나를 반환해요. read:rbac_groups 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Get group를 참고하세요.

curl "https://api.anthropic.com/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"

그룹 만들기

POST /v1/organizations/rbac_groups는 주어진 name(1–255자)과 역할·구성원이 없는 그룹을 만들어요. write:rbac_groups 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Create group를 참고하세요.

curl -X POST "https://api.anthropic.com/v1/organizations/rbac_groups" \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{"name": "Engineering"}'
{
  "type": "rbac_group",
  "id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "name": "Engineering",
  "source_type": "direct",
  "role_ids": [],
  "roles": [],
  "created_at": "2026-07-09T18:00:00Z",
  "updated_at": "2026-07-09T18:00:00Z"
}

그룹 이름 바꾸기

POST /v1/organizations/rbac_groups/{rbac_group_id}는 그룹을 업데이트해요. name은 이 엔드포인트가 변경할 수 있는 유일한 필드예요. write:rbac_groups 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Update group를 참고하세요.

curl -X POST "https://api.anthropic.com/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn" \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{"name": "Platform Engineering"}'

그룹 삭제하기

DELETE /v1/organizations/rbac_groups/{rbac_group_id}는 그룹을 삭제해요. 그 구성원들은 자기 조직의 구성원으로 남지만, 연결된 역할의 권한을 잃고, 그룹 지출 한도가 있었다면 그것도 더 이상 적용되지 않아요. write:rbac_groups 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Delete group를 참고하세요.

curl -X DELETE "https://api.anthropic.com/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"
{
  "id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "type": "rbac_group_deleted"
}

그룹의 구성원 나열하기

GET /v1/organizations/rbac_groups/{rbac_group_id}/members는 그룹의 구성원을(각각 user_id와 이메일과 함께) 오래된 순으로 반환해요. 엔터프라이즈 조직의 현재 구성원만 반환되므로, has_moretrue인 동안 페이지에 limit보다 적은 항목이 있을 수 있어요. read:rbac_groups 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 List group members를 참고하세요.

curl "https://api.anthropic.com/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn/members?limit=100" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"
{
  "data": [
    {
      "type": "rbac_group_member",
      "rbac_group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
      "group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
      "user_id": "user_01AbCdEfGhIjKlMnOpQrSt",
      "email": "[email protected]",
      "created_at": "2026-04-07T12:30:00Z"
    }
  ],
  "has_more": false,
  "next_page": null
}

그룹에 구성원 추가하기

POST /v1/organizations/rbac_groups/{rbac_group_id}/membersuser_id로 조직 구성원을 그룹에 추가해요. 사용자는 이미 엔터프라이즈 조직 중 하나의 구성원이어야 하고(그렇지 않으면 404 반환), 이미 그룹에 있는 사람을 추가하면 400을 반환해요. scim 그룹의 경우 구성원 자격은 아이덴티티 공급자에서 관리되며 이 요청은 400을 반환해요. 아직 가입하지 않은 사람에게 그룹을 할당하려면 초대 생성rbac_group_ids를 대신 사용하세요. write:rbac_groups 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Add group member를 참고하세요.

curl -X POST "https://api.anthropic.com/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn/members" \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{"user_id": "user_01AbCdEfGhIjKlMnOpQrSt"}'
{
  "type": "rbac_group_member",
  "rbac_group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "user_id": "user_01AbCdEfGhIjKlMnOpQrSt",
  "email": "[email protected]",
  "created_at": "2026-07-09T18:00:00Z"
}

그룹에서 구성원 제거하기

DELETE /v1/organizations/rbac_groups/{rbac_group_id}/members/{user_id}는 그룹에서 구성원을 제거하며, 그들은 자기 조직의 구성원으로 남아요. 사용자가 그룹의 구성원이 아니면 404를, scim 그룹에서는 400을 반환해요(구성원 자격은 아이덴티티 공급자가 관리). write:rbac_groups 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Remove group member를 참고하세요.

curl -X DELETE "https://api.anthropic.com/v1/organizations/rbac_groups/rbac_group_01UvWxYzAbCdEfGhIjKlMn/members/user_01AbCdEfGhIjKlMnOpQrSt" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"
{
  "rbac_group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "user_id": "user_01AbCdEfGhIjKlMnOpQrSt",
  "type": "rbac_group_member_deleted"
}

커스텀 역할(Custom roles)

커스텀 역할은 API를 통해 읽기 전용이에요. 이 엔드포인트들은 조직의 커스텀 역할(claude.ai 조직 설정에 정의되거나 Anthropic이 프로비저닝한 것)과 각 역할이 부여하는 권한을 카탈로그화해요. 커스텀 역할 읽기는 read:members 범위를 사용하며(별도 역할 범위 없음) 조직 수준 키로 작동해요. 그룹 엔드포인트와 달리 모든 연결된 조직을 위해 만들어진 키가 필요하지 않고, 반환되는 카탈로그는 내 조직의 것이에요.

역할 나열하기

GET /v1/organizations/rbac_roles는 조직의 커스텀 역할을 반환해요. read:members 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 List roles를 참고하세요.

curl "https://api.anthropic.com/v1/organizations/rbac_roles?limit=20" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"
{
  "data": [
    {
      "type": "rbac_role",
      "id": "rbac_role_01CdEfGhIjKlMnOpQrStUv",
      "name": "Engineering base",
      "created_at": "2026-03-18T10:01:42Z",
      "updated_at": "2026-05-02T08:55:09Z"
    }
  ],
  "has_more": false,
  "next_page": null
}

역할 가져오기

GET /v1/organizations/rbac_roles/{rbac_role_id}는 ID로 역할 하나를 반환해요. read:members 범위가 필요해요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 Get role를 참고하세요.

curl "https://api.anthropic.com/v1/organizations/rbac_roles/rbac_role_01CdEfGhIjKlMnOpQrStUv" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"

역할의 권한 나열하기

GET /v1/organizations/rbac_roles/{rbac_role_id}/permissions는 역할의 권한을 반환해요. 각 권한은 resource(적용 대상: 조직의 제품 기능, 커넥터 툴, 커넥터 OAuth 범위, 커넥터 하나, 또는 모든 커넥터)와 action(그 리소스에 부여하는 것)을 짝지어요. 조직에 활성화되지 않은 기능에 대한 행은 생략되므로, has_moretrue인 동안 페이지에 limit보다 적은 행이 있을 수 있어요. read:members 범위가 필요해요.

특별히 주의할 두 action 값이 있어요: action이 capability_access_all(모든 제품 기능) 또는 capability_access_all_ga(모든 안정 제품 기능, 즉 베타나 리서치 프리뷰로 표시되지 않은 모든 기능)인 organization 권한은 포괄 부여(blanket grant)예요. (모델 접근도, permission_ 접두사의 관리 패널 권한도 포함하지 않아요.) 그리고 펼쳐지기보다 단일 행으로 나열돼요. 역할이 부여하는 것을 집계할 때 포괄 행을 다른 행에 명명된 기능뿐 아니라 그 변형이 설명하는 모든 것을 포괄하는 것으로 취급하세요.

전체 파라미터 세부사항과 응답 스키마는 API reference의 List role permissions를 참고하세요.

curl "https://api.anthropic.com/v1/organizations/rbac_roles/rbac_role_01CdEfGhIjKlMnOpQrStUv/permissions?limit=20" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01"
{
  "data": [
    {
      "type": "rbac_role_permission",
      "resource": {
        "type": "organization",
        "organization_id": "12345678-1234-5678-1234-567812345678"
      },
      "action": "capability_access_all_ga"
    },
    {
      "type": "rbac_role_permission",
      "resource": {
        "type": "connector_tool",
        "connector_id": "mcpsrv_01WxYzAbCdEfGhIjKlMnOp",
        "tool_name": "search_tickets"
      },
      "action": "use"
    }
  ],
  "has_more": false,
  "next_page": null
}

예시 워크플로우

퇴사하는 직원 아웃보딩

  1. 이메일로 구성원 조회:

    curl "https://api.anthropic.com/v1/organizations/[email protected]" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01"
    
  2. 응답의 id를 사용해 DELETE /v1/organizations/users/{user_id}로 제거하세요. 시트가 있으면 풀로 돌아가요.

  3. 사람이 아직 가입하지 않았다면 조회는 구성원을 반환하지 않아요. 대신 초대를 나열하고 그들의 pending 초대를 철회하세요.

그룹 구성원 자격 감사

  1. 그룹을 나열하고 각 그룹의 id, name, role_ids를 기록하세요.

  2. 민감한 역할을 지닌 각 그룹에 대해 GET /v1/organizations/rbac_groups/{rbac_group_id}/members를 페이지로 넘기며 구성원 이메일을 아이덴티티 공급자의 명부와 비교하세요.

  3. 더 이상 그룹에 있어서는 안 되는 구성원을 DELETE /v1/organizations/rbac_groups/{rbac_group_id}/members/{user_id}로 제거하세요. scim 그룹에서는 아이덴티티 공급자에서 변경하세요.

그룹 구성원 자격을 일시적 지출 한도 인상과 결합하는 워크플로우는 Spend Limits API 페이지의 인시던트 중 구성원 지출 한도 일시적으로 올리기를 참고하세요.

자주 묻는 질문

이것은 Admin API와 다른 API인가요?

아니요. 구성원과 초대 엔드포인트는 Claude Console 조직이 사용하는 것과 같은 /v1/organizations/ 엔드포인트이고, 이 페이지는 그들의 Claude Enterprise 동작을 문서화해요. 그룹과 커스텀 역할 엔드포인트는 같은 API의 일부이며 Claude Enterprise 조직에만 존재해요. 가용성 표는 각 조직 타입이 호출할 수 있는 엔드포인트를 보여줘요.

API로 owner나 membership admin 역할을 할당할 수 있나요?

아니요. API는 초대 생성과 역할 업데이트에서 usermanaged만 할당해요. 관리 역할은 claude.ai 조직 설정에서 할당되며, 그것을 보유한 구성원은 API로 수정하거나 제거할 수 없어요.

API로 그룹을 만들거나 수정할 수 있나요?

그래요, write:rbac_groups 범위로 가능해요. 그룹을 생성·이름 변경·삭제하고 그 구성원을 추가·제거할 수 있어요. API가 변경할 수 없는 두 가지는: 아이덴티티 공급자가 프로비저닝한(source_type: "scim") 그룹 — 이름과 구성원 자격은 아이덴티티 공급자가 소유 — 그리고 claude.ai 조직 설정에서 관리되는 커스텀 역할(API는 읽기만)이에요.

수락되지 않은 초대는 시트를 소비하나요?

유한 시트 풀이 있는 플랜에서, 그래요. pending 초대는 시트를 보유해요. 초대를 철회하거나 만료시키면 시트가 해제돼요. 시트 풀이 없는 플랜에서 초대는 아무것도 소비하지 않아요.

조직이 싱글 사인온을 사용하는데 어떤 작업이 작동하나요?

아이덴티티 공급자가 사용자를 자동 프로비저닝하면(JIT 또는 SCIM) 초대 생성은 400을 반환해요. 역할을 관리하면(고급 SSO 또는 고급 SCIM 프로비저닝) 역할 업데이트는 400을 반환해요. 구성원 자격을 관리하면(SCIM 프로비저닝) 구성원 제거는 400을 반환해요. 읽기는 관계없이 작동해요.

Admin API 키를 만든 사람이 떠나면 키는 어떻게 되나요?

키는 계속 작동해요. Admin API 키는 개별 사용자가 아니라 조직에 범위가 제한되고, claude.ai에서 만든 키는 만료되지 않아요. 생성자를 조직에서 제거하거나 아이덴티티 공급자를 통해 프로비저닝 해제해도 생성자의 접근만 끝나고, 그들이 만든 키는 끝나지 않아요. 역할을 낮춰도 키는 변하지 않아요. 각 키는 원래 범위로 활성 상태를 유지하거든요. Admin API 키를 만든 사람을 아웃보딩할 때는 claude.ai > Organization settings > APIKeys 섹션에서 그 키들을 삭제하고 교체를 만드세요.

함께 보기

  • Admin API 키 만들기 — 프라이머리 소유자가 범위 키를 만드는 곳과 선택할 범위.
  • Compliance API — 조직 전체의 활동 감사 및 사용자 콘텐츠 조회·삭제.
  • Analytics APIs — Claude Enterprise의 사용자별·시간 버킷별 사용량·비용 보고.
  • Spend Limits API — 구성원별 지출 한도 설정 및 증가 요청 검토.

더 알아보기 (Learn more)