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
Theme

API de administración

Gestiona los recursos de tu organización y los flujos de trabajo administrativos mediante código.

Las API de administración te permiten automatizar tareas de gestión de tu organización, como invitar a usuarios, revisar registros de auditoría, administrar proyectos, gestionar claves de API, configurar límites de gasto y alertas, controlar la retención de datos y gestionar los límites de solicitudes. Úsalas para automatizar tareas internas y para implementar flujos de trabajo de seguridad y herramientas operativas que deban ejecutarse fuera del panel.

Para conocer las diferencias entre una credencial administrativa, una clave de proyecto que pertenece a un usuario y la cuenta de servicio de una carga de trabajo, consulta Claves de API y cuentas de servicio.

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

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

Para usar estos puntos de acceso, crea una clave de API de administración. Las claves de API de administración solo se pueden usar con los puntos de acceso administrativos.

Las siguientes versiones de los SDK incorporaron compatibilidad con las API de administración. Es posible que necesites actualizar 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 de programación.

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

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

Restringir el acceso de los proyectos a los modelos

Usa los permisos de acceso a modelos del proyecto para definir una lista de modelos permitidos o bloqueados. Asigna a mode el valor allow_list para permitir solo los modelos de la lista, o asigna a mode el valor deny_list para bloquear los modelos de la lista y permitir los demás modelos disponibles. Los identificadores deben corresponder a modelos visibles para la organización, incluidas las instantáneas visibles de modelos ajustados.

Definir 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);

Establecer 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 máximo de gasto mensual de tu organización. Especifica threshold_amount en centavos. En el siguiente ejemplo se establece un límite mensual de 100 USD.

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 el límite máximo, las solicitudes de API afectadas devuelven un error 429. Para obtener más información, consulta la guía sobre límites de gasto.

Gestionar alertas de límites de gasto

Usa las alertas de gasto del proyecto para avisar a tu equipo cuando el gasto del proyecto alcance un umbral. Los umbrales se expresan en centavos.

Crear 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);

Gestionar la retención de datos

Usa los controles de retención de datos del proyecto para definir una política de retención propia o heredar la de la organización. Asigna a retention_type el valor organization_default para heredar la configuración de la organización.

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

console.log(dataRetention.type);

Invitar a un usuario por correo electrónico

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

Invitar 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);

Consultar los 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 recientes en la configuración de la organización.

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

console.log(auditLogs.data);