For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション

管理 API

組織のリソースと管理ワークフローをプログラムで管理します。

管理 API を使用すると、ユーザーの招待、監査ログのレビュー、プロジェクト管理、API キー管理、利用額の上限とアラート、データ保持、レート制限の操作など、組織の管理ワークフローを自動化できます。バックオフィス業務の自動化やセキュリティワークフロー、ダッシュボードの外部で実行する運用ツールに活用してください。

エンドポイントの詳細については、管理 API キー招待ユーザープロジェクト利用額の上限監査ログなどを扱う管理 API リファレンスを参照してください。

SDK での管理 API キーの使用

これらのエンドポイントにアクセスするには、管理 API キーを作成してください。管理 API キーは、管理用以外のエンドポイントには使用できません。

管理 API のサポートは、以下の SDK バージョンで追加されました。使用中の SDK のバージョンによっては、更新が必要です。

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

OPENAI_ADMIN_KEY を設定してから、使用する言語の SDK を初期化します。

管理 API キーを使用した SDK のセットアップ
import OpenAI from "openai";

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

プロジェクトのモデルアクセス制限

プロジェクトのモデル権限を使用して、プロジェクトの許可リストまたは拒否リストを設定します。リストにあるモデルのみを許可するには、modeallow_list に設定します。リストにあるモデルをブロックし、利用可能なその他のモデルを許可するには、modedeny_list に設定します。指定するモデル ID は、組織から参照可能なものである必要があります。これには、参照可能なファインチューニング済みモデルのスナップショットも含まれます。

プロジェクトのモデル許可リスト/拒否リストの設定
const modelPermissions =
  await client.admin.organization.projects.modelPermissions.update("proj_abc", {
    mode: "allow_list",
    model_ids: ["gpt-4.1", "o3"],
  });

console.log(modelPermissions.mode);

組織の利用額の上限設定

利用額の上限エンドポイントを使用して、組織の月間利用額のハードリミットを作成または置き換えます。threshold_amount はセント単位で設定します。次の例では、月間の上限を 100 ドルに設定します。

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"
  }'

追跡対象の利用額がハードリミットに達すると、対象の API リクエストは 429 エラーを返します。詳細については、利用額の上限ガイドを参照してください。

利用額の上限アラートの管理

プロジェクトの利用額アラートを使用すると、プロジェクトの利用額がしきい値に達したときにチームへ通知できます。しきい値の金額はセント単位で指定します。

プロジェクトの利用額の上限アラートの作成
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);

データ保持の管理

プロジェクトのデータ保持設定を使用して、そのプロジェクトで組織の保持ポリシーを上書きするか、継承するかを指定します。組織の設定を継承するには、retention_typeorganization_default に設定します。

プロジェクトのデータ保持設定
const dataRetention =
  await client.admin.organization.projects.dataRetention.update("proj_abc", {
    retention_type: "organization_default",
  });

console.log(dataRetention.type);

メールによるユーザーの招待

招待エンドポイントを使用して、指定したメールアドレスに組織への招待を送信します。

メールによるユーザーの招待
const invite = await client.admin.organization.invites.create({
  email: "user@example.com",
  role: "reader",
});

console.log(invite.id);

監査ログの取得

監査ログエンドポイントを使用して、組織内の最近のユーザー操作と構成変更の一覧を取得します。

監査ログの取得
const auditLogs = await client.admin.organization.auditLogs.list({
  limit: 10,
});

console.log(auditLogs.data);