Skip to main content

認証方式

BeTerKEIBA Core API は Bearer 認証 (RFC 6750) を採用しています。全 endpoint で Authorization ヘッダに API key を付与する必要があります。
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • ヘッダ名 Authorization、scheme Bearer (大文字小文字無視)、scheme と token の間は 1 つ以上の空白文字 (半角スペース / TAB)
  • token 部分が空、または API key として認識できない場合は 401 Unauthorized を返します

key prefix と mode

API key は Stripe 慣習に従い prefix で mode を示します。両 mode とも同じ API URL (https://api.beter-keiba.com/v1) で利用できます。
prefixmode用途
sk_live_*live本番運用 (実取引・実課金)
sk_test_*test開発・自動テスト用 (現状は live と同等挙動、将来 sandbox 動作を追加予定)
prefix は発行時に固定されます。mode を切り替えるにはそれぞれの prefix で新しい key を発行してください。

エラー応答

認証失敗時は失敗理由を一切区別せず、常に同一の 401 { error: { code, message } } を返します。これは「key が存在するか / revoke 済か / 形式不正か」の判別を攻撃者に与えないための仕様です (列挙攻撃の困難化)。
{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "有効なAPIキーが必要です。"
  }
}
具体的に同一 body を返すケース:
ケースHTTPbody
Authorization ヘッダ欠落401上記
Bearer 以外の scheme (Basic 等)401上記
token が空 (Bearer のみ)401上記
token が API key として存在しない401上記
token は存在するが revoke 済401上記

他のエラー応答

エラーレスポンスはすべて { error: { code, message } } 形式に統一されています。
codeHTTP説明
BAD_REQUEST400リクエスト形式不正
UNAUTHORIZED401認証エラー (上記参照)
FORBIDDEN403プラン制限などでアクセス権なし
NOT_FOUND404リソース不在

key の発行・失効

key の発行 / 失効はダッシュボード経由で行います (将来公開予定)。本 API には現時点では key 管理用の endpoint はありません。
発行された key は発行時の 1 度だけ完全な値を確認可能で、以降はサーバー側でも復元できません (SHA-256 hash のみ保存)。紛失した場合は失効 (revoke) して新規発行してください。