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

管理 API

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

管理 API を使うと、ユーザーの招待、監査ログの確認、プロジェクトや API キーの管理、利用額の上限やアラートの設定、データ保持やレート制限の管理といった組織の管理業務を自動化できます。ダッシュボードの外でバックオフィス業務を自動化したり、セキュリティ関連のワークフローや運用ツールを実行したりする際に利用できます。

管理用の認証情報、ユーザーが所有するプロジェクトキー、ワークロード用のサービスアカウントの違いについては、API キーとサービスアカウントを参照してください。

各エンドポイントの詳細は、管理 API リファレンスを参照してください。管理 API キー、招待、ユーザー、プロジェクト、利用額の上限、監査ログの項目があります。

SDK での管理 API キーの使用

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

各 SDK は以下のバージョンから管理 API に対応しています。お使いのバージョンによっては、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,
});

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

プロジェクトのモデル権限設定で、許可リストまたは拒否リストを指定します。mode を allow_list に設定すると、リストにあるモデルだけが許可されます。mode を deny_list に設定すると、リストにあるモデルがブロックされ、それ以外の利用可能なモデルは許可されます。指定できるのは、組織から参照できるモデル ID に限られます。これには、組織から参照できるファインチューニング済みモデルのスナップショットの 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_type を organization_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);