Skip to content

API Members

Gérez les sièges d'équipe et les rôles — les personnes qui partagent les émetteurs, badges et attributions de votre compte.

Tous les points de terminaison nécessitent une authentification. Voir Authentification. Chaque requête est limitée au compte du propriétaire authentifié.

Les rôles pouvant être attribués via l'API sont admin, editor et viewer. Le rôle owner est réservé au titulaire du compte et ne peut être ni attribué ni supprimé.

Lister les membres

Récupérez tous les membres et invitations en attente de votre compte.

GET /members

Exemple

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

Réponse

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 vaut active pour les membres qui ont accepté, ou pending pour les invitations qui n'ont pas encore été acceptées.


Inviter un membre

Invitez une personne sur le compte par e-mail. Un e-mail d'invitation contenant un lien d'acceptation est envoyé à l'adresse.

POST /members

Paramètres

ParamètreTypeRequisDescription
emailstringOuiAdresse e-mail à inviter (doit être un e-mail valide)
rolestringOuiRôle à attribuer — l'un de admin, editor, viewer

Exemple

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

Réponse

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

Erreurs

  • 400role must be one of admin, editor, viewer
  • 400 — adresse e-mail invalide ou manquante
  • 400seat limit reached — le compte n'a plus de siège disponible pour le forfait (Gratuit : 2, Starter : 5, Pro : 20, propriétaire inclus). Supprimez un membre ou passez à un forfait supérieur.
  • 400 — l'e-mail est déjà membre ou a une invitation en attente sur ce compte

Accepter une invitation

Acceptez une invitation en attente. L'e-mail de l'utilisateur authentifié doit correspondre à l'adresse à laquelle l'invitation a été envoyée.

POST /members/accept

Paramètres

ParamètreTypeRequisDescription
inviteIdstringOuiL'ID d'invitation issu de l'e-mail contenant le lien d'acceptation

Exemple

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

Réponse

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

Erreurs

  • 400email does not match invitation — l'e-mail connecté diffère de l'e-mail invité
  • 404 — invitation introuvable (déjà acceptée, annulée, ou l'inviteId est incorrect)

Modifier le rôle d'un membre

Modifiez le rôle d'un membre existant. Nécessite des privilèges de propriétaire ou d'administrateur.

POST /members/{memberId}/role

Paramètres

ParamètreTypeRequisDescription
memberIdstringOuiL'ID du membre (paramètre de chemin)
rolestringOuiNouveau rôle — l'un de admin, editor, viewer

Exemple

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

Réponse

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

Erreurs

  • 400role must be one of admin, editor, viewer
  • 400the owner role cannot be changed
  • 404 — membre introuvable

Supprimer un membre

Supprimez un membre du compte, ou annulez une invitation en attente. Le membre perd immédiatement l'accès et son siège est libéré.

DELETE /members/{memberId}

Exemple

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

Réponse

Une simple chaîne de caractères :

json
"member has been removed"

Erreurs

  • 400the owner cannot be removed
  • 404 — membre introuvable

badges.ninja Documentation