Skip to content

API voor uitgevers ​

Beheer badge-uitgevers — de organisaties of personen die badges uitgeven.

Alle endpoints vereisen authenticatie via de X-Api-Key-header. Zie Authenticatie.

Uitgever aanmaken ​

Maak een nieuwe badge-uitgever aan.

POST /issuers

Parameters ​

ParameterTypeVerplichtBeschrijving
namestringJaNaam van de organisatie (minimaal 3 tekens)
urlstringJaWebsite van de organisatie (moet een geldige HTTP/HTTPS-URL zijn)
emailstringJaContact-e-mailadres van de uitgever
logostringNeeBase64-gecodeerde afbeelding (PNG of JPG)
linkedinOrganizationIdstringNeeNumeriek ID van de LinkedIn-bedrijfspagina. Indien ingesteld, toont elke openbare referentiepagina van deze uitgever een knop Toevoegen aan LinkedIn-profiel.

Voorbeeld ​

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": "Acme Academy",
      "url": "https://acme.example.com",
      "email": "badges@acme.example.com"
    }
  }'

Respons ​

json
{
  "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Opmerkingen ​

  • Telt mee voor de uitgeverslimiet van je abonnement (Free: 2, Starter: 5, Pro: 10). Er wordt geen quotum afgetrokken.
  • Als het e-mailadres van de uitgever overeenkomt met het e-mailadres van je account, wordt de uitgever automatisch geverifieerd.
  • Als het e-mailadres afwijkt, wordt een verificatie-e-mail naar het e-mailadres van de uitgever gestuurd.
  • Gebruik na het configureren van een uitgever de API voor referenties om referenties onder die uitgever uit te geven.

Uitgevers weergeven ​

Haal alle uitgevers op die je hebt aangemaakt.

GET /issuers

Voorbeeld ​

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

Respons ​

json
{
  "items": [
    {
      "id": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
      "name": "Acme Academy",
      "url": "https://acme.example.com",
      "email": "badges@acme.example.com",
      "verified": true,
      "timestamp": 1736937000000
    }
  ]
}

timestamp is een Unix-epoch in milliseconden. Als er meer uitgevers bestaan dan op één pagina passen, wordt ook een lastEvaluatedKey geretourneerd voor paginering.


Uitgever verifiëren ​

Verifieer een uitgever met de verificatiecode die naar zijn e-mailadres is gestuurd.

POST /issuers/{issuerId}/verify

Parameters ​

ParameterTypeVerplichtBeschrijving
issuerIdstringJaHet ID van de uitgever (padparameter)
codestringJaDe verificatiecode uit de e-mail

Voorbeeld ​

bash
curl -X POST https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/verify \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "issuerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "code": "ABC123"
    }
  }'

Respons ​

Een kale string:

json
"issuer has been verified"

Uitgever verwijderen ​

Verwijder een uitgever. Er mogen geen badges aan de uitgever gekoppeld zijn.

DELETE /issuers/{issuerId}

Voorbeeld ​

bash
curl -X DELETE https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "X-Api-Key: bws_your_api_key_here"

Respons ​

Een kale string:

json
"issuer has been deleted"

Fouten ​

  • 400 — er zijn nog badges aan de uitgever gekoppeld: issuer has {n} badge(s) linked — delete the badges first. Verwijderen wordt alleen geblokkeerd door gekoppelde badges — referenties blokkeren het niet.
  • 404 — uitgever niet gevonden

Uitgever bijwerken ​

Werk de velden van een uitgever bij. Alleen niet-geverifieerde uitgevers kunnen worden bewerkt — zodra een uitgever is geverifieerd, retourneert dit endpoint 400 verified issuers cannot be edited om de stabiliteit van referenties te waarborgen. Bij het bewerken van een uitgever wordt de verificatiecode opnieuw gegenereerd: als email overeenkomt met het e-mailadres van je account, wordt de uitgever automatisch opnieuw geverifieerd, anders wordt een nieuwe verificatie-e-mail naar dat adres gestuurd.

PUT /issuers/{issuerId}

Parameters ​

ParameterTypeVerplichtBeschrijving
issuerIdstringJaHet ID van de uitgever (padparameter)
namestringNeeNieuwe naam
urlstringNeeNieuwe URL
emailstringNeeNieuw e-mailadres (stuurt een nieuwe verificatiemail, tenzij het overeenkomt met het e-mailadres van je account)
logostringNeeNieuw base64-gecodeerd logo
linkedinOrganizationIdstringNeeNieuw LinkedIn-organisatie-ID (of een lege string om te wissen)

Respons ​

json
{
  "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
  "updated": true
}

Fouten ​

  • 400 — verified issuers cannot be edited (de uitgever is al geverifieerd)
  • 400 — not authorized (de uitgever behoort tot een ander account)
  • 404 — uitgever niet gevonden

badges.ninja Documentation