Claude Platform Docs
管理組織

ユーザー管理

Admin APIを使用してClaude Enterprise組織のメンバーを管理します。メンバーの一覧表示とロールの変更、招待の送信と取り消し、グループの管理、カスタムロールの読み取りを行えます。

このページでは、Admin APIを使用してClaude Enterprise(claude.ai)組織のメンバーをプログラムで管理する方法について説明します。メンバーの一覧表示とメールアドレスによる検索、メンバーのロールの変更、メンバーの削除、招待の送信と取り消し、エンタープライズのグループとそのメンバーシップの管理、組織のカスタムロールの読み取りを行えます。Claude Console(Claude Platform)組織については、Claude Console向けAdmin APIガイドを参照してください。

組織で使用できるエンドポイント

Admin APIは、https://api.anthropic.com/v1/organizations/配下の単一のエンドポイントセットです。Claude Console組織とClaude Enterprise組織は異なるキーで認証し、それぞれ異なるエンドポイントのサブセットにアクセスできます。

エンドポイントClaude Console(Claude Platform)Claude Enterprise(claude.ai)
メンバーと招待利用可能。Admin APIガイドを参照利用可能(このページ)
グループ利用不可利用可能(このページ)
カスタムロール利用不可利用可能、読み取り専用(このページ)
プラグイン利用不可ベータ版で利用可能
支出制限利用不可利用可能
使用量とコストのレポート利用可能。Usage and Cost APIを参照Claude Enterprise Analytics APIを通じて利用可能
ワークスペース、APIキー、レート制限、およびAdmin APIガイドに記載されているその他のエンドポイント利用可能利用不可

メンバーと招待は両方の組織タイプで同じエンドポイントです。このページでは、Claude Enterpriseの組織ロールを含め、Claude Enterpriseでの動作について説明します。グループおよびカスタムロールのエンドポイントはClaude Enterpriseにのみ存在します。

概要

このページでは5つのリソースについて説明します。

リソースエンドポイント用途
メンバーGET /v1/organizations/users
GET /v1/organizations/users/{user_id}
POST /v1/organizations/users/{user_id}
DELETE /v1/organizations/users/{user_id}
組織のメンバーを一覧表示する、またはメールアドレスで検索する。メンバーのロールを変更する。メンバーを削除する。
招待POST /v1/organizations/invites
GET /v1/organizations/invites
GET /v1/organizations/invites/{invite_id}
DELETE /v1/organizations/invites/{invite_id}
組織にユーザーを招待し、招待のステータスを追跡し、承諾される前に取り消す。
グループ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}
エンタープライズのグループと、各グループに紐付けられたカスタムロールを読み取る。グループを作成、名前変更、削除する。
グループメンバー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}
グループのメンバーを読み取る。メンバーを追加および削除する。
カスタムロール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はそれらを読み取れますが、変更はできません。

クイックスタート

ANTHROPIC_API_KEY環境変数にAdmin APIキーを設定します。このページの例では、この環境変数からキーを読み取ります。SDKとant CLIは、Authorizationヘッダーとanthropic-versionヘッダーを自動的に送信します。

組織のメンバーを新しい順に一覧表示します。

client = anthropic.Anthropic()

users = client.organization.users.list(limit=20)

for user in users:
    print(f"{user.id}: {user.email} ({user.role})")
{
  "data": [
    {
      "type": "user",
      "id": "user_01AbCdEfGhIjKlMnOpQrSt",
      "email": "jane@example.com",
      "name": "Jane Smith",
      "role": "user",
      "added_at": "2026-06-12T09:14:03Z"
    }
  ],
  "has_more": false,
  "first_id": "user_01AbCdEfGhIjKlMnOpQrSt",
  "last_id": "user_01AbCdEfGhIjKlMnOpQrSt"
}

主要な概念

組織ロール

すべてのメンバーは、組織ロールを1つだけ持ちます。読み取り時には、メンバーのロールが次の5つの値のいずれかとして返されます。

ロール意味
user標準メンバー。
managed所属するグループに紐付けられたカスタムロールを通じて権限が付与されるメンバー。
owner組織のオーナー。
membership_admin組織のメンバーを管理できるメンバー。
primary_owner組織のプライマリオーナー。必ず1人だけ存在します。

