Skip to content

Members API

Zarządzaj miejscami i rolami zespołu — osobami, które współdzielą wydawców, odznaki i przyznania Twojego konta.

Wszystkie punkty końcowe wymagają uwierzytelnienia. Zobacz Uwierzytelnianie. Każde żądanie jest ograniczone do konta uwierzytelnionego właściciela.

Role, które można przypisać za pomocą API, to admin, editor i viewer. Rola owner jest zarezerwowana dla właściciela konta i nie można jej przypisać ani usunąć.

Lista członków

Pobierz wszystkich członków i oczekujące zaproszenia na Twoim koncie.

GET /members

Przykład

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

Odpowiedź

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 ma wartość active dla członków, którzy zaakceptowali zaproszenie, lub pending dla zaproszeń, które nie zostały jeszcze zaakceptowane.


Zaproś członka

Zaproś osobę na konto za pomocą adresu e-mail. Na podany adres wysyłana jest wiadomość z linkiem akceptacji.

POST /members

Parametry

ParametrTypWymaganyOpis
emailstringTakAdres e-mail do zaproszenia (musi być prawidłowym adresem e-mail)
rolestringTakRola do przypisania — jedna z admin, editor, viewer

Przykład

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

Odpowiedź

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

Błędy

  • 400role must be one of admin, editor, viewer
  • 400 — nieprawidłowy lub brakujący adres e-mail
  • 400seat limit reached — konto nie ma wolnych miejsc dla planu (Free: 2, Starter: 5, Pro: 20, wliczając właściciela). Usuń członka lub przejdź na wyższy plan.
  • 400 — adres e-mail jest już członkiem lub ma oczekujące zaproszenie na tym koncie

Zaakceptuj zaproszenie

Zaakceptuj oczekujące zaproszenie. Adres e-mail uwierzytelnionego użytkownika musi być zgodny z adresem, na który wysłano zaproszenie.

POST /members/accept

Parametry

ParametrTypWymaganyOpis
inviteIdstringTakIdentyfikator zaproszenia z wiadomości e-mail z linkiem akceptacji

Przykład

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

Odpowiedź

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

Błędy

  • 400email does not match invitation — zalogowany adres e-mail różni się od zaproszonego adresu e-mail
  • 404 — nie znaleziono zaproszenia (już zaakceptowane, anulowane lub nieprawidłowy inviteId)

Zaktualizuj rolę członka

Zmień rolę istniejącego członka. Wymaga uprawnień właściciela lub administratora.

POST /members/{memberId}/role

Parametry

ParametrTypWymaganyOpis
memberIdstringTakIdentyfikator członka (parametr ścieżki)
rolestringTakNowa rola — jedna z admin, editor, viewer

Przykład

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

Odpowiedź

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

Błędy

  • 400role must be one of admin, editor, viewer
  • 400the owner role cannot be changed
  • 404 — nie znaleziono członka

Usuń członka

Usuń członka z konta lub anuluj oczekujące zaproszenie. Członek natychmiast traci dostęp, a jego miejsce zostaje zwolnione.

DELETE /members/{memberId}

Przykład

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

Odpowiedź

Zwykły ciąg znaków:

json
"member has been removed"

Błędy

  • 400the owner cannot be removed
  • 404 — nie znaleziono członka

badges.ninja Documentation