Skip to content

Members API

Beheer teamplaatsen en rollen — de mensen die de uitgevers, badges en uitreikingen van je account delen.

Alle endpoints vereisen authenticatie. Zie Authenticatie. Elk verzoek is beperkt tot het account van de geauthenticeerde owner.

De rollen die via de API kunnen worden toegewezen zijn admin, editor en viewer. De rol owner is voorbehouden aan de accounthouder en kan niet worden toegewezen of verwijderd.

Leden weergeven

Haal alle leden en uitnodigingen in behandeling op je account op.

GET /members

Voorbeeld

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

Antwoord

json
{
  "items": [
    {
      "memberId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "email": "owner@acme.example.com",
      "role": "owner",
      "status": "active"
    },
    {
      "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "email": "editor@acme.example.com",
      "role": "editor",
      "status": "pending"
    }
  ]
}

status is active voor leden die hebben geaccepteerd, of pending voor uitnodigingen die nog niet zijn geaccepteerd.


Lid uitnodigen

Nodig een persoon uit voor het account via e-mail. Er wordt een uitnodigingsmail met een acceptatielink naar het adres gestuurd.

POST /members

Parameters

ParameterTypeVereistBeschrijving
emailstringJaE-mailadres om uit te nodigen (moet een geldig e-mailadres zijn)
rolestringJaToe te wijzen rol — een van admin, editor, viewer

Voorbeeld

bash
curl -X POST https://api.badges.ninja/members \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "email": "editor@acme.example.com",
      "role": "editor"
    }
  }'

Antwoord

json
{
  "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "inviteId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "status": "pending"
}

Fouten

  • 400role must be one of admin, editor, viewer
  • 400 — ongeldig of ontbrekend e-mailadres
  • 400seat limit reached — het account heeft geen vrije plaatsen voor het abonnement (Free: 2, Starter: 5, Pro: 20, inclusief de owner). Verwijder een lid of stap over op een hoger abonnement.
  • 400 — de e-mail is al lid of heeft een uitnodiging in behandeling op dit account

Uitnodiging accepteren

Accepteer een uitnodiging in behandeling. Het e-mailadres van de geauthenticeerde gebruiker moet overeenkomen met het adres waar de uitnodiging naartoe is gestuurd.

POST /members/accept

Parameters

ParameterTypeVereistBeschrijving
inviteIdstringJaDe uitnodigings-ID uit de e-mail met de acceptatielink

Voorbeeld

bash
curl -X POST https://api.badges.ninja/members/accept \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "inviteId": "c3d4e5f6-a7b8-9012-cdef-123456789012"
    }
  }'

Antwoord

json
{
  "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "status": "active"
}

Fouten

  • 400email does not match invitation — het ingelogde e-mailadres verschilt van het uitgenodigde e-mailadres
  • 404 — uitnodiging niet gevonden (al geaccepteerd, geannuleerd of de inviteId is onjuist)

Ledenrol bijwerken

Wijzig de rol van een bestaand lid. Vereist owner- of admin-rechten.

POST /members/{memberId}/role

Parameters

ParameterTypeVereistBeschrijving
memberIdstringJaDe lid-ID (padparameter)
rolestringJaNieuwe rol — een van admin, editor, viewer

Voorbeeld

bash
curl -X POST https://api.badges.ninja/members/b2c3d4e5-f6a7-8901-bcde-f12345678901/role \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "role": "admin"
    }
  }'

Antwoord

json
{
  "memberId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "role": "admin",
  "updated": true
}

Fouten

  • 400role must be one of admin, editor, viewer
  • 400the owner role cannot be changed
  • 404 — lid niet gevonden

Lid verwijderen

Verwijder een lid van het account of annuleer een uitnodiging in behandeling. Het lid verliest onmiddellijk de toegang en de plaats komt vrij.

DELETE /members/{memberId}

Voorbeeld

bash
curl -X DELETE https://api.badges.ninja/members/b2c3d4e5-f6a7-8901-bcde-f12345678901 \
  -H "X-Api-Key: bws_your_api_key_here"

Antwoord

Een kale string:

json
"member has been removed"

Fouten

  • 400the owner cannot be removed
  • 404 — lid niet gevonden

badges.ninja Documentation