APIが割り当てられるのは、招待の作成時とロールの更新時におけるuserロールとmanagedロールのみです。managedメンバーの権限は所属するグループに紐付けられたカスタムロールから付与されるため、managedの割り当てにはwrite:membersに加えてwrite:rbac_groupsスコープが必要です。管理者ロール(owner、membership_admin、primary_owner)はclaude.aiの組織設定で割り当てられ、これらのロールを持つメンバーはこのAPIで変更または削除できません。

メンバーと招待

ユーザーは、招待を承諾することで(または、設定されている場合は組織のシングルサインオンを通じて)メンバーになります。招待を作成すると招待メールが送信されます。その後、招待は受信者が承諾する(accepted)か、サーバーが割り当てたexpires_atを過ぎる(expired)までpendingとして読み取られます。取り消せるのはpendingの招待のみです。保留中の招待のメールアドレスやロールを変更するには、招待を取り消して新しい招待を作成してください。

組織のプランが購入済みシートの有限なプールからメンバーを割り当てる場合、保留中の招待はシートを1つ消費します。招待作成エンドポイントはシートやティアのパラメーターを受け付けません。シートは、空きのある最も低いティアから自動的に割り当てられます。空きシートがない状態で招待を作成すると、シートを購入するのではなく400エラーで失敗します。招待を取り消す、期限切れにする、または後でメンバーを削除すると、シートはプールに戻ります。

グループとロール

グループは、メンバーをカスタムロールに結び付けます(role-based access control(ロールベースのアクセス制御)。エンドポイントのパスやスコープ名にあるrbacはこれを指します)。グループは単一の組織ではなくエンタープライズ全体(親組織とその配下のすべての組織)が所有するため、グループのスコープ(read:rbac_groupsとwrite:rbac_groups)には、リンクされたすべての組織向けに作成されたキーが必要です。各グループはsource_typeを持ちます。claude.aiで作成されたグループはdirect、IDプロバイダーによってプロビジョニングされたグループはscimです。グループのrole_idsフィールドには、そのグループに紐付けられたカスタムロールのIDが一覧表示されます。カスタムロールのエンドポイントを使用して、これらを名前と権限に解決してください。ただし、ロールカタログは組織ごとである一方、グループはエンタープライズ全体のものであるため、エンタープライズ内の別の組織に属するロールを取得すると、そのキーでは404が返されることに注意してください。ロールデータが一時的に利用できなかった場合、このフィールドは([]ではなく)nullになります。そのため、劣化した読み取りとロールを持たないグループを区別するには再試行してください。

バージョニング

すべてのリクエストでanthropic-versionヘッダーを送信してください。利用可能なバージョンについては、APIバージョンを参照してください。

レート制限

Admin APIエンドポイントは、組織ごとに1分あたり100リクエストの制限を共有します。招待の作成には、代わりに1時間あたり1,200リクエストという独自の制限があります。制限を超えたリクエストは429 Too Many Requestsを返します。

ページネーション

メンバーと招待の一覧はIDベースのページネーションを使用します。limit(デフォルト20、最大1000)と、before_idまたはafter_idのいずれか最大1つを渡し、has_moreがfalseになるまで各レスポンスのfirst_idおよびlast_idフィールドを使用してページを移動します。グループとカスタムロールの一覧は、代わりに不透明なカーソルを使用します。レスポンスのnext_pageの値を、next_pageがnullになるまで、次のリクエストのpageパラメーターとしてそのまま渡します。

結果を反復処理すると、SDKが追加のページを自動的に取得するため、limitは合計数ではなくページサイズを設定します。CLIでは、メンバーと招待の一覧に対して--limitは結果の合計数を設定します。グループとロールの一覧に対しては、ページサイズを設定します。

エラーレスポンス

エラーレスポンスは、エラーに記載されている標準の形式に従います。

メンバー

メンバーの一覧表示

GET /v1/organizations/usersは、組織のメンバーを最近追加された順に返します。特定のメンバーを検索するにはemailでフィルタリングします。照合は大文字と小文字を区別せず、同じアドレスの一般的なバリエーションも許容します(たとえば、jane+hiring@example.comはjane@example.comに一致します)。read:membersスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのList usersを参照してください。

client = anthropic.Anthropic()

users = client.organization.users.list(email="jane@example.com")

for user in users:
    print(f"{user.id}: {user.email} ({user.role})")

メンバーの取得

GET /v1/organizations/users/{user_id}は、IDで指定した1人のメンバーを返します。read:membersスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのGet userを参照してください。

