Документация/API и Webhook'и/Организация и пользователи

Организация и пользователи

Ресурс организации возвращает метаданные о Вашем аккаунте. Ресурс пользователя позволяет Вам перечислять, получать, приглашать, обновлять и деактивировать разработчиков, которые потребляют обучение. Все эндпоинты находятся под /api/public/v1.

Конечные точки

МетодПутьОбласть действияНазначение
GET/orgorg:readМетаданные вызывающей организации.
GET/usersusers:readСписок пользователей в организации.
GET/users/{'{'}id{'}'}users:readОдин пользователь, включая итоги прогресса.
POST/usersusers:writeПригласить пользователя. Отправляет email с приглашением.
PATCH/users/{'{'}id{'}'}users:writeОбновить имя, email, роль или членство в команде.
DELETE/users/{'{'}id{'}'}users:writeДеактивировать пользователя. Не выполняет жёсткое удаление.

Получить организацию

Возвращает план, лимит мест, slug, домен и состояние пробного периода для организации, привязанной к API-ключу.

GET /api/public/v1/org
Authorization: Bearer scs_live_…

Ответ

{
  "id": "9c2f4b8e-0c1d-4a52-b6f3-1ed7b0a4c9f1",
  "name": "Acme Corp",
  "slug": "acme",
  "domain": "acme.com",
  "plan": "growth",
  "maxSeats": 250,
  "trialExpiresAt": null,
  "isActive": true,
  "createdAt": "2025-08-12T09:14:22Z"
}

Пример

curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/org

Список пользователей

Возвращает каждого пользователя в организации, активного или деактивированного. Список без пагинации; ожидайте до нескольких тысяч записей в зависимости от Вашего плана.

GET /api/public/v1/users
Authorization: Bearer scs_live_…

Ответ

[
  {
    "id": "b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4",
    "name": "Jane Smith",
    "email": "jane.smith@acme.com",
    "role": "learner",
    "teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
    "teamName": "Payments",
    "isActive": true,
    "lastLoginAt": "2026-05-27T16:42:11Z",
    "createdAt": "2026-02-04T11:08:00Z"
  }
]

Пример

curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/users

Получить пользователя

Возвращает те же поля, что и запись списка, плюс агрегированный XP, завершённые задачи, завершённые сценарии и массивы прогресса по темам. Используйте это, когда Вам нужна полная история обучения одного разработчика.

GET /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…

Ответ

{
  "id": "b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4",
  "name": "Jane Smith",
  "email": "jane.smith@acme.com",
  "role": "member",
  "teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
  "teamName": "Payments",
  "isActive": true,
  "lastLoginAt": "2026-05-27T16:42:11Z",
  "createdAt": "2026-02-04T11:08:00Z",
  "totalXp": 4280,
  "completedChallenges": 38,
  "completedScenarios": 4,
  "practiceProgress": [],
  "learnProgress": []
}

Пример

curl -sS -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/users/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4

Создать пользователя

Создаёт запись пользователя и отправляет email с приглашением на указанный адрес. Идемпотентен по email: повторный POST того же email возвращает ошибку, а не создаёт дубликат. Используйте это из Вашего SCIM-прокси, синхронизации HRIS или скрипта онбординга.

POST /api/public/v1/users
Authorization: Bearer scs_live_…
Content-Type: application/json

Тело запроса

ПолеТипОбязательноЗначение
namestringдаОтображаемое имя, показываемое в панелях и email-уведомлениях о заданиях.
emailstringдаИдентификатор для входа. Получает email с приглашением.
rolestringдаlearner (по умолчанию) или org_admin. Любое другое значение приводится к learner.
teamIduuidнетПоместить пользователя в команду во время создания. Опустите, чтобы оставить неназначенным.

Ответ

{
  "id": "b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4",
  "name": "Jane Smith",
  "email": "jane.smith@acme.com",
  "role": "learner",
  "teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
  "teamName": "Payments",
  "isActive": true,
  "lastLoginAt": null,
  "createdAt": "2026-05-29T09:22:14Z"
}

Пример

curl -sS -X POST \
  -H "Authorization: Bearer $SCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Jane Smith",
    "email": "jane.smith@acme.com",
    "role": "learner",
    "teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32"
  }' \
  https://api.limeplate.com/api/public/v1/users

Обновить пользователя

Все поля в теле записываются. Чтобы вывести пользователя из команды, отправьте teamId: null. Изменение email-адреса не отправляет приглашение повторно.

PATCH /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…
Content-Type: application/json

Тело запроса

Все четыре поля обязательны. Отправьте текущее значение, чтобы оставить его неизменным — на этом эндпоинте нет семантики частичного PATCH.

ПолеТипОбязательноЗначение
namestringдаОтображаемое имя.
emailstringдаИдентификатор для входа.
rolestringдаlearner или org_admin.
teamIduuid или nullдаID команды или null для отвязки.

Ответ

{
  "id": "b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4",
  "name": "Jane Smith",
  "email": "jane.smith@acme.com",
  "role": "org_admin",
  "teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32",
  "teamName": "Payments",
  "isActive": true,
  "lastLoginAt": "2026-05-27T16:42:11Z",
  "createdAt": "2026-02-04T11:08:00Z"
}

Пример

curl -sS -X PATCH \
  -H "Authorization: Bearer $SCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Jane Smith",
    "email": "jane.smith@acme.com",
    "role": "org_admin",
    "teamId": "4f8d3e2a-71cb-4d09-9ad7-5b8c7e1f0a32"
  }' \
  https://api.limeplate.com/api/public/v1/users/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4

Деактивировать пользователя

Устанавливает isActive в false. Запись остаётся на месте: завершённые задачи, сценарии, XP и исторические задания сохраняются, чтобы аудит и отчётность продолжали работать. Пользователь больше не может войти, и новые задания не будут создаваться против него через SARIF или POST /assignments. Эндпоинта жёсткого удаления нет; запросы на удаление данных проходят через команду конфиденциальности.

DELETE /api/public/v1/users/{userId}
Authorization: Bearer scs_live_…

Ответ

{
  "message": "User deactivated"
}

Пример

curl -sS -X DELETE \
  -H "Authorization: Bearer $SCH_API_KEY" \
  https://api.limeplate.com/api/public/v1/users/b1a4d7c2-9e58-4f3a-83cd-2c6f1a90e7b4