잔액 조회
GET /v1/balance
GET https://api.k-otp.dev/v1/balance개요
Returns the current credit wallet balance for the authenticated app. balance is a credit quantity (not money) and currency is CREDIT. Reading the balance never affects OTP issue status.
Requires an sk_ secret key; pk_ public keys are rejected with 403.
인증
| 허용 키 | 필요 scope | 대체 허용 scope |
|---|---|---|
sk_ | otp:balance | * |
응답 (200)
Current wallet balance.
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
appId | string | 예 | |
balance | number | 예 | Current balance as a credit quantity (not money). |
currency | string | 예 | Unit of balance; currently always CREDIT. |
updatedAt | string | 예 | When the wallet last changed (RFC 3339). |
오류 응답
모든 오류는 { defined, code, status, message, data? } 형태입니다. 자세한 내용은 오류를 참고하세요.
| 상태 | code | 설명 |
|---|---|---|
| 400 | BAD_REQUEST | the request failed input validation. message describes the first failing constraint. |
| 401 | UNAUTHORIZED | the Authorization: Bearer credential is missing, malformed, inactive, or rejected by introspection. |
| 403 | FORBIDDEN | the credential lacks otp:balance (or an accepted alias), or a pk_ public key was used. Public keys are limited to issue/verify. |
| 409 | CONFLICT | the request conflicts with the current state of the resource. |
| 500 | INTERNAL_SERVER_ERROR | unexpected server failure. Undefined errors (defined: false) use the same envelope. |
| 503 | SERVICE_UNAVAILABLE | credential introspection or a downstream dependency is temporarily unavailable. Retry with backoff. |
요청 예시
curl "https://api.k-otp.dev/v1/balance" \
-H "Authorization: Bearer $KOTP_SECRET_KEY"