client = anthropic.Anthropic()

user = client.organization.users.retrieve("user_01AbCdEfGhIjKlMnOpQrSt")

print(f"id: {user.id}")
print(f"email: {user.email}")
print(f"role: {user.role}")

メンバーのロールの変更

POST /v1/organizations/users/{user_id}は、メンバーのロールをuserまたはmanagedに設定します。管理者ロール(owner、membership_admin、またはprimary_owner)を持つメンバーはこのエンドポイントで変更できず、管理者ロールを割り当てることもできません。どちらの場合も400が返され、これらはclaude.aiの組織設定で管理されます。組織のIDプロバイダーがロールを管理している場合(高度なSSOまたは高度なSCIMプロビジョニング)、ロールの更新は400を返します。write:membersスコープが必要で、ロールをmanagedに変更する場合はさらにwrite:rbac_groupsが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのUpdate userを参照してください。

client = anthropic.Anthropic()

user = client.organization.users.update("user_01AbCdEfGhIjKlMnOpQrSt", role="managed")

print(f"id: {user.id}")
print(f"role: {user.role}")

メンバーの削除

DELETE /v1/organizations/users/{user_id}は、メンバーを組織から削除し、そのメンバーが使用していた購入済みシートを組織のプールに戻します。管理者ロールを持つメンバーはこのエンドポイントで削除できません。また、IDプロバイダーがメンバーシップを管理している場合(SCIM)、削除は400を返します。write:membersスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのRemove userを参照してください。

client = anthropic.Anthropic()

removed_user = client.organization.users.remove("user_01AbCdEfGhIjKlMnOpQrSt")

print(f"id: {removed_user.id}")
{
  "type": "user_deleted",
  "id": "user_01AbCdEfGhIjKlMnOpQrSt"
}

招待

招待の作成

POST /v1/organizations/invitesは招待メールを送信し、サーバーが割り当てたexpires_atを含む招待を返します。roleはuserまたはmanagedである必要があります。そのメールアドレスに対する保留中の招待がすでに存在する場合、またはそのアドレスがすでにメンバーのものである場合、リクエストは既存のリソースを示す400を返します。IDプロバイダーがユーザーを自動的にプロビジョニングする組織(JITまたはSCIM)は、APIで招待を作成できません。write:membersスコープが必要で、roleがmanagedの場合はさらにwrite:rbac_groupsが必要です。

有限のシートプールからメンバーを割り当てるプランでは、招待は空きのある最も低いティアから自動的にシートを取得します。APIはティアのパラメーターを受け付けません。空きシートがない場合、リクエストはシートを購入するのではなく400エラーで失敗します。組織のプラン管理からシートを追加して再試行してください。

オプションのrbac_group_idsフィールドには、メンバーが招待を承諾したときに割り当てるグループを(rbac_group_プレフィックス付きのIDで)指定します。グループの割り当てによってグループのロールに紐付けられた権限が付与される可能性があるため、空でないrbac_group_idsを渡す場合は、キーにwrite:rbac_groupsスコープも必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのCreate inviteを参照してください。

client = anthropic.Anthropic()

invite = client.organization.invites.create(
    email="newhire@example.com",
    role="managed",
    rbac_group_ids=["rbac_group_01UvWxYzAbCdEfGhIjKlMn"],
)

