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ДаАдрес электронной почты для приглашения (должен быть действительным email)
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 — в аккаунте нет свободных мест для тарифа (Бесплатный: 2, Starter: 5, Pro: 20, включая владельца). Удалите участника или повысьте тариф.
  • 400 — email уже является участником или имеет ожидающее приглашение в этом аккаунте

Принять приглашение

Принять ожидающее приглашение. Email аутентифицированного пользователя должен совпадать с адресом, на который было отправлено приглашение.

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 — email входа отличается от приглашённого email
  • 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