Skip to content

認証

badges.ninja API へのすべてのリクエストには認証が必要です。このページではリクエストの認証方法を説明します。

ベース URL

https://api.badges.ninja

すべての API エンドポイントはこのベース URL に対する相対パスです。

API キー認証

主な認証方法は X-Api-Key ヘッダーで渡す API キーです。

API キーの取得

ダッシュボードから:

  1. badges.ninja にサインインします。
  2. サイドバーの API キー に移動します。
  3. API キーを作成 をクリックします。
  4. キーをコピーします(1 度しか表示されません)。

API から:

Cognito 認証フローから得た JWT トークンを使って API 経由で API キーを管理することもできます。最も簡単な方法はダッシュボードを参照してください。

API キーの使用

すべてのリクエストに X-Api-Key ヘッダーを含めます。

bash
curl -X GET https://api.badges.ninja/issuers \
  -H "X-Api-Key: bws_your_api_key_here"

API キーの形式

キーは bws_ プレフィックスを使います。

bws_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6

リクエスト形式

  • GET リクエストはクエリ文字列でパラメータを渡します
  • POSTPUT リクエストは parameters オブジェクトを含む JSON ボディを送信します
  • すべてのレスポンスは Content-Type: application/json の JSON で返ります

POST/PUT リクエスト構造

json
{
  "parameters": {
    "name": "私のバッジ",
    "description": "サンプルバッジ"
  }
}

リクエスト例

bash
curl -X POST https://api.badges.ninja/issuers \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "name": "私の組織",
      "url": "https://example.com",
      "email": "admin@example.com"
    }
  }'

レスポンス例

json
{
  "statusCode": 200,
  "info": {
    "issuerId": "https://api.badges.ninja/certify-badge/issuer/abc123-def456"
  }
}

レート制限

API リクエストにはレート制限があります。上限を超えると 429 Too Many Requests レスポンスが返ります。数秒待って再試行してください。

公開エンドポイント

一部のエンドポイントには認証が不要です。これらは /certify-badge/ 配下の 公開検証エンドポイント で、誰でもバッジ資格を検証できます。

badges.ninja Documentation