Claude Platform Docs
管理組織

Admin API

Admin APIキー、org:admin OAuthトークン、または個人キーもしくはサービスアカウントキーを使用して、Admin APIで組織のメンバー、ワークスペース、招待、APIキーをプログラムから管理します。

Admin APIを使用すると、Claude Consoleで手作業で行う代わりに、組織のメンバー、ワークスペース、招待、APIキーをプログラムから管理できます。

認証

3種類の認証情報のいずれかで認証します。Admin APIキーはほとんどのエンドポイントをカバーします。サービスアカウント、フェデレーション発行者、フェデレーションルールのエンドポイントは、org:admin OAuthトークンのみを受け付けます。個人キーまたはサービスアカウントキーは、Admin APIキーと同様にx-api-keyヘッダーで送信します。以下の例では、OAuthトークンとAdmin APIキーを使用して組織情報エンドポイントを呼び出します。

Python、TypeScript、C#、Go、Java、PHP、RubyのSDKはAdmin APIをclient.beta.organizationの下で公開しており、ant CLIはant beta:organizationの下で公開しています。このページの例ではデフォルトのクライアントを使用しており、ANTHROPIC_API_KEYからAdmin APIキーを、またはANTHROPIC_AUTH_TOKENからOAuthベアラートークンを読み取ります。Python、TypeScript、C#、Go、JavaのSDKのlistメソッドは、必要に応じて追加のページを取得するイテレーターを返すため、limitは合計ではなくページサイズを設定します。PHP、Ruby、curlの例は1ページを返します。CLIでは、--limitはメンバー、招待、ワークスペース、ワークスペースメンバー、APIキーの一覧の結果数に上限を設けます。各エンドポイントのパラメータとレスポンスについては、Admin APIリファレンスを参照してください。

OAuthベアラートークン

org:adminスコープを持つ専用プロファイルでant CLIにログインし(管理者アクセスを参照)、ベアラートークンをエクスポートします。--profile adminorg:adminの認証情報を独自のプロファイルに保存し、それをCLIのアクティブなプロファイルにします。エクスポートした変数は、そのシェル内のすべてのSDKおよびCLI呼び出しに適用されます。管理専用のシェルを使用し、作業が終わったら変数をunsetして、ant profile activate defaultでCLIを元に戻してください。

CLI
ant auth login --profile admin --scope "org:admin"
export ANTHROPIC_AUTH_TOKEN=$(ant auth print-credentials --profile admin --access-token)

対話型トークンは有効期間が短いです。リクエストが401を返し始めたら、exportコマンドを再実行してトークンを更新してください。

SDKとant CLIはANTHROPIC_AUTH_TOKENを自動的に読み取ります。ベアラートークンが送信されるよう、同じシェルではANTHROPIC_API_KEYを未設定のままにしてください。自動化されたワークロードはログインを省略します。ワークロードアイデンティティフェデレーションを通じて認証し、SDKとCLIがフェデレーション環境変数からトークン交換を実行します。WIFを管理するワークロードのブートストラップを参照してください。

エクスポートしたトークンでAdmin APIを呼び出します。

client = anthropic.Anthropic()

organization = client.beta.organization.retrieve()

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

org:adminトークンは、基盤となるプロファイルまたはフェデレーションルールがバインドされているワークスペースに関係なく、組織全体へのアクセスを付与します。

CIやその他の非対話型ワークロードでは、対話的にログインする代わりに、Workload Identity Federationでトークンを発行してください。Admin APIによるWIFの管理を参照してください。

Admin APIキー

組織の種類に応じたAdmin APIキーを作成するには、Admin APIキーの作成を参照してください。

client = anthropic.Anthropic()

organization = client.beta.organization.retrieve()

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

Admin APIの仕組み

認証のいずれかの認証情報で認証し、以下のリソースを管理します。

  • 組織メンバーとそのロール
  • 組織の招待
  • ワークスペースとそのメンバー
  • APIキー
  • サービスアカウント、フェデレーション発行者、フェデレーションルール(org:admin OAuthトークンのみ)

