API 개요
Token 관리 API를 사용하면 콘솔에서 키를 하나씩 클릭해 관리하는 대신, 코드로 API 키의 전체 수명 주기를 관리할 수 있습니다. 가장 일반적인 사용 사례는 일괄 발급입니다. 각 팀원, 다운스트림 고객 또는 프로젝트에 각각 고유한 키를 제공하고, 각 키에 사용할 수 있는 금액, 호출할 수 있는 모델, 유효 기간을 개별적으로 설정할 수 있습니다. 예약 작업과 함께 사용하면 각 키에 자동으로 재설정되는 일일 예산을 설정할 수도 있습니다.쿼터 한도
remain_quota 이 키가 사용할 수 있는 총액을 제한합니다모델 제한
models 허용 목록을 설정하며, 목록에 없는 항목에 대한 호출은 거부됩니다만료 제한
expired_time 만료 시각을 설정하며, 이 시각이 지나면 키가 작동하지 않습니다키가 한두 개만 필요하다면 콘솔을 사용하는 편이 더 빠릅니다. API 키 생성 방법을 참고하세요. 이 API는 자동 발급, 예약된 키 로테이션 또는 자체 시스템에 키 관리를 통합하는 용도를 위한 것입니다.
개인 액세스 Token 발급 방법
Token 관리 API는 개인 액세스 token(nap_로 시작)으로 인증하며, 이는 API 키와 동일하지 않습니다.
1
개인 액세스 Tokens 열기
api.apiyi.com/account/profile의 프로필 페이지로 이동합니다. 계정 옵션에서 개인 액세스 Tokens → Token 생성을 클릭합니다.2
필요한 Model keys 권한 선택
세 가지 권한은 독립적입니다. 사용하는 권한만 선택하십시오:
대량 발급 스크립트에는 세 가지가 모두 필요합니다. 사용량 모니터링 스크립트에는 Read 권한만 필요합니다.
3
만료 기간 및 IP 허용 목록 설정
기본 만료 기간은 30일이므로 더 긴 기간으로 설정하는 것을 권장합니다. 발급 스크립트가 고정 IP를 사용하는 서버에서 실행되는 경우 IP 허용 목록을 설정하는 것을 강력히 권장합니다. 허용 목록은 생성 후 수정할 수 없으므로, 먼저 허용 목록 없이 스크립트가 정상 작동하는지 확인한 다음 허용 목록이 포함된 별도의 프로덕션 token을 생성하십시오.

