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

API d’administration

Gérez par programmation les ressources de votre organisation et ses workflows d’administration.

Les API d’administration vous permettent d’automatiser la gestion de votre organisation. Vous pouvez inviter des utilisateurs, examiner les journaux d’audit, administrer les projets, gérer les clés API, définir des plafonds de dépenses et des alertes, configurer la conservation des données et gérer les limites de débit. Utilisez ces API pour automatiser vos tâches de back-office, exécuter vos workflows de sécurité et créer des outils d’exploitation qui doivent fonctionner en dehors du tableau de bord.

Pour comprendre la différence entre un identifiant d’administration, une clé de projet appartenant à un utilisateur et le compte de service d’une charge de travail, consultez le guide Clés API et comptes de service.

Pour en savoir plus sur les points de terminaison, consultez la référence de l’API d’administration, notamment les rubriques Clés API d’administration, Invitations, Utilisateurs, Projets, Plafonds de dépenses et Journaux d’audit.

Utilisez une clé API d’administration avec le SDK

Pour accéder à ces points de terminaison, créez une clé API d’administration. Les clés API d’administration fonctionnent uniquement avec les points de terminaison d’administration.

Les SDK prennent en charge les API d’administration à partir des versions suivantes. Si vous utilisez une version antérieure, mettez votre SDK à jour.

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

Définissez la variable OPENAI_ADMIN_KEY, puis initialisez le SDK de votre langage.

Configurez le SDK avec une clé API d’administration
import OpenAI from "openai";

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

Limitez l’accès des projets aux modèles

Utilisez les autorisations d’accès aux modèles pour définir la liste des modèles autorisés ou bloqués dans un projet. Définissez mode sur allow_list pour autoriser uniquement les modèles de la liste, ou définissez mode sur deny_list pour bloquer les modèles de la liste et autoriser tous les autres modèles disponibles. Les identifiants de modèles doivent être visibles par l’organisation. Cette condition s’applique aussi aux instantanés de modèles affinés.

Définissez la liste des modèles autorisés ou bloqués dans un projet
const modelPermissions =
  await client.admin.organization.projects.modelPermissions.update("proj_abc", {
    mode: "allow_list",
    model_ids: ["gpt-4.1", "o3"],
  });

console.log(modelPermissions.mode);

Définissez un plafond de dépenses pour votre organisation

Utilisez le point de terminaison des plafonds de dépenses pour créer ou remplacer le plafond mensuel de dépenses que votre organisation ne peut pas dépasser. Exprimez threshold_amount en cents. L’exemple suivant fixe le plafond mensuel à 100 dollars :

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

Lorsque les dépenses comptabilisées atteignent ce plafond, les requêtes API concernées renvoient une erreur 429. Pour en savoir plus, consultez le guide des plafonds de dépenses.

Gérez les alertes de dépenses

Utilisez les alertes de dépenses d’un projet pour prévenir votre équipe lorsque les dépenses du projet atteignent un seuil. Indiquez le montant de chaque seuil en cents.

Créez une alerte de seuil de dépenses pour un projet
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);

Gérez la conservation des données

Utilisez les paramètres de conservation des données du projet pour appliquer la politique de conservation de l’organisation ou définir une politique propre au projet. Définissez retention_type sur organization_default pour que le projet hérite du paramètre de l’organisation.

Configurez la conservation des données d’un projet
const dataRetention =
  await client.admin.organization.projects.dataRetention.update("proj_abc", {
    retention_type: "organization_default",
  });

console.log(dataRetention.type);

Invitez un utilisateur par e-mail

Utilisez le point de terminaison des invitations pour envoyer à une adresse e-mail une invitation à rejoindre votre organisation.

Invitez un utilisateur par e-mail
const invite = await client.admin.organization.invites.create({
  email: "user@example.com",
  role: "reader",
});

console.log(invite.id);

Récupérez les journaux d’audit

Utilisez le point de terminaison des journaux d’audit pour obtenir la liste des actions récentes des utilisateurs et des modifications récentes de la configuration de l’organisation.

Récupérez les journaux d’audit
const auditLogs = await client.admin.organization.auditLogs.list({
  limit: 10,
});

console.log(auditLogs.data);