日本語
日本語
Appearance
日本語
日本語
Appearance
これらのエンドポイントは公開されており、認証は不要です。誰でもバッジのクレデンシャルを検証し、Open Badge v2.0 の JSON データを取得できます。
すべてのエンドポイントは https://api.badges.ninja からの相対パスです。
指定した発行者の Open Badge v2.0 Issuer Profile JSON を取得します。
GET /certify-badge/issuer/{guid}curl https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890{
"@context": "https://w3id.org/openbadges/v2",
"type": "Issuer",
"id": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
"name": "Acme Academy",
"url": "https://acme.example.com",
"email": "badges@acme.example.com",
"verification": {
"type": "hosted",
"allowedOrigins": "api.badges.ninja"
}
}指定したバッジの Open Badge v2.0 BadgeClass JSON を取得します。
GET /certify-badge/badge/{guid}curl https://api.badges.ninja/certify-badge/badge/b1c2d3e4-f5a6-7890-bcde-f12345678901{
"@context": "https://w3id.org/openbadges/v2",
"type": "BadgeClass",
"id": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
"name": "JavaScript Fundamentals",
"description": "Demonstrates proficiency in core JavaScript concepts",
"criteria": {
"narrative": "Completed the JavaScript Fundamentals course with a score of 80% or higher"
},
"image": "https://badges.ninja/images/{sha256}.png",
"issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-..."
}指定したクレデンシャルの Open Badge v2.0 Assertion JSON を取得します。
GET /certify-badge/award/{guid}curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012{
"@context": "https://w3id.org/openbadges/v2",
"type": "Assertion",
"id": "https://api.badges.ninja/certify-badge/award/c1d2e3f4-...",
"recipient": {
"type": "email",
"hashed": true,
"identity": "sha256$..."
},
"badge": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
"issuedOn": "2025-01-15T00:00:00.000Z",
"verification": {
"type": "hosted"
},
"revoked": false
}クレデンシャルが失効されている場合、アサーションには "revoked": true が含まれ、理由が指定されていれば "revocationReason" 文字列も含まれます。
{
"revoked": true,
"revocationReason": "Issued in error"
}これは失効に関する Open Badges 2.0 での表現です。同じ失効は、そのクレデンシャルの Open Badges 3.0 Verifiable Credential にも記録されます。詳しくは 失効(Bitstring Status List) をご覧ください。
Cache-Control: public, max-age=300)。失効済みのクレデンシャルは、失効がすばやく反映されるよう、より短い 30 秒のキャッシュ(max-age=30)を使用します。クレデンシャルのバッジに設定されたカスタム共有テキストを取得します。
GET /certify-badge/award/{guid}/share-textcurl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/share-text{
"text": "I just earned the JavaScript Fundamentals badge! Check it out:"
}カスタム共有テキストが設定されていない場合は、デフォルトのメッセージが返されます。
公開エンドポイントからクレデンシャルの通知メールを送信します。公開共有ページで使用されます。
POST /certify-badge/award/{guid}/send-email| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
recipients | string | はい | カンマ区切りのメールアドレス一覧 |
message | string | いいえ | メールに含めるカスタムメッセージ |
curl -X POST https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/send-email \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"recipients": "colleague@example.com",
"message": "Check out this badge!"
}
}'{
"statusCode": 200,
"info": "award sent"
}結果を
{ "statusCode", "info" }というエンベロープで包んで返すのは、このエンドポイントだけです。その他のすべてのエンドポイントは、ペイロードをそのまま返します。
発行者のメールアドレスに送信された検証リンクをクリックして、発行者を検証します。通常は検証メール内のリンクからアクセスするもので、直接呼び出すものではありません。
GET /certify-badge/verify-issuer/{guid}/{code}| パラメータ | 型 | 説明 |
|---|---|---|
guid | string | 発行者の GUID |
code | string | 検証コード |
検証が成功したか失敗したかを示す HTML ページを返します。このエンドポイントはブラウザで開くことを想定しています。