Skip to content

Udsteder-API ​

Administrér badge-udstedere — de organisationer eller personer, der udsteder badges.

Alle endpoints kræver godkendelse via X-Api-Key-headeren. Se Godkendelse.

Opret udsteder ​

Opret en ny badge-udsteder.

POST /issuers

Parametre ​

ParameterTypePåkrævetBeskrivelse
namestringJaOrganisationsnavn (mindst 3 tegn)
urlstringJaOrganisationens hjemmeside (skal være en gyldig HTTP/HTTPS-URL)
emailstringJaKontakt-e-mail for udstederen
logostringNejBase64-kodet billede (PNG eller JPG)
linkedinOrganizationIdstringNejNumerisk ID for LinkedIn-virksomhedsside. Når det er sat, viser hver offentlig bevisside fra denne udsteder en knap Add to LinkedIn Profile.

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

Noter ​

  • Tæller med i din plans grænse for udstedere (Free: 2, Starter: 5, Pro: 10). Ingen kvotetræk.
  • Hvis udsteder-e-mailen matcher din kontos e-mail, verificeres udstederen automatisk.
  • Hvis e-mailen er en anden, sendes en verificerings-e-mail til udsteder-e-mailen.
  • Når du har konfigureret en udsteder, kan du bruge Bevis-API til at begynde at udstede beviser under den pågældende udsteder.

List udstedere ​

Hent alle udstedere, du har oprettet.

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 et Unix-epoch i millisekunder. Når der findes flere udstedere, end der er plads til på én side, returneres desuden en lastEvaluatedKey til paginering.


Verificér udsteder ​

Verificér en udsteder med den verificeringskode, der er sendt til dens e-mail.

POST /issuers/{issuerId}/verify

Parametre ​

ParameterTypePåkrævetBeskrivelse
issuerIdstringJaUdsteder-ID'et (path-parameter)
codestringJaVerificeringskoden fra e-mailen

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"

Slet udsteder ​

Slet en udsteder. Udstederen må ikke have nogen badges knyttet til sig.

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"

Fejl ​

  • 400 — udstederen har stadig badges knyttet til sig: issuer has {n} badge(s) linked — delete the badges first. Sletning blokeres kun af tilknyttede badges — beviser blokerer det ikke.
  • 404 — udsteder ikke fundet

Opdatér udsteder ​

Opdatér en udsteders felter. Kun uverificerede udstedere kan redigeres — når en udsteder er verificeret, returnerer dette endpoint 400 verified issuers cannot be edited for at bevare beviskonsistensen. Redigering af en udsteder genererer en ny verificeringskode: hvis email matcher din kontos e-mail, genverificeres udstederen automatisk, ellers sendes en ny verificerings-e-mail til den adresse.

PUT /issuers/{issuerId}

Parametre ​

ParameterTypePåkrævetBeskrivelse
issuerIdstringJaUdsteder-ID'et (path-parameter)
namestringNejNyt navn
urlstringNejNy URL
emailstringNejNy e-mail (sender en ny verificerings-e-mail, medmindre den matcher din kontos e-mail)
logostringNejNyt base64-kodet logo
linkedinOrganizationIdstringNejNyt LinkedIn-organisations-ID (eller tom streng for at rydde)

Svar ​

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

Fejl ​

  • 400 — verified issuers cannot be edited (udstederen er allerede verificeret)
  • 400 — not authorized (udstederen tilhører en anden konto)
  • 404 — udsteder ikke fundet

badges.ninja Documentation