
目次
- 1 Admin APIがant CLIと全SDKに追加された
- 1.1 user@sinyblog:~/article ❯ 01_digest.md90秒ダイジェスト:今回変わった3点
- 1.2 user@sinyblog:~/article ❯ 02_release_note.md何が発表されたか(公式リリースノート原文)
- 1.3 user@sinyblog:~/article ❯ 03_what_is.mdAdmin APIとは何か・何を管理できるか
- 1.4 user@sinyblog:~/article ❯ 04_roles.md組織のロールと権限
- 1.5 user@sinyblog:~/article ❯ 05_auth.md認証を選ぶ:Admin APIキー vs OAuth
- 1.6 user@sinyblog:~/article ❯ 06_ant_cli.mdant CLIから叩く
- 1.7 user@sinyblog:~/article ❯ 07_sdk_parity.md7言語SDKが同じ書き方で動く
- 1.8 user@sinyblog:~/article ❯ 08_workspace.mdワークスペースを1コールで作る
- 1.9 user@sinyblog:~/article ❯ 09_expiring_keys.md実践1:失効間近のAPIキーを自動抽出する
- 1.10 user@sinyblog:~/article ❯ 10_offboarding.md実践2:退職者対応を自動化する(と落とし穴)
- 1.11 user@sinyblog:~/article ❯ 11_rate_limits.md組織のレート制限をコードで読む
- 1.12 user@sinyblog:~/article ❯ 12_enterprise.mdClaude Enterprise固有の機能
- 1.13 user@sinyblog:~/article ❯ 13_limits.mdできないこと・注意点(FAQ整理)
- 1.14 user@sinyblog:~/article ❯ 99_summary.mdまとめ
Anthropic Official · 2026.08.26 Release Notes
Admin APIがant CLIと全SDKに追加された
これまでcurlでしか叩けなかったAdmin APIが、ant CLIとPython・TypeScript・C#・Go・Java・PHP・Rubyの全SDKに正式対応しました。メンバー・ワークスペース・APIキーの管理、組織のレート制限の読み取りまで、型付きコードで自動化できます。公式リリースノートを一次情報に、できること・認証の選び方・実装パターン・落とし穴までを整理します。読了目安12分。
組織のメンバー追加、ワークスペースの新設、失効間近のAPIキーの棚卸し——これまでは Claude Console の画面操作か、curl を叩くしかありませんでした。2026年8月26日、Anthropic は Admin API を ant CLI と主要7言語の SDK に正式に追加し[1]、組織管理をアプリケーションコードやCI/CDパイプラインに組み込めるようにしました。本記事では公式ドキュメントを一次情報として、今回のアップデートの中身から実務での使い方までを14章で解説します。
-
0言語
Python/TS/C#/Go/Java/PHP/Rubyが同じ書き方 -
0コール
ワークスペース作成に必要な呼び出し数 -
0日
組織招待が自動失効するまでの固定日数
user@sinyblog:~/article ❯ 01_digest.md90秒ダイジェスト:今回変わった3点
忙しい人向けに、確定情報だけ先に並べます。Anthropic は Claude Platform リリースノートの2026年8月26日付エントリで、Admin API を ant CLI と7言語 SDK に追加したと発表しました[1]。
- ant CLIとSDK全7言語が同じAdmin APIを叩けるようになった。Python・TypeScript・C#・Go・Java・PHP・Rubyの各SDKは
client.beta.organization配下に、ant CLIはant beta:organization配下に生えている。書き方の思想は共通。 - 対象は組織情報・メンバー・招待・ワークスペース・APIキー・レート制限・サービスアカウント/WIF連携・暗号鍵管理まで。これまでcurl専用だった操作の大半が型付きコードで書けるようになった。
- ただし全部ではない。使用量・コストレポートと、Claude Enterprise(claude.ai)のユーザー管理・分析エンドポイントは、引き続きcurl限定のまま残っている[1]。
本記事はAnthropic公式の Claude Platform リリースノート、および Admin API・Workspaces・Rate Limits API・CLI認証の各公式ドキュメントのみを一次情報として使用しています。組織管理系の機能はベータ表記のものも含むため、実装前に公式ドキュメントで最新の対応範囲を確認してください。
user@sinyblog:~/article ❯ 02_release_note.md何が発表されたか(公式リリースノート原文)
まずは一次情報そのものを見ておきます。Claude Platform リリースノートの該当エントリの原文(英語)と、その要旨です。
“The Admin API is now available in the
antCLI and the Python, TypeScript, C#, Go, Java, PHP, and Ruby SDKs underclient.beta.organization. They cover organization info, members, invites, workspaces and workspace members, API keys, rate limits, service accounts, workload identity federation issuers and rules, and customer-managed encryption keys. Usage and cost reports and the Claude Enterprise user-management and analytics endpoints remain curl-only. The CLI and SDKs read an Admin API key fromANTHROPIC_API_KEYor anorg:adminOAuth token fromANTHROPIC_AUTH_TOKEN.”Claude Platform release notes, August 26, 2026[1]
日本語で要約すると次の通りです。Admin API が ant CLI と7言語SDKの client.beta.organization 配下に追加され、組織情報・メンバー・招待・ワークスペース(とそのメンバー)・APIキー・レート制限・サービスアカウント・ワークロードアイデンティティ連携(WIF)の発行者/ルール・顧客管理鍵(CMEK)までをカバーする。一方で使用量/コストレポートと、Claude Enterprise 固有のユーザー管理/分析系エンドポイントは引き続き curl 限定のまま。認証情報は環境変数 ANTHROPIC_API_KEY(Admin APIキー)か ANTHROPIC_AUTH_TOKEN(org:admin スコープのOAuthトークン)から読み込まれます。
Admin API自体は2024年11月からある機能です[2]。今回の変更点は「新しいAPIが増えた」のではなく、「curlで手書きしていた組織管理の呼び出しが、他のAPI操作と同じSDKの流儀(型・イテレータ・エラーハンドリング)で書けるようになった」こと。地味に見えて、社内ツールへの組み込みやすさは大きく変わります。
user@sinyblog:~/article ❯ 03_what_is.mdAdmin APIとは何か・何を管理できるか
Admin API は、組織のメンバー・ワークスペース・招待・APIキーなどを、Claude Console の画面操作の代わりにプログラムから管理するためのAPIです[2]。個人アカウントでは使えず、組織を作成していることが前提になります。
| 管理できるリソース | できること |
|---|---|
| 組織メンバー | 一覧・ロール変更・削除(adminロールの削除はAPI不可) |
| 組織招待 | 作成・一覧・削除(21日で自動失効・変更不可) |
| ワークスペースとメンバー | 作成・一覧・アーカイブ/メンバーの追加・一覧・ロール変更・削除 |
| APIキー | 一覧・改名・有効/無効の切り替え(新規発行はConsole限定) |
| 組織のレート制限 | 読み取りのみ(変更はConsoleのRate limitsタブ) |
| サービスアカウント/WIF発行者・ルール | 作成・管理(org:admin OAuthトークンのみ対応) |
公式ドキュメントは主な用途として、オンボーディング/オフボーディングの自動化、ワークスペースアクセスの管理、APIキーの監査の3つを挙げています[2]。いずれも「毎月Consoleを手でポチポチ確認する」タイプの定型業務で、スクリプト化の効果が出やすい領域です。
組織管理が「画面操作」から「コード」になる
メンバー追加・ワークスペース作成・APIキー監査を、CI/CDや定期実行スクリプトに組み込める
user@sinyblog:~/article ❯ 04_roles.md組織のロールと権限
Admin APIで何ができるかは、呼び出す側のメンバーが持つ組織ロールに依存します。公式ドキュメントが定義する5段階です[2]。
| ロール | できること |
|---|---|
user |
Playgroundの利用のみ |
claude_code_user |
Playground + Claude Codeの利用 |
developer |
Playground + APIキーの管理 |
billing |
Playground + 請求情報の管理 |
admin |
上記すべて + ユーザー管理 |
組織のオーナー(owner)とプライマリーオーナー(primary owner)は admin の全権限に加えて admin 自身の管理も行えます。Admin API キーを発行できるのは admin ロールのメンバーのみ、org:admin スコープのOAuthトークンを取得できるのは admin・owner・primary owner の3ロールのみという線引きは、この章の権限表がそのまま反映されています[2]。
user@sinyblog:~/article ❯ 05_auth.md認証を選ぶ:Admin APIキー vs OAuth
Admin APIは2種類の資格情報のどちらかで叩けます[2]。用途に応じて選び分けます。
| Admin APIキー | OAuth(org:adminスコープ) |
|
|---|---|---|
| 形式 | sk-ant-admin01-... |
ベアラートークン |
| 送信ヘッダ | x-api-key |
authorization: Bearer |
| 環境変数 | ANTHROPIC_API_KEY |
ANTHROPIC_AUTH_TOKEN |
| 取得できる人 | 組織のadminロール |
admin/owner/primary owner |
| 発行場所 | Console > Settings > Admin keys | ant auth login --scope org:admin |
| 対応範囲 | サービスアカウント/連携発行者・ルール以外の全エンドポイント | 全エンドポイント(この3種を含む) |
サービスアカウント・連携発行者(federation issuer)・連携ルール(federation rule)の3エンドポイントだけは、org:admin OAuthトークンでしか呼べません[2]。ワークロードアイデンティティ連携(WIF)の設定を触るとき以外は、基本的にAdmin APIキーで事足ります。
org:admin トークンは、発行元プロファイルのワークスペース設定に関係なく組織全体にアクセスできます[2]。公式ドキュメントも「管理作業専用のシェルを用意し、使い終わったら環境変数をunsetする」ことを推奨しています[5]。日常のコマンドを、うっかり管理者権限つきトークンで実行しないための予防線です。
user@sinyblog:~/article ❯ 06_ant_cli.mdant CLIから叩く
ターミナルからさっと確認したいだけなら、ant CLIが最短です。org:admin スコープで管理用プロファイルにログインし、発行されたトークンをエクスポートします[5]。
# 管理用プロファイルでログイン(org:admin スコープ)
ant auth login --profile admin --scope "org:admin"
# 発行されたベアラートークンをエクスポート
export ANTHROPIC_AUTH_TOKEN=$(ant auth print-credentials --profile admin --access-token)
# 組織情報を取得
ant beta:organization retrieve
# ワークスペースを作成
ant beta:organization:workspaces create --name "Production"
# アクティブなAPIキーを確認
ant beta:organization:api-keys list --status active --limit 50
# 作業が終わったらデフォルトプロファイルに戻す
ant profile activate defaultインタラクティブログインで発行されるトークンは短命です。リクエストが401を返すようになったら、export の行を再実行してトークンを更新します[2]。CIなど非対話環境では、ログインの代わりにワークロードアイデンティティ連携でトークンを発行する方式が案内されています。
user@sinyblog:~/article ❯ 07_sdk_parity.md7言語SDKが同じ書き方で動く
今回のアップデートの実務的な価値は、7言語のSDKが同じ設計思想で client.beta.organization を公開している点です[2]。メンバー一覧を例に、Python・TypeScript・Go を並べてみます。
client = anthropic.Anthropic() # ANTHROPIC_API_KEY に Admin API キーを設定
users = client.beta.organization.users.list(limit=10)
# limitはページサイズ。イテレータが必要な分だけ自動でページングする
for user in users:
print(f"{user.id}: {user.email} ({user.role})")const client = new Anthropic();
const users = await client.beta.organization.users.list({ limit: 10 });
for await (const user of users) {
console.log(`${user.id}: ${user.email} (${user.role})`);
}client := anthropic.NewClient()
users := client.Beta.Organization.Users.ListAutoPaging(context.Background(),
anthropic.BetaOrganizationUserListParams{Limit: anthropic.Int(10)})
for users.Next() {
user := users.Current()
fmt.Printf("%s: %s (%s)\n", user.ID, user.Email, user.Role)
}Python・TypeScript・C#・Go・Javaの一覧系メソッドは、必要なだけ自動でページを取りに行くイテレータを返すため limit は「1回あたりの取得件数」であって「取得総数の上限」ではありません。一方でPHP・Ruby・curlの例は1ページだけを返す作りになっているので、全件を回すなら自前でページングする必要があります[2]。
user@sinyblog:~/article ❯ 08_workspace.mdワークスペースを1コールで作る
環境やチームごとにAPIキーを分離したいとき、これまではConsole画面で「Settings > Workspaces > Create workspace」と辿って作成していました[3]。Admin APIならワークスペース作成は文字通り1コールです。
client = anthropic.Anthropic()
workspace = client.beta.organization.workspaces.create(name="Production")
print(f"id: {workspace.id}")
print(f"name: {workspace.name}")組織が持てるワークスペースは既定で最大100(アーカイブ済みは数えない)。開発・ステージング・本番のように環境ごとにワークスペースを分け、それぞれにレート制限や支出上限を設定するのが公式が挙げる典型パターンです[3]。ただしワークスペース自体の作成・アーカイブと組織メンバーの管理は、組織レベル操作としてAdmin APIキーが必須。ワークスペースAPIキーでは行えません。
user@sinyblog:~/article ❯ 09_expiring_keys.md実践1:失効間近のAPIキーを自動抽出する
APIキーのレスポンスには expires_at(有効期限なしなら null)が必ず含まれます[2]。今回SDKに追加されたイテレータと組み合わせれば、「今週失効するキー」の抽出はページングを気にせず数行で書けます。
import anthropic
from datetime import datetime, timedelta, timezone
client = anthropic.Anthropic()
soon = datetime.now(timezone.utc) + timedelta(days=7)
expiring = [
key
for key in client.beta.organization.api_keys.list(status="active")
if key.expires_at and key.expires_at <= soon
]
for key in expiring:
print(f"{key.name}: {key.expires_at.isoformat()} ({key.workspace_id or 'Default'})")client.beta.organization.api_keys.list() はイテレータなので、for を回すだけで必要な分だけ自動でページを取得します。取得件数が多い組織でも「今週の棚卸し対象を洗い出す」処理を毎朝定期実行に載せるだけで済みます。これは公式ドキュメントが Best practices に挙げる「APIキーの使用状況を監視し、expires_at を監査し、定期的にローテーションする」[2] をそのままコード化した形です。
user@sinyblog:~/article ❯ 10_offboarding.md実践2:退職者対応を自動化する(と落とし穴)
退職・異動時のオフボーディングも、公式が挙げる代表ユースケースの一つです[2]。まず組織からメンバーを削除します。
client = anthropic.Anthropic()
removed_user = client.beta.organization.users.remove("user_01XyDMpzjS89pFZXqSFUBDr6")
print(f"removed: {removed_user.id}")公式FAQは明言しています——「ユーザーを削除してもAPIキーは無関係のまま。APIキーは個人ではなく組織に紐づくため」[3]。唯一の例外がClaude Codeワークスペースで、ここで発行される個人用キーだけは所有者が組織/ワークスペースから外れると自動的に使えなくなります[3]。通常のワークスペースAPIキーは、退職者対応の一環として個別に inactive へ切り替える必要があります。
# API キーは組織/ワークスペース単位。退職者本人のキーを名前などで特定してから無効化する
api_key = client.beta.organization.api_keys.update(
"apikey_01Rj2N8SVvo6BePZj99NhmiT",
status="inactive",
)
print(f"{api_key.name}: {api_key.status}")つまり退職者対応の完全自動化は「①組織メンバー削除 → ②Claude Codeワークスペースの個人キーは自動失効 → ③それ以外のワークスペースキーは棚卸しリストと突き合わせて個別に無効化」という3段構えになります。①だけで終わらせると通常キーが生き残る点に注意してください。
user@sinyblog:~/article ❯ 11_rate_limits.md組織のレート制限をコードで読む
「今このモデルのRPM上限はいくつか」を毎回Consoleで見に行く代わりに、Rate Limits APIで読み取れます[4]。ant CLIなら1行です。
ant beta:organization:rate-limits list --model claude-opus-5レスポンスはモデル群ごとの上限をまとめた形で返ります。公式ドキュメント掲載の例です。
{
"group_type": "model_group",
"models": ["claude-opus-5"],
"limits": [
{ "type": "requests_per_minute", "value": 4000 },
{ "type": "input_tokens_per_minute", "value": 10000000 },
{ "type": "output_tokens_per_minute", "value": 800000 }
]
}ワークスペース側のエンドポイントは「組織値からの上書き分」だけを返す設計です。あるグループがレスポンスに出てこなければ、そのワークスペースは組織全体の制限をそのまま継承しているという意味になります[4]。用途としては、自社ゲートウェイの起動時に上限を読み込んでハードコードを排除する、Usage and Cost APIの実績値と突き合わせて閾値アラートを飛ばす、といった使い方が案内されています。ただしこのAPIは読み取り専用。上限の変更は引き続きConsoleのRate limitsタブから行います[4]。
user@sinyblog:~/article ❯ 12_enterprise.mdClaude Enterprise固有の機能
Claude Enterprise(claude.ai)組織は、Admin APIの呼び方が少し異なります。claude.ai側で発行するスコープ付きキー(sk-ant-api01-...)を使い、このページで扱う内容のうちメンバー/招待エンドポイントだけが対象になります[2]。
代わりにEnterprise限定の機能が開きます。グループとカスタムロールの読み取り、そして支出上限(Spend Limits API)です[2]。キーは read:members / write:members / read:rbac_groups / write:rbac_groups / read:spend_limits / write:spend_limits などのスコープを組み合わせて発行し、必要な権限だけを与える設計です[6]。
Claude Enterprise向けのユーザー管理エンドポイント(メンバー・招待・グループ・カスタムロール)は2026年7月14日にベータ提供が始まり、8月19日にベータを終えて正式版になっています。以前必要だった anthropic-beta: ce-user-management-2026-07-13 ヘッダーは、グループ/カスタムロール系のリクエストでも不要になりました(送っても引き続き動きます)[1]。
user@sinyblog:~/article ❯ 13_limits.mdできないこと・注意点(FAQ整理)
公式FAQをもとに、Admin APIで「できると誤解しやすいができないこと」を整理します[2][3]。
| できないこと | 実際の挙動・対処 |
|---|---|
| APIキーの新規発行 | Consoleのみ。Admin APIは既存キーの読み取り・改名・有効/無効切り替えだけ |
| adminロールメンバーの削除 | APIでは削除不可。Console側の操作が必要 |
| 招待の有効期限の変更 | 21日固定で設定不可 |
| ユーザー削除でAPIキーが自動失効 | 起きない(唯一の例外:Claude Codeワークスペースの個人キー) |
| レート制限の変更 | APIは読み取り専用。変更はConsoleのRate limitsタブから |
公式が挙げるBest practicesも、そのまま運用チェックリストとして使えます[2]。
- ワークスペース名・APIキー名は用途がわかる名前にする
- 失敗した操作のエラーハンドリングを必ず入れる
- メンバーのロールと権限を定期的に監査する
- 使われていないワークスペースと失効済み招待を掃除する
- APIキーの使用状況を監視し、
expires_atを監査し、定期的にローテーションする
user@sinyblog:~/article ❯ 99_summary.mdまとめ
今回のアップデートは、新機能というより「組織管理という地味な運用領域が、他のAPI操作と同じ開発体験に揃った」ことに価値があります。curlで我流のラッパーを書いていたチームほど、恩恵は大きいはずです。
- ant CLIと7言語SDKが
client.beta.organizationで統一。メンバー・ワークスペース・APIキー・レート制限などを型付きコードで操作できる。 - 認証は用途で使い分ける。日常はAdmin APIキー、サービスアカウント/WIF連携を触るときだけ
org:adminのOAuthトークン。管理用の資格情報は専用シェルに隔離する。 - 「できない」を先に把握しておく。新規キー発行はConsole限定、ユーザー削除でキーは自動失効しない(Claude Codeワークスペースの個人キーを除く)、レート制限はAPIでは読み取り専用。
まず着手するなら、失効間近のAPIキー抽出(ch09)のような読み取り専用スクリプトから始めるのが安全です。慣れてきたらオンボーディング/オフボーディングの自動化に広げる、という順番がおすすめです。