API 키 — tnea_ & tnsr_¶
NumerologyAPI는 두 종류의 API 키를 사용합니다. 두 키 모두 형태가 비슷하고, 동일한 80자 보안 형식으로 생성되며, 동일한 X-API-Key 헤더로 인증됩니다 — 하지만 측정(과금) 방식이 다르며 서로 다른 제품을 위해 만들어졌습니다.
| 접두사 | 유형 | 용도 | 과금 방식 |
|---|---|---|---|
tnea_ | 플랫폼 키 | 웹 앱, 모바일 백엔드, 서버 통합 | 조직 크레딧 지갑 (선불제) |
tnsr_ | Numora Studio 키 | Numora Studio 데스크톱 앱 | 조직 Numora Studio 요금제 허용량 |
1. 키 형식 및 보안¶
모든 키는 정확히 80자 길이입니다:
tnea_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
tnsr_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- 4자리 접두사가 키 유형을 식별하며, 나머지 75자는 암호학적으로 안전한 난수 소스를 사용해 생성됩니다.
- 키는 서버 측에 SHA-256 해시로 저장됩니다. 평문 키는 생성 시점에 단 한 번만 표시됩니다.
- 키가 유출된 적이 있다면, 대시보드에서 즉시 순환(rotate) 하세요.
2. 플랫폼 키 (tnea_)¶
플랫폼 키는 NumerologyAPI를 자체 제품 — 웹사이트, 모바일 앱, 서버 측 서비스 — 에 통합하기 위한 표준 키입니다.
인증¶
모든 요청에 X-API-Key 헤더를 사용해 키를 보내세요:
curl --request GET \
--url "https://api.numerologyapi.com/api/v1/life_path?birth_year=1990&birth_month=5&birth_day=15" \
--header "x-api-key: tnea_YOUR_API_KEY"
과금 방식¶
과금 대상 /api/v1 호출은 조직의 크레딧 지갑(선불제)에서 차감됩니다. 지갑은 대시보드에서 언제든지 충전할 수 있습니다.
채널 규칙: 플랫폼 키는
X-Numora-Client헤더를 보내면 안 됩니다. 이 헤더를 보내면403이 반환됩니다 — 해당 헤더는 데스크톱 채널 전용입니다.
3. Numora Studio 키 (tnsr_)¶
Numora Studio 키는 실무자(practitioner)가 고객 리포트를 생성하는 데 사용하는 Numora Studio 데스크톱 앱(macOS/Windows)을 인증합니다. 이 키는 플랫폼 키와 동일한 형식을 가지는 형제 키이지만, 플랫폼 크레딧 대신 조직의 Numora Studio 요금제 허용량에 대해 과금됩니다.
프로비저닝¶
tnsr_ 키는 다음 두 가지 방법 중 하나로 생성됩니다:
- 데스크톱 앱 로그인 흐름을 통해서(브라우저 동의 페이지가 키를 자동으로 프로비저닝), 또는
- 대시보드의 API 키 페이지(
/api-keys)에서 수동으로.
채널 서명(필수)¶
tnsr_ 키로 이루어지는 모든 호출에는 데스크톱 채널 헤더가 포함되어야 합니다:
| 헤더 | 값 | 필수 여부 |
|---|---|---|
X-Numora-Client | numora-studio/<version> | 예, 모든 호출에 |
X-API-Key | 본인의 tnsr_ 키 | 예 |
X-Numora-Device-Id | 등록된 기기 ID | 키에 기기 잠금이 활성화된 경우에만 |
서버 측 강제 규칙:
X-Numora-Client가 없는tnsr_키 →403.X-Numora-Client가 있는tnea_키 →403.
과금 방식¶
- 과금 대상
/api/v1호출은 조직의 Numora Studio 요금제 허용량에서 차감됩니다(조직의 모든tnsr_키가 공유하는 단일 풀). tnsr_키별 크레딧 폴백(credit fallback) 토글이 있습니다: 요금제 허용량이 소진되면 키가 조직의 플랫폼 크레딧으로 폴백될 수 있습니다 (기본값: 꺼짐).- 허용량이 소진되고 폴백이 활성화되지 않은 경우 호출은
429를 반환합니다.
기기 잠금(선택 사항)¶
tnsr_ 키는 등록된 기기에 잠글 수 있습니다. 잠금이 활성화되면 모든 요청에 조직에 등록된 X-Numora-Device-Id가 포함되어야 하며, 등록되지 않은 기기는 403으로 거부됩니다.
데스크톱 전용 엔드포인트¶
일부 엔드포인트는 데스크톱 채널 전용으로 예약되어 있으며, tnea_ 키에는 403을 반환합니다:
POST /api/v1/numora/report-bundle— 전체 고객 리포트를 한 번의 호출로POST /api/v1/numora/order— 앱 내 요금제/허용량 구매 흐름POST /api/v1/numora/devices/register— 데스크톱 설치 등록GET /api/v1/numora/studio-status— 데스크톱 잔액 및 할당량 미터
팁: 과금 대상 응답에는
X-Remaining-Credits및X-Remaining-Tokens헤더도 포함되므로, 추가 호출 없이 실시간 잔액을 추적할 수 있습니다.
4. 키 관리(대시보드)¶
대시보드의 API 키 페이지(/api-keys)는 두 키 유형 모두의 제어 센터입니다.
| 작업 | 설명 |
|---|---|
| 생성 | 새 tnea_ 또는 tnsr_ 키 생성 |
| 순환 | 현재 키를 폐기하고 동일한 대체 키 발급 |
| 폐기 | 키 즉시 비활성화 |
| 크레딧 폴백 | tnsr_ 키별 크레딧 폴백 토글 |
| 기기 잠금 | tnsr_ 키를 등록된 기기에 잠금 |
| 기기 | 등록된 데스크톱 설치 조회 및 관리 |
역할: admin과 developer 역할은 키를 생성하고 관리할 수 있습니다. finance는 프로덕션 API 키를 생성할 수 없습니다. 재무 작업(요금제 구매, 충전)은 admin과 finance로 제한됩니다.
여러 키: 조직은 두 유형의 키를 여러 개 보유할 수 있습니다 — 예를 들어 실무자별 또는 데스크톱 설치별로 tnsr_ 키 하나씩. 허용량은 조직별로 공유되므로 키가 자체 잔액을 두고 "경쟁"하지 않습니다.
5. 모범 사례¶
- 키를 비밀번호처럼 취급하세요. 클라이언트 측 코드, 공개 저장소 또는 로그에 절대 포함하지 마세요.
- 백엔드에서 환경 변수 또는 시크릿 관리자를 사용하세요.
- 키가 유출되거나 팀원이 퇴사하면 즉시 순환하세요.
- 기기 관리와 폐기를 간소화하려면 데스크톱 설치별로
tnsr_키 하나를 사용하세요. - 보안 수준이 높은 조직은 기기 잠금을 활성화하세요.
- 예상치 못한 사용량 급증을 조기에 발견하려면 대시보드에서 사용량을 모니터링하세요.
6. 자주 묻는 질문¶
tnsr_ 키로 일반 플랫폼 엔드포인트를 호출할 수 있나요? 네. Numora Studio 키는 전체 /api/v1 표면을 인증하며, 해당 호출은 Numora Studio 요금제 허용량에 대해 과금됩니다.
tnea_ 키로 데스크톱 전용 /numora/* 엔드포인트를 호출할 수 있나요? 아니요. 데스크톱 전용 엔드포인트는 플랫폼 키에 대해 403을 반환합니다.
tnsr_ 키로 호출할 때 왜 403이 발생하나요? 대부분 X-Numora-Client 헤더가 누락되었거나 앱 ID가 일치하지 않기 때문입니다. 모든 요청에 X-Numora-Client: numora-studio/<version>이 포함되어 있는지 확인하세요.
tnea_ 키로 호출할 때 왜 403이 발생하나요? 플랫폼 키는 X-Numora-Client 헤더를 포함해서는 안 됩니다 — 제거하세요.
허용량이 소진되면 어떻게 되나요? tnsr_ 키에 크레딧 폴백이 활성화되어 있지 않거나(tnea_ 키의 경우 플랫폼 지갑을 충전하지 않았다면) 과금 대상 호출은 429를 반환합니다.