Skip to content

Utsteder-API ​

Administrer merkeutstedere — organisasjonene eller enkeltpersonene som utsteder merker.

Alle endepunkter krever autentisering via X-Api-Key-headeren. Se Autentisering.

Opprett utsteder ​

Opprett en ny utsteder av merker.

POST /issuers

Parametere ​

ParameterTypeObligatoriskBeskrivelse
namestringJaOrganisasjonens navn (minst 3 tegn)
urlstringJaOrganisasjonens nettsted (må være en gyldig HTTP/HTTPS-URL)
emailstringJaKontakt-e-post for utstederen
logostringNeiBase64-kodet bilde (PNG eller JPG)
linkedinOrganizationIdstringNeiNumerisk ID for LinkedIn-bedriftssiden. Når den er satt, viser hver offentlige beviskside fra denne utstederen en knapp Legg til i LinkedIn-profil.

Eksempel ​

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

Svar ​

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

Merknader ​

  • Teller mot planens utstedergrense (Free: 2, Starter: 5, Pro: 10). Ingen kvotetrekk.
  • Hvis utstederens e-post samsvarer med kontoens e-post, verifiseres utstederen automatisk.
  • Hvis e-posten er en annen, sendes en verifiseringse-post til utstederens e-postadresse.
  • Etter at du har konfigurert en utsteder, bruker du Bevis-API-et for å begynne å utstede bevis under den utstederen.

List utstedere ​

Hent alle utstedere du har opprettet.

GET /issuers

Eksempel ​

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

Svar ​

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 er en Unix-epoke i millisekunder. Når det finnes flere utstedere enn det som får plass på én side, returneres også en lastEvaluatedKey for paginering.


Verifiser utsteder ​

Verifiser en utsteder med verifiseringskoden som er sendt til utstederens e-post.

POST /issuers/{issuerId}/verify

Parametere ​

ParameterTypeObligatoriskBeskrivelse
issuerIdstringJaUtsteder-ID-en (stiparameter)
codestringJaVerifiseringskoden fra e-posten

Eksempel ​

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

Svar ​

En ren streng:

json
"issuer has been verified"

Slett utsteder ​

Slett en utsteder. Utstederen kan ikke ha noen merker knyttet til seg.

DELETE /issuers/{issuerId}

Eksempel ​

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

Svar ​

En ren streng:

json
"issuer has been deleted"

Feil ​

  • 400 — utstederen har fortsatt merker knyttet til seg: issuer has {n} badge(s) linked — delete the badges first. Sletting blokkeres kun av tilknyttede merker — bevis blokkerer den ikke.
  • 404 — utsteder ikke funnet

Oppdater utsteder ​

Oppdater feltene til en utsteder. Bare uverifiserte utstedere kan redigeres — når en utsteder er verifisert, returnerer dette endepunktet 400 verified issuers cannot be edited for å sikre stabile bevis. Når en utsteder redigeres, genereres verifiseringskoden på nytt: hvis email samsvarer med kontoens e-post, re-verifiseres utstederen automatisk, ellers sendes en ny verifiseringse-post til den adressen.

PUT /issuers/{issuerId}

Parametere ​

ParameterTypeObligatoriskBeskrivelse
issuerIdstringJaUtsteder-ID-en (stiparameter)
namestringNeiNytt navn
urlstringNeiNy URL
emailstringNeiNy e-post (sender en ny verifiseringse-post med mindre den samsvarer med kontoens e-post)
logostringNeiNy base64-kodet logo
linkedinOrganizationIdstringNeiNy LinkedIn-organisasjons-ID (eller tom streng for å fjerne)

Svar ​

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

Feil ​

  • 400 — verified issuers cannot be edited (utstederen er allerede verifisert)
  • 400 — not authorized (utstederen tilhører en annen konto)
  • 404 — utsteder ikke funnet

badges.ninja Documentation