← Назад к «Docker и образы»

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 Отзыв токена.

warningСырой токен — один раз

При выпуске токен показывается только в ответе на 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 и пользовательских интеграций:

Связанные страницы