Skip to content

Members API ​

Beheer teamplaatsen en rollen — de mensen die de uitgevers, badges en referenties 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 ​

  • 400 — role must be one of admin, editor, viewer
  • 400 — ongeldig of ontbrekend e-mailadres
  • 400 — seat 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 ​

  • 400 — email 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 ​

  • 400 — role must be one of admin, editor, viewer
  • 400 — the 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 ​

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

badges.ninja Documentation