一般的な用途には、オンボーディングとオフボーディングの自動化、ワークスペースアクセスの管理、APIキーの監査などがあります。

組織のロールと権限

組織レベルのロールは5つあります。詳細については、API Consoleのロールと権限を参照してください。

ロール権限
userplaygroundを使用できる
claude_code_userplaygroundとClaude Codeを使用できる
developerplaygroundを使用でき、APIキーを管理できる
billingplaygroundを使用でき、請求情報を管理できる
admin上記すべてに加えて、ユーザーを管理できる

組織のownerとprimary ownerはすべてのadmin権限を持ち、さらにadminを管理することもできます。このページでadminロールに言及している箇所はすべて、ownerとprimary ownerにも適用されます。

主要な概念

組織メンバー

組織メンバーの一覧表示、ロールの更新、削除を行います。

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

client = anthropic.Anthropic()

users = client.beta.organization.users.list(limit=10)

# 必要に応じて自動的に追加のページを取得します。
for user in users:
    print(f"{user.id}: {user.email} ({user.role})")

メンバーのロールを更新します。

client = anthropic.Anthropic()

user = client.beta.organization.users.update(
    "user_01XyDMpzjS89pFZXqSFUBDr6", role="developer"
)

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

組織からメンバーを削除します。

client = anthropic.Anthropic()

removed_user = client.beta.organization.users.remove("user_01XyDMpzjS89pFZXqSFUBDr6")

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

組織の招待

ユーザーを組織に招待し、保留中の招待を管理します。

ユーザーを組織に招待します。

client = anthropic.Anthropic()

invite = client.beta.organization.invites.create(
    email="user@example.com", role="developer"
)

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

保留中の招待を一覧表示します。

client = anthropic.Anthropic()

invites = client.beta.organization.invites.list(limit=10)

# 必要に応じて自動的に追加のページを取得します。
for invite in invites:
    print(f"{invite.id}: {invite.email} ({invite.status})")

招待を削除します。

client = anthropic.Anthropic()

deleted_invite = client.beta.organization.invites.delete(
    "invite_015gWxHNr6h6TdRPZTmuCGnn"
)

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

ワークスペース

ConsoleおよびAPIの例については、ワークスペースを参照してください。

ワークスペースメンバー

特定のワークスペースへのユーザーアクセスを管理します。

ワークスペースにメンバーを追加します。

client = anthropic.Anthropic()

member = client.beta.organization.workspaces.members.add(
    "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
    user_id="user_01XyDMpzjS89pFZXqSFUBDr6",
    workspace_role="workspace_developer",
)

print(f"user_id: {member.user_id}")
print(f"workspace_role: {member.workspace_role}")

ワークスペースのメンバーを一覧表示します。

client = anthropic.Anthropic()

members = client.beta.organization.workspaces.members.list(
    "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ", limit=10
)

# 必要に応じて追加のページを自動的に取得します。
for member in members:
    print(f"{member.user_id}: {member.workspace_role}")

ワークスペースメンバーのロールを更新します。

client = anthropic.Anthropic()

member = client.beta.organization.workspaces.members.update(
    "user_01XyDMpzjS89pFZXqSFUBDr6",
    workspace_id="wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
    workspace_role="workspace_admin",
)

print(f"user_id: {member.user_id}")
print(f"workspace_role: {member.workspace_role}")

ワークスペースからメンバーを削除します。

client = anthropic.Anthropic()

removed_member = client.beta.organization.workspaces.members.remove(
    "user_01XyDMpzjS89pFZXqSFUBDr6", workspace_id="wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
)

print(f"user_id: {removed_member.user_id}")

APIキー

