Getting Started

認証

APIキーでAPIリクエストを安全に保護する

認証

すべてのBlitz Rocket API v1エンドポイントはAPIキーによる認証が必要です。APIキーはチーム単位でスコープされ、チーム設定ページから管理できます。

APIキーの作成

  1. Blitz Rocketダッシュボードにログインする
  2. 設定APIキー に移動する
  3. APIキーを作成 をクリックする
  4. キータイプを選択する(パブリック または プライベート
  5. キーをコピーする — 一度だけ表示されます

キータイプ

パブリックキー

パブリックキーは読み取り専用アクセスを提供し、クライアントサイドのコードで安全に使用できます。アクセス可能なエンドポイントは以下の通りです:

  • GET /api/v1/contests — コンテスト一覧
  • GET /api/v1/contests/:contestId — コンテスト詳細取得
  • GET /api/v1/contests/:contestId/leaderboard — リーダーボード取得
  • GET /api/v1/contests/:contestId/entries — エントリー一覧
  • GET /api/v1/contests/:contestId/analytics — アナリティクス取得
  • GET /api/v1/entries/:entryId — エントリー詳細取得
  • GET /api/v1/entries/:entryId/bonus-actions — ボーナスアクション取得
  • POST /api/v1/entries/:entryId/bonus-actions/:bonusActionId/complete — ボーナスアクション完了

プライベートキー

プライベートキーはすべてのエンドポイントに対して完全な読み書きアクセスを提供します。これらは秘密にしてサーバーサイドのコードでのみ使用してください。パブリックキーのすべてのエンドポイントに加え、プライベートキーは以下の操作が可能です:

  • POST /api/v1/contests/:contestId/entries — エントリー作成
  • PUT /api/v1/entries/:entryId — エントリー更新
  • POST /api/v1/entries/:entryId/disqualify — エントリー失格処理
  • POST /api/v1/entries/:entryId/points — ポイント調整
  • POST /api/v1/contests/:contestId/purchases — 購入記録

APIキーの送信方法

APIキーはリクエストヘッダーの x-api-key に渡してください。クエリパラメータでAPIキーを送信しないでください — ログ、ブラウザ履歴、リファラーヘッダーを通じて漏洩する可能性があります。

bash
curl -X GET https://blitzrocket.com/api/v1/contests \
  -H "x-api-key: vk_live_abc123def456"

認証エラー

APIキーが欠落または無効な場合、401 Unauthorized レスポンスが返されます:

json
{
  "success": false,
  "error": "Missing or invalid API key"
}

パブリックキーでプライベート専用エンドポイントにアクセスした場合、403 Forbidden レスポンスが返されます:

json
{
  "success": false,
  "error": "This endpoint requires a private API key"
}

セキュリティのベストプラクティス

  • プライベートキーをクライアントサイドコード、公開リポジトリ、ブラウザリクエストに絶対に公開しない
  • キーは定期的にローテーションする — 定期的に削除して再作成する
  • クライアントサイドやブラウザベースの統合にはパブリックキーを使用する
  • プライベートキーは安全なサーバーサイド環境でのみ使用する
  • キーは環境変数に保存し、ハードコードしない