Admin API
Verwalte Organisationsmitglieder, Workspaces, Einladungen und API-Keys programmatisch mit der Admin API, unter Verwendung eines Admin-API-Keys, eines org:admin-OAuth-Tokens oder eines persönlichen Keys bzw. Service-Account-Keys.
Mit der Admin API kannst du die Mitglieder, Workspaces, Einladungen und API-Keys deiner Organisation programmatisch verwalten, anstatt dies manuell in der Claude Console zu tun.
Authentifizierung
Authentifiziere dich mit einer der drei Arten von Anmeldedaten. Ein Admin-API-Key deckt die meisten Endpunkte ab. Die Endpunkte für Service-Accounts, Federation-Issuer und Federation-Regeln akzeptieren nur ein org:admin-OAuth-Token. Sende einen persönlichen Key oder Service-Account-Key im x-api-key-Header, genau wie einen Admin-API-Key. Die folgenden Beispiele rufen den Endpunkt für Organisationsinformationen mit einem OAuth-Token und mit einem Admin-API-Key auf.
Die SDKs für Python, TypeScript, C#, Go, Java, PHP und Ruby stellen die Admin API unter client.beta.organization bereit, und die ant-CLI unter ant beta:organization. Die Beispiele auf dieser Seite verwenden den Standard-Client, der einen Admin-API-Key aus ANTHROPIC_API_KEY oder ein OAuth-Bearer-Token aus ANTHROPIC_AUTH_TOKEN liest. SDK-Listenmethoden in Python, TypeScript, C#, Go und Java geben einen Iterator zurück, der bei Bedarf weitere Seiten abruft, sodass limit die Seitengröße festlegt, nicht die Gesamtzahl. Die Beispiele für PHP, Ruby und curl geben eine Seite zurück. In der CLI begrenzt --limit die Ergebnisse bei den Listen für Mitglieder, Einladungen, Workspaces, Workspace-Mitglieder und API-Keys. Die Parameter und Antworten der einzelnen Endpunkte findest du in der Admin-API-Referenz.
OAuth-Bearer-Token
Melde dich mit der ant-CLI unter einem dedizierten Profil mit dem Scope org:admin an (siehe Admin-Zugriff) und exportiere dann das Bearer-Token. --profile admin speichert die org:admin-Anmeldedaten unter einem eigenen Profil und macht es zum aktiven Profil der CLI. Die exportierte Variable gilt für jeden SDK- und CLI-Aufruf in dieser Shell. Verwende eine Shell, die du für die Administration reservierst, setze die Variable zurück, wenn du fertig bist, und schalte die CLI mit ant profile activate default zurück:
ant auth login --profile admin --scope "org:admin"
export ANTHROPIC_AUTH_TOKEN=$(ant auth print-credentials --profile admin --access-token)Interaktive Tokens sind kurzlebig. Wenn Anfragen beginnen, 401 zurückzugeben, führe den export-Befehl erneut aus, um das Token zu aktualisieren.
Die SDKs und die ant-CLI lesen ANTHROPIC_AUTH_TOKEN automatisch. Lass ANTHROPIC_API_KEY in derselben Shell ungesetzt, damit sie das Bearer-Token senden. Automatisierte Workloads überspringen die Anmeldung: Sie authentifizieren sich über Workload Identity Federation, und die SDKs und die CLI führen den Token-Austausch anhand der Federation-Umgebungsvariablen durch. Siehe Einen Workload zur Verwaltung von WIF bootstrappen.
Rufe die Admin API mit dem exportierten Token auf:
client = anthropic.Anthropic()
organization = client.beta.organization.retrieve()
print(f"id: {organization.id}")
print(f"name: {organization.name}")Ein org:admin-Token gewährt Zugriff auf die gesamte Organisation, unabhängig davon, an welchen Workspace das zugrunde liegende Profil oder die Federation-Regel gebunden ist.
Für CI und andere nicht-interaktive Workloads erzeuge das Token mit Workload Identity Federation, anstatt dich interaktiv anzumelden. Siehe WIF mit der Admin API verwalten.
Admin-API-Key
Um einen Admin-API-Key für deinen Organisationstyp zu erstellen, siehe Einen Admin-API-Key erstellen.
client = anthropic.Anthropic()
organization = client.beta.organization.retrieve()
print(f"id: {organization.id}")
print(f"name: {organization.name}")So funktioniert die Admin API
Authentifiziere dich mit beliebigen Anmeldedaten aus Authentifizierung und verwalte dann die folgenden Ressourcen:
- Organisationsmitglieder und ihre Rollen
- Organisationseinladungen
- Workspaces und ihre Mitglieder
- API-Keys
- Service-Accounts, Federation-Issuer und Federation-Regeln (nur mit
org:admin-OAuth-Token)
Häufige Anwendungsfälle sind die Automatisierung von Onboarding und Offboarding, die Verwaltung des Workspace-Zugriffs und das Auditieren von API-Keys.
Organisationsrollen und Berechtigungen
Es gibt fünf Rollen auf Organisationsebene. Details findest du unter API-Console-Rollen und -Berechtigungen.
| Rolle | Berechtigungen |
|---|---|
| user | Kann den Playground nutzen |
| claude_code_user | Kann den Playground und Claude Code nutzen |
| developer | Kann den Playground nutzen und API-Keys verwalten |
| billing | Kann den Playground nutzen und Abrechnungsdetails verwalten |
| admin | Kann alles Vorgenannte und zusätzlich Benutzer verwalten |
Organisations-Owner und Primary Owner haben alle Admin-Berechtigungen und können zusätzlich Admins verwalten. Alle Verweise auf die Rolle admin auf dieser Seite gelten auch für Owner und Primary Owner.
Wichtige Konzepte
Organisationsmitglieder
Liste Organisationsmitglieder auf, aktualisiere ihre Rollen und entferne sie.
Liste die Mitglieder deiner Organisation auf:
client = anthropic.Anthropic()
users = client.beta.organization.users.list(limit=10)
# Ruft bei Bedarf automatisch weitere Seiten ab.
for user in users:
print(f"{user.id}: {user.email} ({user.role})")Aktualisiere die Rolle eines Mitglieds:
client = anthropic.Anthropic()
user = client.beta.organization.users.update(
"user_01XyDMpzjS89pFZXqSFUBDr6", role="developer"
)
print(f"id: {user.id}")
print(f"role: {user.role}")Entferne ein Mitglied aus der Organisation:
client = anthropic.Anthropic()
removed_user = client.beta.organization.users.remove("user_01XyDMpzjS89pFZXqSFUBDr6")
print(f"id: {removed_user.id}")Organisationseinladungen
Lade Benutzer in deine Organisation ein und verwalte ausstehende Einladungen.
Lade einen Benutzer in deine Organisation ein:
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}")Liste ausstehende Einladungen auf:
client = anthropic.Anthropic()
invites = client.beta.organization.invites.list(limit=10)
# Ruft bei Bedarf automatisch weitere Seiten ab.
for invite in invites:
print(f"{invite.id}: {invite.email} ({invite.status})")Lösche eine Einladung:
client = anthropic.Anthropic()
deleted_invite = client.beta.organization.invites.delete(
"invite_015gWxHNr6h6TdRPZTmuCGnn"
)
print(f"id: {deleted_invite.id}")Workspaces
Siehe Workspaces für Beispiele zur Console und zur API.
Workspace-Mitglieder
Verwalte den Benutzerzugriff auf bestimmte Workspaces:
Füge ein Mitglied zu einem Workspace hinzu:
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}")Liste die Mitglieder eines Workspace auf:
client = anthropic.Anthropic()
members = client.beta.organization.workspaces.members.list(
"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ", limit=10
)
# Ruft bei Bedarf automatisch weitere Seiten ab.
for member in members:
print(f"{member.user_id}: {member.workspace_role}")Aktualisiere die Rolle eines Workspace-Mitglieds:
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}")Entferne ein Mitglied aus einem 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}")API-Keys
Überwache und verwalte API-Keys. Jeder Key in der Antwort enthält seinen expires_at-Zeitstempel (null für Keys ohne Ablaufdatum) und principal, die Identität, als die er agiert (siehe Key-Typen). Für einen persönlichen Key ist principal {"type": "user_actor", "user_id": "user_..."}; für einen Service-Account-Key {"type": "service_account_actor", "service_account_id": "svac_..."}; und für einen Workspace-Key null. Jeder Key hat außerdem ein scope-Objekt: {"type": "workspace", "workspace_id": "wrkspc_..."} für einen Key, der an einen Workspace gebunden ist, oder {"type": "organization"} für einen Key, der in jedem Workspace funktioniert, auf den das Konto Zugriff hat. Das Feld workspace_id auf oberster Ebene ist abgekündigt und ist null sowohl für Keys, die an den Default Workspace gebunden sind, als auch für Keys ohne Workspace-Scope; verwende scope, um sie zu unterscheiden. Wenn du die Liste nach workspace_id mit der ID des Default Workspace filterst, werden nur Keys zurückgegeben, die an den Default Workspace gebunden sind; Keys ohne Workspace-Scope werden unter keinem workspace_id-Filter zurückgegeben.
Liste die aktiven API-Keys in einem Workspace auf:
client = anthropic.Anthropic()
api_keys = client.beta.organization.api_keys.list(
limit=10, status="active", workspace_id="wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
)
# Ruft bei Bedarf automatisch weitere Seiten ab.
for api_key in api_keys:
print(f"{api_key.id}: {api_key.name} ({api_key.status})")Benenne einen API-Key um oder deaktiviere ihn:
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-Accounts
Erstelle und verwalte Service-Accounts (svac_...), die nicht-menschlichen Identitäten, als die Service-Account-Keys und Workload Identity Federation-Tokens agieren. Diese Endpunkte erfordern, wie die Endpunkte für Federation-Issuer und Federation-Regeln, ein org:admin-OAuth-Token. Siehe WIF mit der Admin API verwalten.
Federation-Issuer
Registriere die OIDC-Identitätsanbieter (fdis_...), deren Tokens Workload-Identitäten für deine Organisation geltend machen dürfen. Siehe WIF mit der Admin API verwalten.
Federation-Regeln
Verwalte die Regeln (fdrl_...), die Issuer-Tokens auf Service-Accounts und Scopes abbilden. Siehe WIF mit der Admin API verwalten.
Zugriff auf Organisationsinformationen
Der Endpunkt /v1/organizations/me gibt die Organisation zurück, zu der deine Anmeldedaten gehören:
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"
}Parameterdetails und Antwortschemata findest du in der API-Referenz für Organisationsinformationen.
Nutzungs- und Kostenberichte
Verfolge die Nutzung und Kosten deiner Organisation mit der Usage and Cost API.
Claude-Code-Analysen
Überwache die Entwicklerproduktivität und die Einführung von Claude Code mit der Claude Code Analytics API.
Ratenlimits
Lies die für deine Organisation und ihre Workspaces konfigurierten Ratenlimits mit der Rate Limits API.
Compliance API
Rufe Audit- und Aktivitätsdaten für deine Organisation mit der Compliance API ab. Admin-API-Keys können nur den Activity Feed lesen. Für vollen Zugriff siehe Die Compliance API einrichten.
Best Practices
- Verwende aussagekräftige Namen und Beschreibungen für Workspaces und API-Keys
- Behandle Fehler aus fehlgeschlagenen Operationen
- Auditiere regelmäßig Mitgliederrollen und Berechtigungen
- Räume ungenutzte Workspaces und abgelaufene Einladungen auf
- Überwache die Nutzung von API-Keys, auditiere das
expires_atjedes Keys und rotiere Keys regelmäßig
FAQ
Die Admin API akzeptiert einen Admin-API-Key (beginnend mit sk-ant-admin), ein OAuth-Bearer-Token mit dem Scope org:admin oder einen persönlichen Key bzw. Service-Account-Key, der nicht auf einen bestimmten Workspace beschränkt ist. Nur Organisationsmitglieder mit der Rolle admin können Admin-API-Keys bereitstellen, und nur Mitglieder mit der Rolle admin, owner oder primary owner können org:admin-Tokens erhalten. Ein persönlicher Key oder Service-Account-Key hat dieselben Berechtigungen wie das verknüpfte Konto. Siehe Authentifizierung.
Nein. API-Keys erstellst du in der Claude Console. Die Admin API kann bestehende Keys nur lesen, umbenennen und ihren Status ändern.
Das Verhalten hängt vom Key-Typ ab.
Persönliche Keys funktionieren nicht mehr, wenn ihr Benutzer aus der Organisation entfernt wird. Service-Account-Keys funktionieren nicht mehr, wenn ihr Service-Account archiviert wird, funktionieren aber weiterhin, selbst wenn der Benutzer, der sie erstellt hat, entfernt wird. Workspace-API-Keys funktionieren weiterhin. Im Claude-Code-Workspace ist jeder Key an das Mitglied gebunden, das ihn erstellt hat, und funktioniert nicht mehr, wenn dieses Mitglied entfernt wird.
Nein. Die API kann keine Mitglieder mit der Rolle admin entfernen.
Einladungen laufen nach 21 Tagen ab. Die Ablauffrist ist nicht konfigurierbar.
Workspace-spezifische Fragen findest du in den Workspaces-FAQ.
Was this page helpful?