Skip to main content

API 개요

토큰 관리 API를 사용하면 콘솔에서 키를 하나씩 클릭하며 처리하는 대신 코드에서 API 키의 전체 수명 주기를 관리할 수 있습니다. 가장 일반적인 사용 사례는 배치 발급입니다. 즉, 각 팀원, 하위 고객 또는 프로젝트에 자체 키를 부여하고, 각 키마다 지출 가능한 총액, 호출할 수 있는 모델, 유효 기간에 대한 고유한 제한을 두는 방식입니다.

쿼터 제한

remain_quota 이 키가 총 얼마까지 사용할 수 있는지 제한합니다

모델 제한

models 허용 목록을 설정하며, 그 외의 호출은 거부됩니다

만료 제한

expired_time 만료 타임스탬프를 설정하며, 이후에는 키가 작동을 멈춥니다
키가 한두 개만 필요하다면 콘솔이 더 빠릅니다 — API 키를 만드는 방법을 참조하십시오. 이 API는 자동화된 발급, 예약된 순환, 또는 키 관리를 자체 시스템에 통합하는 용도에 적합합니다.

시스템 Token을 얻는 방법

Token Management API는 System Token으로 인증하며, 이는 API key와는 다른 것입니다.
1

콘솔에 접속

프로필 페이지에 접속하려면 api.apiyi.com/account/profile을(를) 방문하십시오
2

System Token 찾기

페이지 하단의 “Account Options - System Token” 섹션을 찾으십시오
3

액세스 토큰 생성

이후 API 요청에 사용할 수 있는 액세스 토큰을 받으려면 계정 비밀번호를 입력하십시오
System Token 받기
시스템 token은 API 키를 생성하고 삭제할 수 있습니다. 계정 비밀번호처럼 취급하십시오.시스템 token은 모델을 직접 호출할 수 없습니다. 이를 /v1/chat/completions에 사용하면 거부됩니다. 그러나 이를 사용해 생성한 API 키는 모델을 호출할 수 있습니다. 따라서 시스템 token이 유출되는 것은 단일 API 키가 유출되는 것보다 훨씬 더 심각합니다. 코드에 넣지 말고 비밀 관리자에 저장하며, 저장소에는 절대 커밋하지 말고, 주기적으로 교체하십시오.

엔드포인트

모든 엔드포인트는 동일한 방식으로 인증합니다: Authorization 헤더에 원시 시스템 token을 넣으십시오. Bearer 접두사 없이. 기본 URL은 https://api.apiyi.com입니다.

토큰 생성

요청 예시

요청 필드

unlimited_quota의 기본값은 false이고 remain_quota의 기본값은 0입니다 — 둘 다 생략하면 사용할 수 없는 0 쿼터의 토큰이 생성됩니다. remain_quota를 명시적으로 설정하거나 unlimited_quotatrue로 설정하십시오.
모델 허용 목록에는 models 필드를 사용하십시오.응답 구조에는 model_limits, model_limits_enabled, 그리고 allow_ips도 포함됩니다. 이를 전달해도 오류가 발생하지 않습니다 — 엔드포인트는 여전히 200을 반환합니다 — 하지만 이들은 현재는 아무 효과가 없으며, 토큰을 다시 조회해 보면 설정되지 않은 것으로 표시됩니다. 사용 가능한 모델을 제한하려면 models를 사용하십시오. 소스 IP 제한은 현재는 직접 구현해야 합니다.

응답 예시

응답의 key은 일반 텍스트이며 sk- 접두사를 포함하지 않습니다. 직접 앞에 붙여야 합니다 — 위 예시에서 실제 API 키는 sk-K1RPzapu…입니다.생성 시 키를 저장하고 배포하며, key가 포함된 응답 본문을 로그 파일에 그대로 남겨 두지 마십시오.

배치 생성

서버 측 배치 엔드포인트는 없습니다 — 요청 본문에 count와 같은 값을 전달해도 아무런 효과가 없으며 여전히 단일 token이 생성됩니다. 배치 발급은 클라이언트에서 반복문을 사용해 수행합니다.

세 가지 제한 사용

쿼터 제한

remain_quota는 token이 사용할 수 있는 금액을 제한합니다. 환산은 잔액 조회 API와 일치합니다:

환산 규칙

500,000 quota = $1.00 USD
예를 들어, 하위 고객에게 상한이 $10인 키를 발급하려면 remain_quota5000000로 설정하고 unlimited_quotafalse로 설정합니다. 현재까지의 사용량은 token의 used_quota 필드에서 확인할 수 있습니다.

모델 제한

models는 쉼표로 구분된 허용 목록입니다. 한 번 설정하면 목록 밖의 모델을 호출하면 거부됩니다:
응답은 HTTP 403이며 과금되지 않습니다. models를 생략하면 제한이 없습니다.

