Bulliza베타
API KEYS

API 키

불리자 API 와 MCP 서버 모두 같은 키 하나로 접근해요. 평문은 발급 즉시 한 번만 표시되고, 서버에는 SHA-256 해시만 저장돼요.

API 키 발급하기

불리자에 로그인한 뒤 마이 → API 키 페이지로 들어가요. 용도 라벨(예: prod backend) 을 입력하고 발급 버튼을 누르면 평문 키가 카드로 나와요. 키 발급은 무료이고, 사용자당 최대 10개까지 보관할 수 있어요.

API 키 이해하기

키는 rfk_live_ 로 시작하는 48자리 16진수 문자열이에요. 앞 12자(rfk_live_xxx)는 prefix 라고 부르고 대시보드에서도 노출돼요. 뒤 부분(시크릿)은 발급 시점에만 사용자에게 1회 노출되고, 서버에는 SHA-256 해시로 저장돼서 다시 조회할 수 없어요.

평문 키는 다시 못 봐요
분실하면 키를 폐기하고 새로 발급해야 해요. 환경변수에 저장하는 걸 권장해요.

키 사용하기

모든 요청에 Authorization 헤더가 필요해요.

bash
curl -H "Authorization: Bearer rfk_live_52ba373....." \
  https://bulliza.com/api/public/v2/health

코드에서는 보통 환경변수로 관리해요.

javascript
// Node / Bun / Deno
const r = await fetch("https://bulliza.com/api/public/v2/stocks/005930/score", {
  headers: { Authorization: `Bearer ${process.env.RICHGO_API_KEY}` },
});
python
# Python
import os, requests
r = requests.get(
    "https://bulliza.com/api/public/v2/stocks/005930/score",
    headers={"Authorization": f"Bearer {os.environ['RICHGO_API_KEY']}"},
)

REST API 키와 MCP 키는 같아요

REST(/api/public/v2/*) 와 MCP(/api/mcp) 는 같은 키를 공유해요. 한 키로 둘 다 호출할 수 있고, 사용량도 합산되어 대시보드에 표시돼요. 별도 키 발급이 필요 없어요.

키 폐기하기

키가 노출됐거나 더 이상 쓰지 않는다면 즉시 폐기해야 해요. /my/api-keys 에서 키 행 우측 폐기 버튼을 누르면 끝이에요. 폐기된 키로의 호출은 다음 요청부터 401 INVALID_KEY 를 반환해요.

키가 노출됐다면
깃허브·로그·실수로 공유된 키는 즉시 폐기 후 새 키를 발급받으세요.rfk_live_ prefix 는 GitHub secret scanning 에서 자동 검출 대상이에요.

사용량 확인하기

모든 응답 헤더에 사용량 정보가 포함돼요. 클라이언트에서 quota gauge 를 만들 수 있어요.

헤더의미
RateLimit-Limit일일 한도 (free 1000, paid 1000000000)
RateLimit-Remaining남은 호출 수
RateLimit-Policy"<limit>;w=86400" 형식 (RFC draft)
X-RichGo-Planfree | paid | admin
Retry-After429 응답 시 재시도까지 대기 초

키 관련 에러

상태에러 코드의미해결 방법
401NO_KEYAuthorization 헤더 없음헤더에 Bearer 토큰을 추가하세요
401INVALID_KEY키가 폐기됐거나 형식 오류키 형식 확인 후 새로 발급
429RPM_EXCEEDED분당 한도 초과Retry-After 헤더만큼 대기 후 재시도
429DAILY_QUOTA_EXCEEDED일일 한도 초과KST 자정에 리셋 또는 한+미 구독으로 무제한