API инвентаризации (Public Inventory API v2)
Доступ: Bearer machine-токен со scope
inventory:read
LSUS предоставляет публичный REST API для чтения инвентарных данных хостов внешними системами (SIEM, CMDB, SecurITM, MaxPatrol и др.). API работает по Bearer-токену, без cookie-сессии и CSRF.
Аутентификация¶
Все запросы требуют заголовок Authorization: Bearer <machine-token>.
Управление токенами¶
Токены выпускаются в Администрирование → Настройки → API токены (право admin.settings.view).
| Действие | Endpoint | Описание |
|---|---|---|
| Выпустить | POST /api/v1/admin/inventory-api/token |
Создаёт machine-токен со scope inventory:read. Сырой токен возвращается один раз. |
| Статус | GET /api/v1/admin/inventory-api/token?name=<имя> |
Текущее состояние (имя, scope, активность). |
| Отозвать | DELETE /api/v1/admin/inventory-api/token |
Отзыв токена. |
Сырой токен — один раз
При выпуске токен показывается только в ответе на POST. Сохраните его — в БД хранится только хэш. При утере — выпустите новый.
Endpoints¶
Базовый URL: https://<master>:<порт>/api/v2/inventory
| Метод | Путь | Что возвращает |
|---|---|---|
GET |
/hosts |
Список хостов с краткими инвентарными данными. Фильтры: os, search, limit, offset. |
GET |
/hosts/<id> |
Полная карточка хоста: метаданные + инвентарь. |
GET |
/hardware |
Оборудование хостов: CPU, RAM, диски, мониторы, принтеры. |
GET |
/network |
Сетевые интерфейсы. |
GET |
/usb |
USB-устройства (vendor/product ID, класс, serial). |
GET |
/software |
Установленное ПО (Windows — реестр Uninstall, Linux — .desktop). |
GET |
/packages |
Системные пакеты (Linux: dpkg/rpm). |
GET |
/users |
Пользовательские сессии (активные + история). |
GET |
/history |
Журнал изменений инвентаризации. Фильтры: section, source, since. |
Формат ответа¶
{
"total": 42,
"limit": 100,
"offset": 0,
"items": [...]
}
Каждый хост содержит _host_meta (hostname, ОС, IP, last_seen) и _brief_inventory (краткая сводка оборудования).
Примеры¶
# Список хостов
curl -k -H "Authorization: Bearer <token>" \
"https://master.example.com/api/v2/inventory/hosts?limit=10"
# Оборудование хоста #42
curl -k -H "Authorization: Bearer <token>" \
"https://master.example.com/api/v2/inventory/hosts/42"
# Изменения за последние 24 часа
curl -k -H "Authorization: Bearer <token>" \
"https://master.example.com/api/v2/inventory/history?since=2026-07-28T00:00:00Z"
Интеграция с внешними системами¶
API v2 — основа для коннекторов SecurITM, MaxPatrol VM, X-Threat и пользовательских интеграций:
Связанные страницы¶
- Хосты — UI инвентаризации.
- Администрирование → API токены — управление токенами.