For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Hauptnavigation

Admin-APIs

Verwalte Organisationsressourcen und administrative Arbeitsabläufe programmatisch.

Mit Admin-APIs kannst du Arbeitsabläufe zur Verwaltung deiner Organisation automatisieren: Personen einladen, Audit-Protokolle überprüfen, Projekte und API-Schlüssel verwalten, Ausgabenlimits und Benachrichtigungen festlegen, die Datenaufbewahrung steuern und Ratenlimits verwalten. Nutze sie für die Automatisierung im Backoffice, Sicherheitsabläufe und betriebliche Tools, die außerhalb des Dashboards ausgeführt werden sollen.

Details zu den Endpunkten findest du in der API-Referenz zur Verwaltung, unter anderem zu Admin-API-Schlüsseln, Einladungen, Nutzenden, Projekten, Ausgabenlimits und Audit-Protokollen.

Einen Admin-API-Schlüssel mit dem SDK verwenden

Erstelle einen Admin-API-Schlüssel, um auf diese Endpunkte zuzugreifen. Admin-API-Schlüssel können ausschließlich für Verwaltungsendpunkte verwendet werden.

Die Unterstützung für Admin-APIs wurde in den folgenden SDK-Versionen eingeführt. Möglicherweise musst du dein SDK aktualisieren:

  • Node: 6.36.0
  • Python: 2.34.0
  • Go: 3.34.0
  • Ruby: 0.61.0
  • Java: 4.34.0

Setze OPENAI_ADMIN_KEY und initialisiere anschließend das SDK für deine Programmiersprache.

Das SDK mit einem Admin-API-Schlüssel einrichten
import OpenAI from "openai";

const client = new OpenAI({
  adminAPIKey: process.env.OPENAI_ADMIN_KEY,
});

Modellzugriff für Projekte einschränken

Lege über die Modellberechtigungen eines Projekts eine Positivliste oder Sperrliste fest. Setze mode auf allow_list, um nur die aufgeführten Modelle zuzulassen. Setze alternativ mode auf deny_list, um die aufgeführten Modelle zu sperren und andere verfügbare Modelle zuzulassen. Die Modell-IDs müssen für die Organisation sichtbar sein. Das gilt auch für Snapshots von Modellen, die durch Fine-Tuning angepasst wurden.

Eine Positivliste oder Sperrliste für Modelle eines Projekts festlegen
const modelPermissions =
  await client.admin.organization.projects.modelPermissions.update("proj_abc", {
    mode: "allow_list",
    model_ids: ["gpt-4.1", "o3"],
  });

console.log(modelPermissions.mode);

Ein Ausgabenlimit für die Organisation festlegen

Nutze den Endpunkt für Ausgabenlimits, um das monatliche harte Ausgabenlimit deiner Organisation zu erstellen oder zu ersetzen. Gib threshold_amount in Cent an. Das folgende Beispiel legt ein monatliches Limit von 100 USD fest:

curl -X POST https://api.openai.com/v1/organization/spend_limit \
  -H "Authorization: Bearer $OPENAI_ADMIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "threshold_amount": 10000,
    "currency": "USD",
    "interval": "month"
  }'

Wenn die erfassten Ausgaben ein hartes Limit erreichen, geben betroffene API-Anfragen einen Fehler mit dem Code 429 zurück. Weitere Informationen findest du im Leitfaden zu Ausgabenlimits.

Benachrichtigungen zu Ausgabenlimits verwalten

Nutze Ausgabenbenachrichtigungen für Projekte, um dein Team zu informieren, sobald die Projektausgaben einen Schwellenwert erreichen. Die Schwellenwerte werden in Cent angegeben.

Eine Benachrichtigung zum Ausgabenlimit eines Projekts erstellen
const spendAlert = await client.admin.organization.projects.spendAlerts.create(
  "proj_abc",
  {
    currency: "USD",
    interval: "month",
    notification_channel: {
      recipients: ["billing@example.com"],
      type: "email",
      subject_prefix: "[OpenAI spend]",
    },
    threshold_amount: 50000,
  }
);

console.log(spendAlert.id);

Datenaufbewahrung verwalten

Über die Einstellungen zur Datenaufbewahrung eines Projekts kannst du die Aufbewahrungsrichtlinie der Organisation für dieses Projekt überschreiben oder übernehmen. Setze retention_type auf organization_default, um die Einstellung der Organisation zu übernehmen.

Datenaufbewahrung für ein Projekt festlegen
const dataRetention =
  await client.admin.organization.projects.dataRetention.update("proj_abc", {
    retention_type: "organization_default",
  });

console.log(dataRetention.type);

Eine Person per E-Mail einladen

Nutze den Endpunkt für Einladungen, um eine Einladung zur Organisation an eine E-Mail-Adresse zu senden.

Eine Person per E-Mail einladen
const invite = await client.admin.organization.invites.create({
  email: "user@example.com",
  role: "reader",
});

console.log(invite.id);

Audit-Protokolle abrufen

Nutze den Endpunkt für Audit-Protokolle, um die letzten Aktionen von Nutzenden und Konfigurationsänderungen in der Organisation aufzulisten.

Audit-Protokolle abrufen
const auditLogs = await client.admin.organization.auditLogs.list({
  limit: 10,
});

console.log(auditLogs.data);