Claude Platform Docs
AdminOrganisation

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:

CLI
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.

RolleBerechtigungen
userKann den Playground nutzen
claude_code_userKann den Playground und Claude Code nutzen
developerKann den Playground nutzen und API-Keys verwalten
billingKann den Playground nutzen und Abrechnungsdetails verwalten
adminKann 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_at jedes Keys und rotiere Keys regelmäßig

FAQ

Workspace-spezifische Fragen findest du in den Workspaces-FAQ.

Was this page helpful?