Skip to content

Members API

Gestionează locurile și rolurile echipei — persoanele care partajează emitenții, insignele și acordările contului tău.

Toate punctele finale necesită autentificare. Consultă Autentificare. Fiecare cerere este limitată la contul proprietarului autentificat.

Rolurile care pot fi atribuite prin API sunt admin, editor și viewer. Rolul owner este rezervat deținătorului contului și nu poate fi atribuit sau eliminat.

Listează membrii

Preia toți membrii și invitațiile în așteptare din contul tău.

GET /members

Exemplu

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

Răspuns

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 este active pentru membrii care au acceptat sau pending pentru invitațiile care nu au fost încă acceptate.


Invită un membru

Invită o persoană în cont prin e-mail. Un e-mail de invitație cu un link de acceptare este trimis la adresă.

POST /members

Parametri

ParametruTipObligatoriuDescriere
emailstringDaAdresa de e-mail de invitat (trebuie să fie un e-mail valid)
rolestringDaRolul de atribuit — unul dintre admin, editor, viewer

Exemplu

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ăspuns

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

Erori

  • 400role must be one of admin, editor, viewer
  • 400 — adresă de e-mail invalidă sau lipsă
  • 400seat limit reached — contul nu are locuri libere pentru plan (Free: 2, Starter: 5, Pro: 20, inclusiv proprietarul). Elimină un membru sau treci la un plan superior.
  • 400 — e-mailul este deja membru sau are o invitație în așteptare în acest cont

Acceptă invitația

Acceptă o invitație în așteptare. E-mailul utilizatorului autentificat trebuie să corespundă adresei la care a fost trimisă invitația.

POST /members/accept

Parametri

ParametruTipObligatoriuDescriere
inviteIdstringDaID-ul invitației din e-mailul cu linkul de acceptare

Exemplu

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ăspuns

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

Erori

  • 400email does not match invitation — e-mailul autentificat diferă de e-mailul invitat
  • 404 — invitație negăsită (deja acceptată, anulată sau inviteId este greșit)

Actualizează rolul membrului

Schimbă rolul unui membru existent. Necesită privilegii de proprietar sau administrator.

POST /members/{memberId}/role

Parametri

ParametruTipObligatoriuDescriere
memberIdstringDaID-ul membrului (parametru de cale)
rolestringDaRol nou — unul dintre admin, editor, viewer

Exemplu

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ăspuns

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

Erori

  • 400role must be one of admin, editor, viewer
  • 400the owner role cannot be changed
  • 404 — membru negăsit

Elimină un membru

Elimină un membru din cont sau anulează o invitație în așteptare. Membrul pierde imediat accesul, iar locul său se eliberează.

DELETE /members/{memberId}

Exemplu

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

Răspuns

Un simplu șir de caractere:

json
"member has been removed"

Erori

  • 400the owner cannot be removed
  • 404 — membru negăsit

badges.ninja Documentation