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

API de administración

Administra los recursos de la organización y los flujos de trabajo administrativos de forma programática.

Las API de administración te permiten automatizar flujos de trabajo de gestión de la organización, como las invitaciones a usuarios, la revisión de registros de auditoría, la administración de proyectos, la gestión de claves de API, los límites y las alertas de gasto, la retención de datos y las operaciones relacionadas con los límites de solicitudes. Úsalas para automatizar tareas administrativas, ejecutar flujos de trabajo de seguridad y crear herramientas operativas que deban funcionar fuera del panel.

Para obtener detalles sobre los puntos de acceso, consulta la referencia de la API de administración, que incluye Claves de API de administración, Invitaciones, Usuarios, Proyectos, Límites de gasto y Registros de auditoría.

Usa una clave de API de administración con el SDK

Para acceder a estos puntos de acceso, crea una clave de API de administración. Las claves de API de administración no se pueden usar con puntos de acceso que no sean de administración.

La compatibilidad con las API de administración se agregó en estas versiones de los SDK, por lo que es posible que debas actualizar la versión de tu SDK:

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

Configura OPENAI_ADMIN_KEY y luego inicializa el SDK de tu lenguaje.

Configura el SDK con una clave de API de administración
import OpenAI from "openai";

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

Restringe el acceso a modelos para los proyectos

Usa los permisos de modelos del proyecto para establecer una lista de modelos permitidos o bloqueados. Establece mode en allow_list para permitir solo los modelos de la lista, o establece mode en deny_list para bloquear los modelos de la lista y permitir los demás modelos disponibles. Los ID de los modelos deben ser visibles para la organización, incluidos los de las versiones visibles de modelos con ajuste fino.

Establece una lista de modelos permitidos o bloqueados para un proyecto
const modelPermissions =
  await client.admin.organization.projects.modelPermissions.update("proj_abc", {
    mode: "allow_list",
    model_ids: ["gpt-4.1", "o3"],
  });

console.log(modelPermissions.mode);

Establece un límite de gasto para la organización

Usa el punto de acceso de límites de gasto para crear o reemplazar el límite estricto de gasto mensual de tu organización. Especifica threshold_amount en centavos. El siguiente ejemplo establece un límite mensual de $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"
  }'

Cuando el gasto registrado alcanza un límite estricto, las solicitudes afectadas a la API devuelven un error 429. Para obtener más detalles, consulta la guía de límites de gasto.

Administra las alertas de límites de gasto

Usa las alertas de gasto del proyecto para notificar a tu equipo cuando el gasto del proyecto alcance un umbral. Los montos de los umbrales se especifican en centavos.

Crea una alerta de límite de gasto para un proyecto
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);

Administra la retención de datos

Usa los controles de retención de datos del proyecto para reemplazar o heredar la política de retención de la organización en ese proyecto. Establece retention_type en organization_default para heredar la configuración de la organización.

Configura la retención de datos del proyecto
const dataRetention =
  await client.admin.organization.projects.dataRetention.update("proj_abc", {
    retention_type: "organization_default",
  });

console.log(dataRetention.type);

Invita a un usuario por correo electrónico

Usa el punto de acceso de invitaciones para enviar una invitación a la organización a una dirección de correo electrónico.

Invita a un usuario por correo electrónico
const invite = await client.admin.organization.invites.create({
  email: "user@example.com",
  role: "reader",
});

console.log(invite.id);

Recupera registros de auditoría

Usa el punto de acceso de registros de auditoría para obtener una lista de las acciones recientes de los usuarios y los cambios de configuración de la organización.

Recupera registros de auditoría
const auditLogs = await client.admin.organization.auditLogs.list({
  limit: 10,
});

console.log(auditLogs.data);