Введение
API NRunner в серверном репозитории документируется в каталоге netrunner-server/docs/nrunner. Для локального окружения там используется базовый URL:
text
http://127.0.0.1:3002/api/v1В клиенте все запросы также строятся относительно /api/v1.
Что входит в текущую API-поверхность
По документации из netrunner-server/docs сервер описывает следующие группы маршрутов:
auth— вход, обновление токена, выход;admin— первичная инициализация администратора и проверка его наличия;users— CRUD пользователей иGET /users/me;hosts— список, карточка, обновление, удаление, массовое удаление, пакеты инвентаризации;groups— список, карточка, создание, изменение и удаление групп;templates— список, карточка, создание, редактирование, запуск, включение расписания, diff, удаление;tasks— активные и архивные задачи, карточка задачи, отмена, удаление и задачи шаблона;reports— отчёты поpentest,agent-inventory,whitebox,ddos, а также diff-эндпоинты;credentials— список, создание и удаление учётных данных;deploy— операции с агентом на хосте;ping— проверка цели или сети;logs— получение логов и списка лог-файлов;healthcheck—livenessиreadiness;websocket— потоки событий по задачам и агентам.
Общие правила
- Почти все маршруты, кроме первичной инициализации администратора и healthcheck, требуют bearer-токен.
- В серверной документации авторизация настроена как
Authorization: Bearer. - Идентификаторы в маршрутах обычно передаются как
:host_id,:group_id,:template_id,:task_id,:asset_id. - Для списков часто используются query-параметры
limitиpage, а также фильтры по имени, типу или связанному asset.
Что важно учитывать при работе с документацией
- Для задач актуальная API-модель завязана не на прямое
POST /tasks, а на шаблоны, запуск шаблонов и получение отчётов по задачам.