Skip to content

Öffentliche Verifizierung

Diese Endpunkte sind öffentlich und erfordern keine Authentifizierung. Jeder kann mit ihnen Auszeichnungsnachweise verifizieren und Open-Badge-v2.0-JSON-Daten abrufen.

Alle Endpunkte sind relativ zu https://api.badges.ninja.

Aussteller abrufen

Ruft das Open-Badge-v2.0-Ausstellerprofil-JSON für einen bestimmten Aussteller ab.

GET /certify-badge/issuer/{guid}

Beispiel

bash
curl https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890

Antwort

json
{
  "@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"
  }
}

Auszeichnung abrufen

Ruft das Open-Badge-v2.0-BadgeClass-JSON für eine bestimmte Auszeichnung ab.

GET /certify-badge/badge/{guid}

Beispiel

bash
curl https://api.badges.ninja/certify-badge/badge/b1c2d3e4-f5a6-7890-bcde-f12345678901

Antwort

json
{
  "@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://ipfs.ninja/ipfs/Qm...",
  "issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-..."
}

Vergabe abrufen

Ruft das Open-Badge-v2.0-Assertion-JSON für eine bestimmte Vergabe ab.

GET /certify-badge/award/{guid}

Beispiel

bash
curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012

Antwort

json
{
  "@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"
  }
}

Hinweise

  • Die Empfänger-E-Mail wird zur Wahrung der Privatsphäre gehasht (SHA-256), konform mit der Open-Badge-Spezifikation.
  • Antworten werden 1 Stunde gecacht (Cache-Control: public, max-age=3600).

Share-Text der Vergabe abrufen

Ruft den individuellen Share-Text für die Auszeichnung einer Vergabe ab.

GET /certify-badge/award/{guid}/share-text

Beispiel

bash
curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/share-text

Antwort

json
{
  "text": "I just earned the JavaScript Fundamentals badge! Check it out:"
}

Ist kein eigener Share-Text gesetzt, wird eine Standardnachricht zurückgegeben.


Vergabe-E-Mail senden (öffentlich)

Sendet über den öffentlichen Endpunkt eine Benachrichtigungs-E-Mail zur Vergabe. Wird von der öffentlichen Teilen-Seite genutzt.

POST /certify-badge/award/{guid}/send-email

Parameter

ParameterTypErforderlichBeschreibung
recipientsstringJaKommagetrennte Liste von E-Mail-Adressen
subjectstringNeinE-Mail-Betreff
messagestringNeinEigene Nachricht, die in die E-Mail aufgenommen wird

Beispiel

bash
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!"
    }
  }'

Antwort

json
{
  "statusCode": 200,
  "info": "award sent"
}

Aussteller verifizieren

Verifiziert einen Aussteller durch Klick auf den an die Aussteller-E-Mail gesendeten Verifizierungs-Link. Üblicherweise über den Link in der Verifizierungs-E-Mail aufgerufen, nicht direkt.

GET /certify-badge/verify-issuer/{guid}/{code}

Parameter

ParameterTypBeschreibung
guidstringDie Aussteller-GUID
codestringDer Verifizierungs-Code

Antwort

Liefert eine HTML-Seite, die den Erfolg oder das Fehlschlagen der Verifizierung bestätigt. Dieser Endpunkt ist zum Öffnen im Browser gedacht.

badges.ninja Documentation