Skip to content

Members API

Керуйте місцями та ролями команди — людьми, які спільно використовують емітентів, бейджі та видачі вашого облікового запису.

Усі кінцеві точки вимагають автентифікації. Див. Автентифікація. Кожен запит обмежено обліковим записом автентифікованого власника.

Ролі, які можна призначити через API, — це admin, editor і viewer. Роль owner зарезервовано за власником облікового запису, і її не можна призначити чи видалити.

Список учасників

Отримайте всіх учасників і запрошення, що очікують, у вашому обліковому записі.

GET /members

Приклад

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

Відповідь

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 має значення active для учасників, які прийняли запрошення, або pending для запрошень, які ще не прийнято.


Запросити учасника

Запросіть людину до облікового запису за електронною поштою. На цю адресу надсилається лист-запрошення з посиланням для прийняття.

POST /members

Параметри

ПараметрТипОбов'язковийОпис
emailstringТакАдреса електронної пошти для запрошення (має бути дійсною електронною поштою)
rolestringТакРоль для призначення — одна з admin, editor, viewer

Приклад

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

Відповідь

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

Помилки

  • 400role must be one of admin, editor, viewer
  • 400 — недійсна або відсутня адреса електронної пошти
  • 400seat limit reached — в обліковому записі немає вільних місць для тарифу (Free: 2, Starter: 5, Pro: 20, включно з власником). Видаліть учасника або перейдіть на вищий тариф.
  • 400 — ця електронна пошта вже є учасником або має запрошення, що очікує, у цьому обліковому записі

Прийняти запрошення

Прийміть запрошення, що очікує. Адреса електронної пошти автентифікованого користувача має збігатися з адресою, на яку було надіслано запрошення.

POST /members/accept

Параметри

ПараметрТипОбов'язковийОпис
inviteIdstringТакІдентифікатор запрошення з листа з посиланням для прийняття

Приклад

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

Відповідь

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

Помилки

  • 400email does not match invitation — адреса електронної пошти, з якою здійснено вхід, відрізняється від запрошеної адреси
  • 404 — запрошення не знайдено (вже прийнято, скасовано або inviteId неправильний)

Оновити роль учасника

Змініть роль наявного учасника. Потрібні права власника або адміністратора.

POST /members/{memberId}/role

Параметри

ПараметрТипОбов'язковийОпис
memberIdstringТакІдентифікатор учасника (параметр шляху)
rolestringТакНова роль — одна з admin, editor, viewer

Приклад

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

Відповідь

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

Помилки

  • 400role must be one of admin, editor, viewer
  • 400the owner role cannot be changed
  • 404 — учасника не знайдено

Видалити учасника

Видаліть учасника з облікового запису або скасуйте запрошення, що очікує. Учасник негайно втрачає доступ, а його місце звільняється.

DELETE /members/{memberId}

Приклад

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

Відповідь

Простий рядок:

json
"member has been removed"

Помилки

  • 400the owner cannot be removed
  • 404 — учасника не знайдено

badges.ninja Documentation