Skip to content

Udsteder-API

Administrér mærkeudstedere — organisationerne eller personerne, der uddeler mærker.

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

Opret udsteder

Opret en ny mærkeudsteder.

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 LinkedIn-virksomhedssideid. Når sat, viser hver offentlig udmærkelsesside 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
{
  "statusCode": 200,
  "info": {
    "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
}

Bemærkninger

  • Tæller mod din plans udstedergrænse (Free: 1, Starter: 5, Pro: ubegrænset). Intet kvotafradrag.
  • Hvis udstederens e-mail matcher din kontos e-mail, autoverificeres udstederen.
  • Hvis e-mailen er anderledes, sendes en verificerings-e-mail til udstederens e-mail.

Liste 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
{
  "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"
      }
    ]
  }
}

Verificér udsteder

Verificér en udsteder ved hjælp af verificeringskoden sendt til dens e-mail.

POST /issuers/{issuerId}/verify

Parametre

ParameterTypePåkrævetBeskrivelse
issuerIdstringJaUdsteder-ID (stiparameter)
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

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

Slet udsteder

Slet en udsteder. Udstederen må ikke have nogen mærker.

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

Fejl

  • 400 — udstederen har mærker eller udmærkelser og kan ikke slettes (slet disse først)
  • 404 — udstederen blev ikke fundet

Opdatér udsteder

Opdatér felter på en uverificeret udsteder. Når en udsteder er verificeret, forbliver kun logo og linkedinOrganizationId redigerbare for at bevare bevisstabiliteten.

PUT /issuers/{issuerId}

Parametre

ParameterTypePåkrævetBeskrivelse
issuerIdstringJaUdsteder-ID (stiparameter)
namestringNejNyt navn (kun når uverificeret)
urlstringNejNy URL (kun når uverificeret)
emailstringNejNy e-mail (kun når uverificeret — sender en ny verificeringsmail)
logostringNejNyt base64-kodet logo
linkedinOrganizationIdstringNejNyt LinkedIn-organisations-ID (eller tom streng for at rydde)

Rotér verificeringskode

Ugyldiggør det forrige verificeringslink, og send et nyt via e-mail. Kun gyldigt, mens udstederen stadig er uverificeret.

POST /issuers/{issuerId}/rotate-code

Svar

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

badges.ninja Documentation