print(f"id: {invite.id}")
print(f"email: {invite.email}")
print(f"status: {invite.status}")
print(f"expires_at: {invite.expires_at}")
{
  "type": "invite",
  "id": "invite_01QrStUvWxYzAbCdEfGhIj",
  "email": "newhire@example.com",
  "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リファレンスのList invitesを参照してください。

client = anthropic.Anthropic()

invites = client.organization.invites.list(limit=20)

for invite in invites:
    print(f"{invite.id}: {invite.email} ({invite.status})")

招待の取得

GET /v1/organizations/invites/{invite_id}は、IDで指定した1件の招待を返します。read:membersスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのGet inviteを参照してください。

client = anthropic.Anthropic()

invite = client.organization.invites.retrieve("invite_01QrStUvWxYzAbCdEfGhIj")

print(f"id: {invite.id}")
print(f"email: {invite.email}")
print(f"status: {invite.status}")

招待の取り消し

DELETE /v1/organizations/invites/{invite_id}はpendingの招待を取り消し、招待メール内のリンクを無効にします。acceptedの招待を取り消そうとすると400が返されます(代わりにメンバーを削除してください)。expiredの招待を取り消そうとした場合も400が返されます。write:membersスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのDelete inviteを参照してください。

client = anthropic.Anthropic()

deleted_invite = client.organization.invites.delete("invite_01QrStUvWxYzAbCdEfGhIj")

print(f"id: {deleted_invite.id}")

グループ

エンタープライズがclaude.aiの組織設定またはこのAPIを通じて直接作成したグループ(source_type: "direct")は、このセクションのすべてのエンドポイントをサポートします。IDプロバイダーによってプロビジョニングされたグループ(source_type: "scim")は読み取りはできますが変更はできません。SCIMグループはIDプロバイダーが所有しているため、名前の変更、削除、またはメンバーシップの変更を行うと400が返されます。

グループの一覧表示

GET /v1/organizations/rbac_groupsは、IDプロバイダーが管理する(scim)グループを含む、エンタープライズのグループを返します。read:rbac_groupsスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのList groupsを参照してください。

client = anthropic.Anthropic()

groups = client.beta.organization.rbac_groups.list(limit=20)

for group in groups:
    print(f"{group.id}: {group.name} ({group.source_type})")
{
  "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で指定した1つのグループを返します。read:rbac_groupsスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのGet groupを参照してください。

client = anthropic.Anthropic()

group = client.beta.organization.rbac_groups.retrieve(
    "rbac_group_01UvWxYzAbCdEfGhIjKlMn"
)

print(f"id: {group.id}")
print(f"name: {group.name}")
print(f"source_type: {group.source_type}")

グループの作成

POST /v1/organizations/rbac_groupsは、指定したname(1~255文字)で、ロールもメンバーも持たないグループを作成します。write:rbac_groupsスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのCreate groupを参照してください。

client = anthropic.Anthropic()

group = client.beta.organization.rbac_groups.create(name="Engineering")

print(f"id: {group.id}")
print(f"name: {group.name}")
{
  "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リファレンスのUpdate groupを参照してください。

client = anthropic.Anthropic()

group = client.beta.organization.rbac_groups.update(
    "rbac_group_01UvWxYzAbCdEfGhIjKlMn", name="Platform Engineering"
)

print(f"id: {group.id}")
print(f"name: {group.name}")

グループの削除

DELETE /v1/organizations/rbac_groups/{rbac_group_id}はグループを削除します。グループのメンバーは引き続き各自の組織のメンバーのままですが、グループに紐付けられたロールの権限を失い、グループの支出制限が存在していた場合、それも適用されなくなります。write:rbac_groupsスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのDelete groupを参照してください。

client = anthropic.Anthropic()

deleted_group = client.beta.organization.rbac_groups.delete(
    "rbac_group_01UvWxYzAbCdEfGhIjKlMn"
)

print(f"id: {deleted_group.id}")
{
  "id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "type": "rbac_group_deleted"
}

グループのメンバーの一覧表示

GET /v1/organizations/rbac_groups/{rbac_group_id}/membersは、グループのメンバー(それぞれのuser_idとメールアドレスを含む)を古い順に返します。エンタープライズの組織の現在のメンバーのみが返されるため、has_moreがtrueであっても、ページのエントリ数がlimitより少なくなる場合があります。read:rbac_groupsスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのList group membersを参照してください。

client = anthropic.Anthropic()

members = client.beta.organization.rbac_groups.members.list(
    "rbac_group_01UvWxYzAbCdEfGhIjKlMn", limit=100
)

for member in members:
    print(f"{member.user_id}: {member.email}")
{
  "data": [
    {
      "type": "rbac_group_member",
      "rbac_group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
      "group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
      "user_id": "user_01AbCdEfGhIjKlMnOpQrSt",
      "email": "jane@example.com",
      "created_at": "2026-04-07T12:30:00Z"
    }
  ],
  "has_more": false,
  "next_page": null
}

グループへのメンバーの追加

POST /v1/organizations/rbac_groups/{rbac_group_id}/membersは、user_idで指定した組織メンバーをグループに追加します。ユーザーはすでにエンタープライズのいずれかの組織のメンバーである必要があり(そうでない場合、リクエストは404を返します)、すでにグループに所属しているユーザーを追加すると400が返されます。scimグループの場合、メンバーシップはIDプロバイダーで管理されるため、このリクエストは400を返します。まだ参加していないユーザーにグループを割り当てるには、代わりに招待の作成時にrbac_group_idsを使用してください。write:rbac_groupsスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのAdd group memberを参照してください。

client = anthropic.Anthropic()

member = client.beta.organization.rbac_groups.members.add(
    "rbac_group_01UvWxYzAbCdEfGhIjKlMn", user_id="user_01AbCdEfGhIjKlMnOpQrSt"
)

print(f"user_id: {member.user_id}")
print(f"email: {member.email}")
{
  "type": "rbac_group_member",
  "rbac_group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "user_id": "user_01AbCdEfGhIjKlMnOpQrSt",
  "email": "jane@example.com",
  "created_at": "2026-07-09T18:00:00Z"
}

グループからのメンバーの削除

DELETE /v1/organizations/rbac_groups/{rbac_group_id}/members/{user_id}は、メンバーをグループから削除します。そのメンバーは引き続き組織のメンバーのままです。ユーザーがグループのメンバーでない場合、リクエストは404を返します。また、メンバーシップがIDプロバイダーで管理されるscimグループの場合は400を返します。write:rbac_groupsスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのRemove group memberを参照してください。

client = anthropic.Anthropic()

removed_member = client.beta.organization.rbac_groups.members.remove(
    "user_01AbCdEfGhIjKlMnOpQrSt", rbac_group_id="rbac_group_01UvWxYzAbCdEfGhIjKlMn"
)

print(f"user_id: {removed_member.user_id}")
{
  "rbac_group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "group_id": "rbac_group_01UvWxYzAbCdEfGhIjKlMn",
  "user_id": "user_01AbCdEfGhIjKlMnOpQrSt",
  "type": "rbac_group_member_deleted"
}

カスタムロール

カスタムロールはAPIでは読み取り専用です。これらのエンドポイントは、組織のカスタムロール(claude.aiの組織設定で定義されたもの、またはAnthropicによってプロビジョニングされたもの)と、各ロールが付与する権限のカタログを提供します。カスタムロールの読み取りにはread:membersスコープを使用し(ロール専用のスコープはありません)、組織レベルのキーで動作します。グループのエンドポイントとは異なり、リンクされたすべての組織向けに作成されたキーは不要で、返されるカタログは自分の組織のものです。

ロールの名前はdisplay_nameフィールドから読み取ってください。 Anthropicによってプロビジョニングされたロールの場合、display_nameはclaude.aiに表示されるラベルと異なることがあり、Anthropicが名前を変更する可能性もあります。ロールへの永続的な参照を保持するには、そのidを保存してください。

ロールの一覧表示

GET /v1/organizations/rbac_rolesは、組織のカスタムロールを返します。read:membersスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのList rolesを参照してください。

client = anthropic.Anthropic()

roles = client.beta.organization.rbac_roles.list(limit=20)

for role in roles:
    print(f"{role.id}: {role.display_name}")
{
  "data": [
    {
      "type": "rbac_role",
      "id": "rbac_role_01CdEfGhIjKlMnOpQrStUv",
      "display_name": "Engineering base",
      "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で指定した1つのロールを返します。read:membersスコープが必要です。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのGet roleを参照してください。

client = anthropic.Anthropic()

role = client.beta.organization.rbac_roles.retrieve("rbac_role_01CdEfGhIjKlMnOpQrStUv")

print(f"id: {role.id}")
print(f"display_name: {role.display_name}")

ロールの権限の一覧表示

GET /v1/organizations/rbac_roles/{rbac_role_id}/permissionsは、ロールの権限を返します。各権限は、resource(適用対象:組織のプロダクト機能、コネクタツール、コネクタのOAuthスコープ、1つのコネクタ、またはすべてのコネクタ)とaction(そのリソースに対して付与される内容)の組み合わせです。組織で有効になっていない機能の行は省略されるため、has_moreがtrueであっても、ページの行数がlimitより少なくなる場合があります。read:membersスコープが必要です。

2つのaction値には特に注意が必要です。アクションがcapability_access_all(すべてのプロダクト機能)またはcapability_access_all_ga(すべての安定版プロダクト機能、つまりベータ版またはリサーチプレビューとラベル付けされていないすべての機能)であるorganization権限は包括的な付与(モデルへのアクセスもpermission_プレフィックス付きの管理パネル権限も対象外)であり、展開されずにその1行として一覧表示されます。ロールが付与する内容を集計する際は、包括的な行を、他の行で名前が挙げられている機能だけでなく、そのバリアントが示すすべてを対象とするものとして扱ってください。

パラメーターの詳細とレスポンススキーマについては、APIリファレンスのList role permissionsを参照してください。

client = anthropic.Anthropic()

permissions = client.beta.organization.rbac_roles.permissions.list(
    "rbac_role_01CdEfGhIjKlMnOpQrStUv", limit=20
)

for permission in permissions:
    print(permission.action)
{
  "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. メールアドレスでメンバーを検索します。

    client = anthropic.Anthropic()
    
    users = client.organization.users.list(email="departing@example.com")
    
    for user in users:
        print(f"{user.id}: {user.email} ({user.role})")
  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をページごとに取得し、メンバーのメールアドレスをIDプロバイダーの名簿と照合します。

  3. グループに所属すべきでなくなったメンバーを、DELETE /v1/organizations/rbac_groups/{rbac_group_id}/members/{user_id}で削除します。scimグループの場合は、代わりにIDプロバイダーで変更を行ってください。

グループメンバーシップと支出制限の一時的な引き上げを組み合わせたワークフローについては、Spend Limits APIページのインシデント発生時にメンバーの支出制限を一時的に引き上げるを参照してください。

よくある質問

これはAdmin APIとは別のAPIですか?

いいえ。メンバーと招待のエンドポイントは、Claude Console組織が使用するものと同じ/v1/organizations/エンドポイントです。このページでは、それらのClaude Enterpriseでの動作について説明しています。グループとカスタムロールのエンドポイントは同じAPIの一部であり、Claude Enterprise組織にのみ存在します。各組織タイプが呼び出せるエンドポイントは、利用可能性の表に示されています。

APIでオーナーまたはメンバーシップ管理者のロールを割り当てられますか?

いいえ。APIが割り当てられるのは、招待の作成時とロールの更新時におけるuserとmanagedのみです。管理者ロールはclaude.aiの組織設定で割り当てられ、これらのロールを持つメンバーはAPIで変更または削除できません。

APIでグループを作成または変更できますか?

はい。write:rbac_groupsスコープがあれば、グループの作成、名前変更、削除、およびメンバーの追加と削除を行えます。APIで変更できないものが2つあります。IDプロバイダーによってプロビジョニングされたグループ(source_type: "scim")は、名前とメンバーシップをIDプロバイダーが所有しています。また、カスタムロールはclaude.aiの組織設定で管理されます(APIはそれらを読み取ります)。

承諾されていない招待はシートを消費しますか?

有限のシートプールを持つプランでは、はい。pendingの招待はシートを1つ保持します。招待を取り消すか期限切れにすると、シートが解放されます。シートプールのないプランでは、招待は何も消費しません。

組織でシングルサインオンを使用しています。どの操作が機能しますか?

IDプロバイダーがユーザーを自動的にプロビジョニングする場合(JITまたはSCIM)、招待の作成は400を返します。ロールを管理している場合(高度なSSOまたは高度なSCIMプロビジョニング)、ロールの更新は400を返します。メンバーシップを管理している場合(SCIMプロビジョニング)、メンバーの削除は400を返します。読み取りはいずれの場合も機能します。

Admin APIキーを作成したユーザーが退職した場合、そのキーはどうなりますか?

キーは引き続き機能します。Admin APIキーは個々のユーザーではなく組織にスコープされており、claude.aiで作成されたキーには有効期限がありません。作成者を組織から削除したり、IDプロバイダーを通じてプロビジョニング解除したりすると、その作成者自身のアクセスは終了しますが、作成したキーは無効になりません。作成者のロールを降格してもキーは変わりません。各キーは元のスコープのまま有効です。Admin APIキーを作成したユーザーをオフボーディングする際は、claude.ai > 組織設定 > APIのKeysセクションでそれらのキーを削除し、代わりのキーを作成してください。

関連項目

プライマリオーナーがスコープ付きキーを作成する場所と、選択すべきスコープ。

組織全体のアクティビティを監査し、ユーザーコンテンツを取得または削除します。

Claude Enterprise向けの、ユーザーごとおよび時間単位の使用量とコストのレポート。

メンバーごとの支出制限を設定し、引き上げリクエストを確認します。

Was this page helpful?