Skip to content

Справочник ошибок

Этот раздел отражает актуальные коды ошибок из серверного репозитория netrunner-server, пакета internal/apperrs.

Как читать ответы API

Сервер возвращает ошибки в JSON-ответе. Для диагностики важны:

  • code — машинный код ошибки, который удобно использовать в клиенте и логах;
  • HTTP-статус — тип ошибки на уровне API;
  • message — текст сообщения, который может зависеть от конкретного места вызова.

Важно: в текущем серверном коде есть коды с опечаткой CRENENTIAL_*. В справочнике они сохранены без исправлений, потому что именно в таком виде сервер формирует ответ.

Аутентификация и пользователи

КодHTTPКогда возникает
ACCOUNT_ALREADY_EXISTS409 ConflictПопытка создать учётную запись, которая уже существует.
ACCOUNT_DELETE_FORBIDDEN409 ConflictЗапрещено удаление текущей или защищённой учётной записи.
ACCOUNT_UPDATE_FORBIDDEN409 ConflictЗапрещено изменение текущей или защищённой учётной записи.
INVALID_CREDENTIALS401 UnauthorizedНеверный логин или пароль при аутентификации.
INVALID_TOKEN401 UnauthorizedAccess token некорректен, повреждён или просрочен.
INVALID_TOKEN_CLAIMS401 UnauthorizedТокен прошёл проверку формата, но содержит некорректные claims.
UNAUTHORIZED401 UnauthorizedЗапрос выполнен без корректной авторизации.
REFRESH_TOKEN_NOT_FOUND404 Not FoundRefresh token не найден.
USER_NOT_FOUND404 Not FoundПользователь не найден.
USER_EXISTS409 ConflictПользователь с такими данными уже существует.
WEAK_PASSWORD400 Bad RequestПароль не соответствует требованиям сложности.
HASH_PASSWORD500 Internal Server ErrorОшибка хеширования пароля на сервере.
INVALID_PASSWORD401 UnauthorizedПередан неверный пароль.
LOGIN_REQUIRED400 Bad RequestНе заполнено обязательное поле логина.
USERNAME_REQUIRED400 Bad RequestНе заполнено обязательное имя пользователя.
ROLE_REQUIRED400 Bad RequestНе указана роль пользователя.
PASSWORD_REQUIRED400 Bad RequestНе передан пароль.
ADMIN_EXIST409 ConflictПервый администратор уже создан, повторная инициализация запрещена.

Типовые сообщения авторизации

Для части запросов авторизации использует код UNAUTHORIZED и возвращает одно из сообщений:

  • missing token — токен не был передан;
  • token revoked — токен найден в blacklist;
  • invalid token — токен не прошёл валидацию.

Валидация и общие проверки

КодHTTPКогда возникает
VALIDATION_ERROR400 Bad RequestОбщая ошибка валидации входных данных.
ROLE_INVALID400 Bad RequestПередана неподдерживаемая роль.

Хосты, группы и учётные данные

КодHTTPКогда возникает
HOST_NOT_FOUND404 Not FoundХост с указанным идентификатором не найден.
HOST_INVALID_IP400 Bad RequestПередан некорректный IP-адрес.
HOST_EMPTY_IP400 Bad RequestIP-адрес хоста не заполнен.
HOST_ALREADY_EXISTS409 ConflictХост с таким IP или уникальными данными уже существует.
GROUP_NOT_FOUND404 Not FoundГруппа не найдена.
GROUP_ALREADY_EXISTS409 ConflictГруппа с таким именем уже существует.
CRENENTIAL_NOT_FOUND404 Not FoundУчётные данные не найдены.
CRENENTIAL_ALREADY_EXISTS409 ConflictУчётные данные с такими параметрами уже существуют.
INVALID_CREDENTIAL401 UnauthorizedПереданы некорректные учётные данные.
ROLE_NOT_FOUND404 Not FoundРоль не найдена.
ROLE_ALREADY_EXISTS409 ConflictРоль уже существует.

Шаблоны, расписания и задачи

КодHTTPКогда возникает
TEMPLATE_NOT_FOUND404 Not FoundШаблон не найден.
TEMPLATE_ALREADY_EXISTS409 ConflictШаблон с таким именем или ключевыми параметрами уже существует.
TEMPLATE_NO_SCHEDULE400 Bad RequestДля операции требуется расписание, но оно не задано.
TEMPLATE_ALREADY_ENABLED409 ConflictШаблон уже включён или уже активен в расписании.
TEMPLATE_TYPE_NOT_ALLOWED400 Bad RequestПередан неподдерживаемый тип шаблона или проверки.
SCHEDULE_NOT_FOUND400 Bad RequestРасписание не найдено.
SCHEDULED_TIME_EXPIRED400 Bad RequestВремя запуска в расписании уже истекло.
SCHEDULE_FAILED500 Internal Server ErrorСбой при постановке или выполнении расписания.
TASK_NOT_FOUND404 Not FoundЗадача не найдена.
TASK_ALREADY_EXISTS409 ConflictЗадача с такими параметрами уже существует.

Сканирование и сетевые операции

КодHTTPКогда возникает
PING_INVALID_TARGET400 Bad RequestДля ping передана некорректная цель.
PING_RESOLVE_TIMEOUT504 Gateway TimeoutИстекло время разрешения имени или ожидания ответа при ping.
PENTEST_NO_PORTS400 Bad RequestДля pentest-задачи не указаны порты.
PENTEST_WRONG_RANGE_PORTS400 Bad RequestПередан некорректный диапазон портов.
PENTEST_WRONG_PORT400 Bad RequestОдин из портов задан в неверном формате или вне допустимого диапазона.
PENTEST_NO_LIVE_HOSTS500 Internal Server ErrorВо время выполнения не найдено доступных хостов для сканирования.
PENTEST_REPORT_CREATE_FAILED500 Internal Server ErrorСервер не смог сформировать отчёт pentest-задачи.
AGENT_IS_DOWN500 Internal Server ErrorАгент недоступен или не отвечает.
AGENT_SEND_FAILED500 Internal Server ErrorСервер не смог отправить команду агенту.
AGENT_WRONG_DATA500 Internal Server ErrorАгент вернул неожиданные или повреждённые данные.
WHITE_BOX_NO_TRANSPORT400 Bad RequestДля WhiteBox-сценария не выбран или не поддерживается транспорт.

JSON и служебные данные

КодHTTPКогда возникает
JSON_NOT_FOUND404 Not FoundСервер не нашёл ожидаемый JSON-ресурс или конфигурацию.
JSON_NO_TASK_TYPE400 Bad RequestВ JSON не указан тип задачи.
JSON_ERR_READING500 Internal Server ErrorОшибка чтения JSON на сервере.
JSON_NO_OUT_TYPE500 Internal Server ErrorВ JSON отсутствует или не определён выходной тип данных.

Документация NRunner