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 레퍼런스를 참고하세요. 관리자 API 키, 초대, 사용자, 프로젝트, 지출 한도, 감사 로그 항목에서 각 엔드포인트의 사용법을 확인할 수 있습니다.

SDK에서 관리자 API 키 사용하기

이 엔드포인트에 액세스하려면 관리자 API 키를 생성하세요. 관리자 API 키는 관리용 엔드포인트에서만 사용할 수 있습니다.

관리자 API는 다음 SDK 버전부터 지원됩니다. 이전 버전을 사용 중이라면 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);