만료 제한

expired_time는 Unix 초 타임스탬프이며, -1는 만료되지 않음을 의미합니다. 예를 들어, 30일 후 만료되는 키는 다음과 같습니다:

토큰 나열

주요 필드:

Token 업데이트하기

업데이트 엔드포인트는 전체 객체를 필요로 합니다 — 패치가 아닙니다.올바른 흐름은 다음과 같습니다: GET 전체 token 객체를 가져와서, 변경하려는 필드를 수정한 뒤 PUT 전체 객체를 다시 보냅니다. 변경된 필드만 보내면 나머지 값이 지워집니다.

비활성화 및 삭제

비활성화(기록은 유지됨)

비활성화되면 키는 즉시 작동을 멈춥니다 — 이를 사용한 호출은 401을 반환합니다 — 그러나 token 기록과 사용 내역은 유지됩니다.

삭제(되돌릴 수 없음)

일괄 삭제도 마찬가지로 클라이언트 측 루프입니다:
삭제는 되돌릴 수 없습니다. 키를 일시적으로 중단하려는 경우에는 대신 비활성화하십시오 — 사용 기록은 대조를 위해 계속 확인할 수 있습니다.

자주 묻는 질문

응답의 key에는 sk- 접두사가 포함되어 있지 않습니다. 직접 앞에 붙이십시오: 사용 가능한 API key는 sk-에 반환된 값을 이어 붙인 것입니다.
생성 시 remain_quota도 설정되지 않았고 unlimited_quotatrue로 설정되지 않았기 때문일 가능성이 큽니다. 그 기본 조합은 쿼터가 0인 token을 만듭니다. 두 값 중 하나를 명시적으로 지정하여 다시 생성하십시오.
해당 필드들은 model_limits_enabled와 함께 현재 적용되지 않습니다. 전달해도 오류는 발생하지 않지만 아무것도 저장되지 않습니다. 사용 가능한 모델을 제한하려면 models를 사용하십시오. 소스 IP 제한은 당분간 직접 처리해야 합니다.
서버 측 일괄 처리 엔드포인트는 없으며, 본문에 count 같은 값을 넣어도 효과가 없습니다. 대신 클라이언트에서 create 호출을 반복하십시오 — 위의 일괄 생성 섹션을 참조하십시오.
업데이트 엔드포인트는 전체 객체를 요구합니다. GET 전체 객체를 먼저 가져온 다음 수정하고, 변경된 필드만 보내지 말고 PUT 전체를 다시 보내십시오.
비활성화(status: 2)하면 키가 즉시 작동을 멈추지만 기록과 사용 내역은 유지되며, 언제든지 1로 다시 설정할 수 있습니다. 삭제는 되돌릴 수 없으며 기록을 제거합니다. 일시 중단에는 비활성화를 권장합니다.
token의 used_quota 필드는 해당 key의 누적 지출입니다(÷ 500,000 = USD). 기간별 내역이나 호출 수준의 세부 정보를 보려면 token_name 필터와 함께 Log Query API를 사용하십시오.

중요 사항

시스템 token은 API 키가 아니며, 둘은 서로 대체할 수 없습니다
  • API 키(접두사가 sk-로 시작)는 /v1/* 추론 엔드포인트용입니다
  • 시스템 token(접두사가 없는 일반 문자열)은 /api/* 관리 엔드포인트용입니다
서로 혼동하면 각각 401과 유효하지 않은 token 오류가 반환됩니다.
평문 키를 주의해서 다루십시오생성 응답과 token 목록은 모두 키를 평문으로 반환합니다. 따라서:
  • key가 포함된 응답 본문을 로그 파일에 기록하거나 저장소에 커밋하지 마십시오
  • 키는 팀원에게 그룹 채팅이 아니라 보안 채널로 배포하십시오
  • 이 평문에는 sk- 접두사가 없으므로 일반적인 시크릿 스캐너가 이를 감지하지 못할 수 있습니다 — 자동 검사에 이를 잡아내도록 의존하지 마십시오
운영 팁
  • 대량으로 생성할 때는 호출 사이에 적당한 지연을 추가하여 순간 동시 실행 수가 높아지지 않도록 하십시오
  • 각 키에 의미 있는 name(예: team-alice 또는 prod-webhook)를 지정하여 나중에 로그에서 token_name별 사용량을 추적할 수 있도록 하십시오
  • 교체할 때는 새 키를 생성하고, 트래픽을 전환한 뒤, 이전 키를 비활성화하고, 잠시 관찰한 다음, 호출이 더 이상 없음을 확인한 뒤에만 삭제하십시오

관련 문서