Admin API
Kelola anggota organisasi, workspace, undangan, dan kunci API secara terprogram dengan Admin API, menggunakan kunci Admin API, token OAuth org:admin, atau kunci personal maupun kunci service account.
Admin API memungkinkan Anda mengelola anggota, workspace, undangan, dan kunci API organisasi Anda secara terprogram alih-alih secara manual di Claude Console.
Autentikasi
Lakukan autentikasi dengan salah satu dari tiga kredensial tersebut. Kunci Admin API mencakup sebagian besar endpoint. Endpoint service-account, federation-issuer, dan federation-rule hanya menerima token OAuth org:admin. Kirim kunci personal atau kunci service account dalam header x-api-key, sama seperti kunci Admin API. Contoh berikut memanggil endpoint info organisasi dengan token OAuth dan dengan kunci Admin API.
SDK Python, TypeScript, C#, Go, Java, PHP, dan Ruby mengekspos Admin API di bawah client.beta.organization, dan CLI ant di bawah ant beta:organization. Contoh di halaman ini menggunakan client default, yang membaca kunci Admin API dari ANTHROPIC_API_KEY atau token bearer OAuth dari ANTHROPIC_AUTH_TOKEN. Metode list SDK di Python, TypeScript, C#, Go, dan Java mengembalikan iterator yang mengambil halaman tambahan sesuai permintaan, sehingga limit menetapkan ukuran halaman, bukan total. Contoh PHP, Ruby, dan curl mengembalikan satu halaman. Di CLI, --limit membatasi hasil pada daftar anggota, undangan, workspace, anggota workspace, dan kunci API. Untuk parameter dan respons setiap endpoint, lihat referensi Admin API.
Token bearer OAuth
Login dengan CLI ant menggunakan profil khusus dengan scope org:admin (lihat Akses admin), lalu ekspor token bearer. --profile admin menyimpan kredensial org:admin di bawah profilnya sendiri dan menjadikannya profil aktif CLI. Variabel yang diekspor berlaku untuk setiap panggilan SDK dan CLI di shell tersebut. Gunakan shell yang Anda khususkan untuk administrasi, hapus variabel tersebut setelah selesai, dan kembalikan CLI dengan ant profile activate default:
ant auth login --profile admin --scope "org:admin"
export ANTHROPIC_AUTH_TOKEN=$(ant auth print-credentials --profile admin --access-token)Token interaktif berumur pendek. Jika permintaan mulai mengembalikan 401, jalankan kembali perintah export untuk memperbarui token.
SDK dan CLI ant membaca ANTHROPIC_AUTH_TOKEN secara otomatis. Biarkan ANTHROPIC_API_KEY tidak diatur di shell yang sama agar keduanya mengirim token bearer. Beban kerja otomatis melewati proses login: mereka melakukan autentikasi melalui workload identity federation, dan SDK serta CLI melakukan pertukaran token dari variabel lingkungan federation. Lihat Bootstrap beban kerja untuk mengelola WIF.
Panggil Admin API dengan token yang telah diekspor:
client = anthropic.Anthropic()
organization = client.beta.organization.retrieve()
print(f"id: {organization.id}")
print(f"name: {organization.name}")Token org:admin memberikan akses ke seluruh organisasi, terlepas dari workspace tempat profil yang mendasarinya atau federation rule terikat.
Untuk CI dan beban kerja non-interaktif lainnya, buat token dengan Workload Identity Federation alih-alih login secara interaktif. Lihat Mengelola WIF dengan Admin API.
Kunci Admin API
Untuk membuat kunci Admin API sesuai jenis organisasi Anda, lihat Membuat kunci Admin API.
client = anthropic.Anthropic()
organization = client.beta.organization.retrieve()
print(f"id: {organization.id}")
print(f"name: {organization.name}")Cara kerja Admin API
Lakukan autentikasi dengan kredensial apa pun dari Autentikasi, lalu kelola sumber daya berikut:
- Anggota organisasi dan perannya
- Undangan organisasi
- Workspace dan anggotanya
- Kunci API
- Service account, federation issuer, dan federation rule (hanya token OAuth
org:admin)
Penggunaan umum mencakup otomatisasi onboarding dan offboarding, pengelolaan akses workspace, dan audit kunci API.
Peran dan izin organisasi
Ada lima peran tingkat organisasi. Untuk detailnya, lihat Peran dan izin API Console.
| Peran | Izin |
|---|---|
| user | Dapat menggunakan playground |
| claude_code_user | Dapat menggunakan playground dan Claude Code |
| developer | Dapat menggunakan playground dan mengelola kunci API |
| billing | Dapat menggunakan playground dan mengelola detail penagihan |
| admin | Dapat melakukan semua hal di atas, ditambah mengelola pengguna |
Owner dan primary owner organisasi memiliki semua izin admin dan juga dapat mengelola admin. Semua rujukan ke peran admin di halaman ini juga berlaku untuk owner dan primary owner.
Konsep utama
Anggota organisasi
Daftarkan anggota organisasi, perbarui perannya, dan hapus mereka.
Daftarkan anggota organisasi Anda:
client = anthropic.Anthropic()
users = client.beta.organization.users.list(limit=10)
# Secara otomatis mengambil halaman lainnya sesuai kebutuhan.
for user in users:
print(f"{user.id}: {user.email} ({user.role})")Perbarui peran anggota:
client = anthropic.Anthropic()
user = client.beta.organization.users.update(
"user_01XyDMpzjS89pFZXqSFUBDr6", role="developer"
)
print(f"id: {user.id}")
print(f"role: {user.role}")Hapus anggota dari organisasi:
client = anthropic.Anthropic()
removed_user = client.beta.organization.users.remove("user_01XyDMpzjS89pFZXqSFUBDr6")
print(f"id: {removed_user.id}")Undangan organisasi
Undang pengguna ke organisasi Anda dan kelola undangan yang tertunda.
Undang pengguna ke organisasi Anda:
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}")Daftarkan undangan yang tertunda:
client = anthropic.Anthropic()
invites = client.beta.organization.invites.list(limit=10)
# Secara otomatis mengambil halaman tambahan sesuai kebutuhan.
for invite in invites:
print(f"{invite.id}: {invite.email} ({invite.status})")Hapus undangan:
client = anthropic.Anthropic()
deleted_invite = client.beta.organization.invites.delete(
"invite_015gWxHNr6h6TdRPZTmuCGnn"
)
print(f"id: {deleted_invite.id}")Workspace
Lihat Workspace untuk contoh Console dan API.
Anggota workspace
Kelola akses pengguna ke workspace tertentu:
Tambahkan anggota ke workspace:
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}")Daftarkan anggota workspace:
client = anthropic.Anthropic()
members = client.beta.organization.workspaces.members.list(
"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ", limit=10
)
# Secara otomatis mengambil halaman tambahan sesuai kebutuhan.
for member in members:
print(f"{member.user_id}: {member.workspace_role}")Perbarui peran anggota workspace:
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}")Hapus anggota dari workspace:
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}")Kunci API
Pantau dan kelola kunci API. Setiap kunci dalam respons menyertakan timestamp expires_at (null untuk kunci tanpa masa kedaluwarsa) dan principal, yaitu identitas yang diwakilinya (lihat Jenis kunci). Untuk kunci personal, principal adalah {"type": "user_actor", "user_id": "user_..."}; untuk kunci service account, {"type": "service_account_actor", "service_account_id": "svac_..."}; dan untuk kunci workspace, null. Setiap kunci juga memiliki objek scope: {"type": "workspace", "workspace_id": "wrkspc_..."} untuk kunci yang terikat pada satu workspace, atau {"type": "organization"} untuk kunci yang dapat bekerja di workspace mana pun yang dapat diakses akun tersebut. Field workspace_id tingkat atas sudah deprecated dan bernilai null baik untuk kunci yang terikat pada Default Workspace maupun untuk kunci tanpa scope workspace; gunakan scope untuk membedakannya. Memfilter daftar berdasarkan workspace_id dengan ID Default Workspace hanya mengembalikan kunci yang terikat pada Default Workspace; kunci tanpa scope workspace tidak dikembalikan di bawah filter workspace_id apa pun.
Daftarkan kunci API aktif di sebuah workspace:
client = anthropic.Anthropic()
api_keys = client.beta.organization.api_keys.list(
limit=10, status="active", workspace_id="wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
)
# Secara otomatis mengambil halaman tambahan sesuai kebutuhan.
for api_key in api_keys:
print(f"{api_key.id}: {api_key.name} ({api_key.status})")Ganti nama atau nonaktifkan kunci 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}")Service account
Buat dan kelola service account (svac_...), yaitu identitas non-manusia yang diwakili oleh kunci service account dan token Workload Identity Federation. Endpoint ini, seperti endpoint federation-issuer dan federation-rule, memerlukan token OAuth org:admin. Lihat Mengelola WIF dengan Admin API.
Federation issuer
Daftarkan penyedia identitas OIDC (fdis_...) yang tokennya dapat menyatakan identitas beban kerja untuk organisasi Anda. Lihat Mengelola WIF dengan Admin API.
Federation rule
Kelola aturan (fdrl_...) yang memetakan token issuer ke service account dan scope. Lihat Mengelola WIF dengan Admin API.
Mengakses info organisasi
Endpoint /v1/organizations/me mengembalikan organisasi tempat kredensial Anda berada:
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"
}Untuk detail parameter dan skema respons, lihat referensi Organization Info API.
Laporan penggunaan dan biaya
Lacak penggunaan dan biaya organisasi Anda dengan Usage and Cost API.
Analitik Claude Code
Pantau produktivitas developer dan adopsi Claude Code dengan Claude Code Analytics API.
Batas laju
Baca "rate limit" (batas laju) yang dikonfigurasi untuk organisasi Anda dan workspace-nya dengan Rate Limits API.
Compliance API
Ambil data audit dan aktivitas untuk organisasi Anda dengan Compliance API. Kunci Admin API hanya dapat membaca Activity Feed. Untuk akses penuh, lihat Menyiapkan Compliance API.
Praktik terbaik
- Gunakan nama dan deskripsi yang bermakna untuk workspace dan kunci API
- Tangani error dari operasi yang gagal
- Audit peran dan izin anggota secara berkala
- Bersihkan workspace yang tidak digunakan dan undangan yang kedaluwarsa
- Pantau penggunaan kunci API, audit
expires_atsetiap kunci, dan rotasi kunci secara berkala
FAQ
Admin API menerima kunci Admin API (diawali dengan sk-ant-admin), token bearer OAuth dengan scope org:admin, atau kunci personal maupun kunci service account yang tidak dibatasi pada workspace tertentu. Hanya anggota organisasi dengan peran admin yang dapat membuat kunci Admin API, dan hanya anggota dengan peran admin, owner, atau primary owner yang dapat memperoleh token org:admin. Kunci personal atau kunci service account memiliki izin yang sama dengan akun yang tertaut. Lihat Autentikasi.
Tidak. Anda membuat kunci API di Claude Console. Admin API hanya dapat membaca, mengganti nama, dan mengubah status kunci yang sudah ada.
Perilakunya bergantung pada jenis kunci.
Kunci personal berhenti berfungsi ketika penggunanya dihapus dari organisasi. Kunci service account berhenti berfungsi jika service account-nya diarsipkan, tetapi tetap berfungsi meskipun pengguna yang membuatnya dihapus. Kunci API workspace tetap berfungsi. Di workspace Claude Code, setiap kunci terikat pada anggota yang membuatnya dan berhenti berfungsi ketika anggota tersebut dihapus.
Tidak. API tidak dapat menghapus anggota dengan peran admin.
Undangan kedaluwarsa setelah 21 hari. Periode kedaluwarsa tidak dapat dikonfigurasi.
Untuk pertanyaan khusus workspace, lihat FAQ Workspace.
Was this page helpful?