Skip to content

Utsteder-API

Administrer merkeutstedere — organisasjonene eller personene som tildeler merker.

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

Opprett utsteder

Opprett en ny merkeutsteder.

POST /issuers

Parametere

ParameterTypePåkrevdBeskrivelse
namestringJaOrganisasjonsnavn (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 LinkedIn-firmasid-ID. Når satt, viser hver offentlige tildelingsside fra denne utstederen en knapp 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
{
  "statusCode": 200,
  "info": {
    "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
}

Merknader

  • Teller mot planens utstedergrense (Free: 1, Starter: 5, Pro: ubegrenset). Ingen kvotafradrag.
  • Hvis utstederens e-post samsvarer med kontoens e-post, autoverifiseres utstederen.
  • Hvis e-posten er annerledes, sendes en verifiserings-e-post til utstederens e-post.

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
{
  "statusCode": 200,
  "info": {
    "issuers": [
      {
        "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": "2025-01-15T10:30:00.000Z"
      }
    ]
  }
}

Verifiser utsteder

Verifiser en utsteder ved hjelp av verifiseringskoden sendt til dens e-post.

POST /issuers/{issuerId}/verify

Parametere

ParameterTypePåkrevdBeskrivelse
issuerIdstringJaUtsteder-ID (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

json
{
  "statusCode": 200,
  "info": {
    "verified": true
  }
}

Slett utsteder

Slett en utsteder. Utstederen må ikke ha noen merker.

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

json
{
  "statusCode": 200,
  "info": {
    "deleted": true
  }
}

Feil

  • 400 — utstederen har merker eller tildelinger og kan ikke slettes (slett disse først)
  • 404 — utstederen ble ikke funnet

Oppdater utsteder

Oppdater felter på en uverifisert utsteder. Når en utsteder er verifisert, forblir kun logo og linkedinOrganizationId redigerbare for å bevare bevisstabiliteten.

PUT /issuers/{issuerId}

Parametere

ParameterTypePåkrevdBeskrivelse
issuerIdstringJaUtsteder-ID (stiparameter)
namestringNeiNytt navn (kun når uverifisert)
urlstringNeiNy URL (kun når uverifisert)
emailstringNeiNy e-post (kun når uverifisert — sender en ny verifiseringsmail)
logostringNeiNy base64-kodet logo
linkedinOrganizationIdstringNeiNy LinkedIn-organisasjons-ID (eller tom streng for å tømme)

Roter verifiseringskode

Ugyldiggjør den forrige verifiseringslenken, og send en ny via e-post. Kun gyldig mens utstederen fortsatt er uverifisert.

POST /issuers/{issuerId}/rotate-code

Svar

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

badges.ninja Documentation