For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal

APIs de administração

Gerencie recursos da organização e fluxos de trabalho administrativos de forma programática.

As APIs de administração permitem automatizar fluxos de trabalho de gerenciamento da organização, como convites de usuários, revisão de logs de auditoria, administração de projetos, gerenciamento de chaves de API, limites e alertas de gastos, retenção de dados e operações de limites de taxa. Use essas APIs para automatizar processos administrativos, executar fluxos de trabalho de segurança e criar ferramentas operacionais que precisam funcionar fora do painel.

Para obter detalhes sobre os endpoints, consulte a referência da API de administração, incluindo Chaves de API de administração, Convites, Usuários, Projetos, Limites de gastos e Logs de auditoria.

Use uma chave de API de administração com o SDK

Para acessar esses endpoints, crie uma chave de API de administração. As chaves de API de administração não podem ser usadas em endpoints que não sejam de administração.

O suporte às APIs de administração foi adicionado nas seguintes versões dos SDKs, por isso talvez seja necessário atualizar a versão do seu SDK:

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

Defina OPENAI_ADMIN_KEY e inicialize o SDK da sua linguagem.

Configure o SDK com uma chave de API de administração
import OpenAI from "openai";

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

Restrinja o acesso dos projetos aos modelos

Use as permissões de modelos do projeto para definir uma lista de modelos permitidos ou bloqueados para um projeto. Defina mode como allow_list para permitir apenas os modelos listados ou defina mode como deny_list para bloquear os modelos listados e permitir os demais modelos disponíveis. Os IDs dos modelos devem estar visíveis para a organização, incluindo os snapshots visíveis de modelos com ajuste fino.

Defina uma lista de modelos permitidos/bloqueados para um projeto
const modelPermissions =
  await client.admin.organization.projects.modelPermissions.update("proj_abc", {
    mode: "allow_list",
    model_ids: ["gpt-4.1", "o3"],
  });

console.log(modelPermissions.mode);

Defina um limite de gastos para a organização

Use o endpoint de limites de gastos para criar ou substituir o limite rígido de gastos mensais da sua organização. Defina threshold_amount em centavos. O exemplo a seguir define um limite mensal de US$ 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"
  }'

Quando os gastos monitorados atingem um limite rígido, as requisições de API afetadas retornam um erro 429. Para obter detalhes, consulte o guia de limites de gastos.

Gerencie alertas de limites de gastos

Use alertas de gastos do projeto para notificar sua equipe quando os gastos do projeto atingirem um valor definido. Os valores que acionam os alertas são especificados em centavos.

Crie um alerta de limite de gastos para um projeto
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);

Gerencie a retenção de dados

Use os controles de retenção de dados do projeto para substituir ou herdar a política de retenção da organização nesse projeto. Defina retention_type como organization_default para herdar a configuração da organização.

Defina a retenção de dados do projeto
const dataRetention =
  await client.admin.organization.projects.dataRetention.update("proj_abc", {
    retention_type: "organization_default",
  });

console.log(dataRetention.type);

Convide um usuário por e-mail

Use o endpoint de convites para enviar um convite para a organização a um endereço de e-mail.

Convide um usuário por e-mail
const invite = await client.admin.organization.invites.create({
  email: "user@example.com",
  role: "reader",
});

console.log(invite.id);

Recupere logs de auditoria

Use o endpoint de logs de auditoria para listar as ações recentes dos usuários e as alterações de configuração da organização.

Recupere logs de auditoria
const auditLogs = await client.admin.organization.auditLogs.list({
  limit: 10,
});

console.log(auditLogs.data);