엔드포인트
모든 엔드포인트는 동일한 방식으로 인증합니다: 개인 액세스 token을Authorization 헤더에 입력합니다.
Bearer 접두사는 선택 사항입니다.
기본 URL은
https://api.apiyi.com입니다.
token 생성
요청 예시
요청 필드
응답 예시
키 일반 텍스트 조회
- 개인 액세스 토큰에 Model keys · Reveal secret 권한이 필요하며, 그렇지 않으면 403
ACCESS_TOKEN_SCOPE_DENIED이 반환됩니다. - 반환된
key에는sk-접두사가 포함되지 않습니다. 직접 앞에 추가해야 합니다. 위 예시에서 실제 API 키는sk-K1RPzapu…입니다. - 즉시 저장하고 안전한 채널을 통해 배포하십시오. 응답 본문을 로그 파일에 남겨두지 마십시오.
일괄 생성
서버 측 일괄 생성 엔드포인트는 제공되지 않습니다 — 요청 본문에count와 같은 값을 전달해도
적용되지 않으며 단일 token만 생성됩니다. 일괄 발급은 클라이언트에서 반복 실행하여 수행합니다.
- Python
- Node.js
- cURL
세 가지 제한 사용
쿼터 제한
remain_quota은 token이 사용할 수 있는 금액을 제한합니다. 환산 기준은
잔액 조회 API와 일치합니다.
환산 규칙
쿼터 500,000 = $1.00 USD
remain_quota을
5000000로 설정하고 unlimited_quota은 false로 설정합니다. 현재까지의 사용량은 token의
used_quota 필드에서 확인할 수 있습니다.
remain_quota은 일회성 총액이며 자동으로 충전되지 않습니다. 일일 예산을 설정하려면 아래의 시나리오: 키별 일일 한도를 자동으로 초기화를 참조하세요.
모델 제한
models은 쉼표로 구분된 허용 목록입니다. 설정하면 목록에 없는 모델을 호출할 때 요청이 거부됩니다.
models을 생략하면 제한이 적용되지 않습니다.
만료 제한
expired_time은 Unix 초 단위 타임스탬프이며, -1은 만료되지 않음을 의미합니다. 예를 들어, 30일 후 만료되는 키는 다음과 같습니다.
Token 목록 조회
Token 업데이트하기
시나리오: 매일 자동으로 초기화되는 키별 한도
회사에서 워크플로, 팀 구성원 또는 다운스트림 프로젝트에 키를 제공할 때 흔히 필요한 사항은 “각 키의 일일 사용 금액은 최대 $5이며, 다음 날 한도가 복구됩니다”입니다. 워크플로가 예상치 못하게 실행되더라도 피해는 하루 예산으로 제한됩니다. 플랫폼에는 아직 기본 제공되는 “일일 쿼터” 필드가 없지만, 위의 업데이트 엔드포인트와 자정에 한 번 실행되는 예약 작업을 함께 사용하면 됩니다. 매일 키의remain_quota을 일일 한도로
되돌립니다. 키 자체는 변경되지 않으므로 팀 구성원은 계속 같은 키를 사용합니다.
하루 예산을 모두 사용한 키의 요청은 거부되며 과금되지 않습니다. 자정에 초기화된 후에는
다시 사용할 수 있습니다.
1
개인 액세스 토큰 준비
모델 키 · 읽기 및 모델 키 · 쓰기 권한을 부여합니다. 비밀 키 표시는 필요하지 않습니다.
스크립트가 고정 IP를 사용하는 서버에서 실행된다면 토큰에 IP 허용 목록을 설정합니다.
2
제한할 키와 일일 한도 목록 작성
목록 조회 엔드포인트를 사용해 각 키의
id을 조회하고, 아래 스크립트의 DAILY_BUDGET_USD에 입력합니다.3
매일 00:00 (UTC+8)에 스크립트 실행
cron, 클라우드 함수 타이머 또는 원하는 스케줄러를 사용하면 됩니다. 자세한 내용은 아래를 참조하세요.
초기화 스크립트
- 중복 초기화 방지: 하루에 두 번 실행되더라도(스케줄러의 누락 작업 보정 실행이나 수동 재실행 등) 하루치 예산을 다시 지급하지 않습니다.
- 초과 사용분 이월: 쿼터는 소프트 캡이므로(아래 참조), 어제 초과 사용한 금액을 오늘 차감하여 시간이 지나도 일일 평균이 캡 이내로 유지됩니다. 이 기능을 원하지 않으면
CARRY_OVERDRAFT를False로 설정합니다. - 어제 사용 금액 출력: 실행할 때마다 이전 기간에 각 키가 사용한 금액을 로그에 기록하므로, 로그를 간단한 일일 보고서로도 활용할 수 있습니다.
예약 실행
토큰을 본인만 읽을 수 있는 환경 파일에 저장한 다음, cron으로 스크립트가 매일 실행되도록 설정합니다.TZ를 모두 변경합니다.
이를 사용하기 전에 알아둘 점
- 초기화는 예산을 더하는 것이 아니라 덮어씁니다: 사용하지 않은 예산은 다음 날로 이월되지 않습니다. 콘솔에서 이 키들의 쿼터를 수동으로 변경해도 다음 초기화 때 덮어써집니다
- 자정을 전후해 처리 중인 요청: 자정 전에 보냈지만 자정 이후에 완료된 요청은 새 날짜의 예산에서 과금될 수 있습니다. 대개 소액입니다
- 스크립트가 실행되지 않으면 키는 소진된 상태로 유지됩니다: 호출은 일시적으로 차단되지만 추가 비용은 발생하지 않습니다. 예약 작업에 실패 알림을 추가하세요
- 계정 잔액이 여전히 전체 한도입니다: 키의 일일 한도를 모두 합한 금액이 계정 잔액보다 크면 잔액이 먼저 소진되고 모든 키가 중지됩니다
- 오늘 특정 키에 조금 더 할당해야 하나요? 업데이트 엔드포인트를 사용해 해당 키의
remain_quota를 늘리세요. 다음 날에는 평소처럼 한도로 초기화됩니다
비활성화 및 삭제
비활성화(기록은 유지됨)
비활성화되면 키는 즉시 작동을 멈춥니다 — 이를 사용한 호출은 401을 반환합니다 — 그러나 token 기록과 사용 내역은 유지됩니다.삭제(되돌릴 수 없음)
삭제는 되돌릴 수 없습니다. 키를 일시적으로 중단하려는 경우에는 대신 비활성화하십시오 —
사용 기록은 대조를 위해 계속 확인할 수 있습니다.
자주 묻는 질문
생성 시 반환된 키가 작동하지 않는 이유는 무엇입니까?
생성 시 반환된 키가 작동하지 않는 이유는 무엇입니까?
생성 엔드포인트는 마스킹된
key(중간에 *이 연속해서 들어 있음)를 반환하므로 바로 사용할 수 없습니다.
반환된 id로 POST /api/token/{id}/key을 호출해 평문을 가져온 다음(비밀 정보 표시 권한 필요),
sk-을 앞에 붙이십시오. 이전 스크립트에서 생성 응답의 key을 바로 사용하고 있다면 개인 액세스 token으로 전환할 때 이 단계를 추가하십시오.새로 생성한 token에 쿼터가 부족하다고 표시되는 이유는 무엇입니까?
새로 생성한 token에 쿼터가 부족하다고 표시되는 이유는 무엇입니까?
생성 시
remain_quota을 설정하지 않았거나 unlimited_quota을 true로 설정하지 않았을 가능성이 큽니다.
이 기본 조합으로 생성하면 쿼터가 0인 token이 만들어집니다. 두 항목 중 하나를
명시적으로 지정하여 다시 생성하십시오.model_limits 또는 allow_ips가 적용되지 않는 이유는 무엇입니까?
model_limits 또는 allow_ips가 적용되지 않는 이유는 무엇입니까?
현재 이 필드와
model_limits_enabled은 적용되지 않습니다. 해당 값을 전달해도
오류는 발생하지 않지만 저장되지 않습니다. 사용 가능한 모델을 제한하려면 models을 사용하십시오. 현재 소스 IP
제한은 직접 처리해야 합니다.한 번의 요청으로 여러 token을 생성할 수 있습니까?
한 번의 요청으로 여러 token을 생성할 수 있습니까?
서버 측 일괄 처리 엔드포인트는 없으며, 요청 본문에
count과 같은 값을 전달해도
적용되지 않습니다. 대신 클라이언트에서 생성 호출을 반복하십시오. 위의 일괄 생성 섹션을 참조하십시오.계정 하나에 token을 몇 개까지 보유할 수 있습니까?
계정 하나에 token을 몇 개까지 보유할 수 있습니까?
사용자당 최대 1,000개이며, 비활성화했지만 삭제하지 않은 token도 총 개수에 포함됩니다.
한도에 도달하면 더 이상 필요하지 않은 token을 삭제할 때까지 생성할 수 없습니다. 키를
교체할 때는 삭제 단계까지 완료해야 합니다. 비활성화만 하면 해당 자리가 계속 차지됩니다.
각 키의 일일 지출 한도를 설정하고 다음 날 초기화할 수 있습니까?
각 키의 일일 지출 한도를 설정하고 다음 날 초기화할 수 있습니까?
기본 제공되는 일일 쿼터 필드는 없지만 예약 작업으로 처리할 수 있습니다. 매일 00:00 (UTC+8)에
업데이트 엔드포인트를 호출해 해당 키의
remain_quota을 일일 한도로 다시 설정하십시오. 키 자체는
변경되지 않습니다. 키의 예산을 다 쓰면 호출은 거부되고 과금되지 않으며, 다음 날 다시 사용할 수 있습니다.
전체 스크립트와 주의 사항은 위의 시나리오: 키별 일일 한도 자동 초기화를 참조하십시오.업데이트 후 다른 필드가 초기화되었습니다
업데이트 후 다른 필드가 초기화되었습니다
업데이트 엔드포인트에는 전체 객체가 필요합니다. 먼저 전체 객체를
GET한 다음 수정하고,
변경된 필드만 전송하는 대신 전체 객체를 다시 PUT하십시오.비활성화와 삭제의 차이는 무엇입니까?
비활성화와 삭제의 차이는 무엇입니까?
비활성화(
status: 2)하면 키가 즉시 작동을 중지하지만 레코드와 사용량 기록은 유지되며,
언제든지 1로 되돌릴 수 있습니다. 삭제는 되돌릴 수 없으며 레코드가 제거됩니다.
일시적으로 사용을 중단하려면 비활성화를 권장합니다.각 키의 지출액을 확인하려면 어떻게 해야 합니까?
각 키의 지출액을 확인하려면 어떻게 해야 합니까?
token의
used_quota 필드에는 해당 키의 누적 지출액이 표시됩니다(÷ 500,000 = USD). 기간별 내역이나
호출 단위 상세 정보를 보려면 콘솔 로그 페이지에서 token 이름으로 필터링하십시오. 호출 기록을 확인하는 방법을 참조하십시오.중요 참고 사항
운영 팁
- 대량 생성 시에는 순간적인 동시 실행 수가 급증하는 것을 방지하기 위해 호출 간에 적절한 지연 시간을 두십시오
- 나중에 로그에서
token_name별 사용량을 추적할 수 있도록 각 키에 의미 있는name(예:team-alice또는prod-webhook)을(를) 지정하십시오 - 키 교체 시: 새 키를 생성하고, 트래픽을 전환한 후, 이전 키를 비활성화하고 잠시 모니터링한 다음, 더 이상 호출이 발생하지 않는 것을 확인한 후에만 삭제하십시오
관련 문서
- 호출 내역 확인 방법 — 콘솔 내 키별 호출 상세 내역 및 과금
- 잔액 조회 API — 계정 잔여 크레딧
- API 키 생성 방법 — 콘솔에서 수동 생성
- tokens 및 그룹 — 그룹의 역할 및 선택 방법