APIキーを監視および管理します。レスポンス内の各キーには、expires_atタイムスタンプ(有効期限のないキーの場合はnull)と、そのキーが振る舞うアイデンティティであるprincipalキーの種類を参照)が含まれます。個人キーの場合、principal{"type": "user_actor", "user_id": "user_..."}、サービスアカウントキーの場合は{"type": "service_account_actor", "service_account_id": "svac_..."}、ワークスペースキーの場合はnullです。各キーにはscopeオブジェクトもあります。1つのワークスペースにバインドされたキーの場合は{"type": "workspace", "workspace_id": "wrkspc_..."}、アカウントがアクセスできる任意のワークスペースで動作できるキーの場合は{"type": "organization"}です。トップレベルのworkspace_idフィールドは非推奨であり、Default Workspaceにバインドされたキーとワークスペーススコープを持たないキーの両方でnullになります。これらを区別するにはscopeを使用してください。Default WorkspaceのIDを指定してworkspace_idで一覧をフィルタリングすると、Default Workspaceにバインドされたキーのみが返されます。ワークスペーススコープを持たないキーは、どのworkspace_idフィルターでも返されません。

ワークスペース内のアクティブなAPIキーを一覧表示します。

client = anthropic.Anthropic()

api_keys = client.beta.organization.api_keys.list(
    limit=10, status="active", workspace_id="wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
)

# 必要に応じて追加のページを自動的に取得します。
for api_key in api_keys:
    print(f"{api_key.id}: {api_key.name} ({api_key.status})")

APIキーの名前を変更するか、無効化します。

client = anthropic.Anthropic()

api_key = client.beta.organization.api_keys.update(
    "apikey_01Rj2N8SVvo6BePZj99NhmiT", status="inactive", name="New Key Name"
)

print(f"id: {api_key.id}")
print(f"name: {api_key.name}")
print(f"status: {api_key.status}")

サービスアカウント

サービスアカウント(svac_...)を作成および管理します。サービスアカウントは、サービスアカウントキーWorkload Identity Federationトークンが振る舞う非人間のアイデンティティです。これらのエンドポイントは、フェデレーション発行者およびフェデレーションルールのエンドポイントと同様に、org:admin OAuthトークンを必要とします。Admin APIによるWIFの管理を参照してください。

フェデレーション発行者

組織のワークロードアイデンティティをトークンでアサートできるOIDCアイデンティティプロバイダー(fdis_...)を登録します。Admin APIによるWIFの管理を参照してください。

フェデレーションルール

発行者のトークンをサービスアカウントとスコープにマッピングするルール(fdrl_...)を管理します。Admin APIによるWIFの管理を参照してください。

組織情報へのアクセス

/v1/organizations/meエンドポイントは、認証情報が属する組織を返します。

client = anthropic.Anthropic()

organization = client.beta.organization.retrieve()

print(f"id: {organization.id}")
print(f"name: {organization.name}")
{
  "id": "12345678-1234-5678-1234-567812345678",
  "type": "organization",
  "name": "Organization Name"
}

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

使用量とコストのレポート

Usage and Cost APIで組織の使用量とコストを追跡します。

Claude Codeアナリティクス

Claude Code Analytics APIで開発者の生産性とClaude Codeの導入状況を監視します。

レート制限

Rate Limits APIで、組織とそのワークスペースに設定されているレート制限を読み取ります。

Compliance API

Compliance APIで組織の監査データとアクティビティデータを取得します。Admin APIキーで読み取れるのはActivity Feedのみです。フルアクセスについては、Compliance APIのセットアップを参照してください。

ベストプラクティス

  • ワークスペースとAPIキーには意味のある名前と説明を使用する
  • 失敗した操作のエラーを処理する
  • メンバーのロールと権限を定期的に監査する
  • 未使用のワークスペースと期限切れの招待をクリーンアップする
  • APIキーの使用状況を監視し、各キーのexpires_atを監査し、キーを定期的にローテーションする

FAQ

ワークスペース固有の質問については、ワークスペースFAQを参照してください。

Was this page helpful?