---
canonical: https://docs.ideco.ru/v22/ru/ngfw/api/hip-profiles-api
---

# Профили устройств

::: page-constructor
blocks:
  - type: content-layout-block
    textContent:
      buttons:
        - text: Классический VCE
          theme: action
          width: 'auto'
        - text: Документация
          theme: outlined
          url: https://docs.ideco.ru/v22/ru/ngfw/settings/users/hip-profiles
          width: 'auto'
    resetPaddings: false
    textWidth: l
    size: m
    centered: false
:::

## Управление HIP-профилями

{% cut "Получение списка HIP-профилей" %}

```
GET /api/hip-profiles/profiles
```

**Ответ на успешный запрос:**

```json5
[
  {
    "id": "string",
    "name": "string",
    "comment": "string",
    "enabled": true | false,
    "hip": {
      "groups": [
        {
          "objects": ["string"],
          "operator": "and" | "or",
          "comment": "string"
        }
      ],
      "operator": "and" | "or"
    },
    "non_comply_message": "string"
  },
  ...
]
```

* `id` - идентификатор HIP-профиля;
* `name` - название профиля, максимальная длина - 42 символа;
* `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
* `enabled` - состояние HIP-профиля:
  * `true` - включен;
  * `false` - выключен.
* `hip` - настройки групп HIP-объектов:
  * `groups` - список групп HIP-объектов:
    * `objects` - список идентификаторов объектов, не может быть пустым;
    * `operator` - логическая операция между объектами в группе:
      * `and` - только при совпадении всех объектов;
      * `or` - при совпадении хотя бы одного объекта.
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым.
  * `operator` - логическая операция между группами HIP-объектов в профиле:
    * `and` - только при совпадении всех групп;
    * `or` - при совпадении хотя бы одной группы.
* `non_comply_message` - сообщение о несоответствии устройства требуемому HIP-профилю, максимальная длина - 120 символов. Может быть пустым.

{% endcut %}

{% cut "Создание HIP-профиля" %}

```
POST /api/hip-profiles/profiles
```

**Тело запроса:**

```json5
[
  {
    "name": "string",
    "comment": "string",
    "enabled": true | false,
    "hip": {
      "groups": [
        {
          "objects": ["string"],
          "operator": "and" | "or",
          "comment": "string"
        }
      ],
      "operator": "and" | "or"
    },
    "non_comply_message": "string"
  },
  ...
]
```

* `name` - название профиля, максимальная длина - 42 символа;
* `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
* `enabled` - состояние HIP-профиля:
  * `true` - включен;
  * `false` - выключен.
* `hip` - настройки групп HIP-объектов:
  * `groups` - список групп HIP-объектов:
    * `objects` - список идентификаторов объектов, не может быть пустым;
    * `operator` - логическая операция между объектами в группе:
      * `and` - только при совпадении всех объектов;
      * `or` - при совпадении хотя бы одного объекта.
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым.
  * `operator` - логическая операция между группами HIP-объектов в профиле:
    * `and` - только при совпадении всех групп;
    * `or` - при совпадении хотя бы одной группы.
* `non_comply_message` - сообщение о несоответствии устройства требуемому HIP-профилю, максимальная длина - 120 символов. Может быть пустым.

**Ответ на успешный запрос:**

```json5
{
    "id" : "string"
}
```

* `id` - идентификатор созданного HIP-профиля.

{% endcut %}

{% cut "Редактирование HIP-профиля" %}

```
PATCH /api/hip-profiles/profiles/<id HIP-профиля>
```

**Тело запроса (все или некоторые поля):**

```json5
[
  {
    "name": "string",
    "comment": "string",
    "enabled": true | false,
    "hip": {
      "groups": [
        {
          "objects": ["string"],
          "operator": "and" | "or",
          "comment": "string"
        }
      ],
      "operator": "and" | "or"
    },
    "non_comply_message": "string"
  },
  ...
]
```

* `name` - название профиля, максимальная длина - 42 символа;
* `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
* `enabled` - состояние HIP-профиля:
  * `true` - включено;
  * `false` - выключено.
* `hip` - настройки групп HIP-объектов:
  * `groups` - список групп HIP-объектов:
    * `objects` - список идентификаторов объектов, не может быть пустым;
    * `operator` - логическая операция между объектами в группе:
      * `and` - только при совпадении всех объектов;
      * `or` - при совпадении хотя бы одного объекта.
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым.
  * `operator` - логическая операция между группами HIP-объектов в профиле:
    * `and` - только при совпадении всех групп;
    * `or` - при совпадении хотя бы одной группы.
* `non_comply_message` - сообщение о несоответствии устройства требуемому HIP-профилю, максимальная длина - 120 символов. Может быть пустым.

**Ответ на успешный запрос:** 200 OK

{% endcut %}

{% cut "Удаление HIP-профиля" %}

```
DELETE /api/hip-profiles/profiles/<id HIP-профиля>
```

**Ответ на успешный запрос:** 200 OK

{% endcut %}


## Управление HIP-объектами

{% cut "Получение списка HIP-объектов" %}

```
GET /api/hip-profiles/objects
```

**Ответ на успешный запрос:**

```json5
[
  {
    "id": "string",
    "name": "string",
    "comment": "string",
    "operation_system": {
      "enable_check": true | false,
      "os_settings": {
        "type": "string",
        "version": ["string"],
        "operator": "contains" | "not_contains" | "no_check",
      },
      "domain": {
        "domain": "string",
        "operator": "contains" | "not_contains" | "no_check",
      },
    },
    "updates": {
      "enable_check": true | false,
      "kb_list": [
        {
          "kb_names": ["string"],
          "comment": "string",
          "enabled": true | false,
        }
      ]
    },
    "antivirus": {
      "enable_check": true | false,
      "active": true | false,
      "av_settings": {
        "vendor": "string",
        "product": "string",
        "operator": "contains" | "no_check",
      },
      "version": {
        "version": "string",
        "operator": "contains" | "no_check",
      },
      "last_update": {
        "last_update_age": "integer" | null,
        "operator": "less" | "no_check",
      },
      "last_scan": {
        "last_scan_age": "integer" | null,
        "operator": "less" | "no_check",
      },
    },
    "firewall": {
      "enable_check": true | false,
      "active": true | false,
      "fw_settings": {
        "vendor": "string",
        "product": "string",
        "operator": "contains" | "no_check",
      },
      "version": {
        "version": "string",
        "operator": "contains" | "no_check",
      },
    },
    "processes": {
      "enable_check": true | false,
      "proc_list": [
        {
          "proc_name": "string",
          "active": true | false,
          "comment": "string",
          "enabled": true | false,
        }
      ]
    },
    "services": {
      "enable_check": true | false,
      "service_list": [
        {
          "service_name": "string",
          "active": true | false,
          "comment": "string",
          "enabled": true | false,
        }
      ]
    },
    "registry": {
      "enable_check": true | false,
      "key_list": [
        {
          "path": "string",
          "name": "string",
          "comment": "string",
          "value": "string",
          "inversion": true | false,
          "enabled": true | false,
        }
      ]
    }
  },
  ...
]
```

* `id` - идентификатор HIP-объекта;
* `name` - название HIP-объекта, максимальная длина - 42 символа;
* `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
* `operation_system` - параметры операционной системы:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `os_settings` - проверка операционной системы:
    * `type` - тип операционной системы: `Windows`, `Linux`, `macOS`;
    * `version` - редакция и версия операционной системы: 
      * список строк вариантов, максимальная длина - 128 символов;
      * `any_version` - соответствует любой версии операционной системы.
    * `operator` - оператор проверки соответствия операционной системы: 
      * `contains`- содержит;
      * `not_contains`- не содержит;
      * `no_check` - не проверять. 

Если в параметрах `operation_system` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поля `type` и `version` могут быть пустыми.
  
  * `domain` - проверка домена:
    * `domain` - домен, в котором состоит устройство, максимальная длина - 63 символа;
    * `operator` - оператор проверки домена:
      * `contains`- содержит;
      * `not_contains`- не содержит;
      * `no_check` - не проверять. 

Если в настройках `domain` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `domain` может быть пустым.

* `updates` - настройка проверки пакетов обновлений (KB) для Windows:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `kb_list` - список пакетов, может быть пустым:
    * `kb_names` - список строк с наименованием пакетов, максимальная длина - 42 символа;
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.
* `antivirus` - проверка Антивируса:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `active` - состояние Антивируса:
    * `true` - включен;
    * `false` - выключен.
  * `av_settings` - настройки проверки:
    * `vendor` - вендор, максимальная длина - 128 символов;
    * `product` - продукт, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия полного наименования:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `av_settings` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поля `vendor` и `product` могут быть пустыми.

  * `version` - проверка версии антивируса:
    * `version` - версия продукта, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия версии:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `version` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `version` может быть пустым.

  * `last_update` - проверка последнего обновления:
    * `last_update_age` - количество дней с последнего обновления баз (целое число от 1 до 1000);
    * `operator` - оператор проверки соответствия количества дней с последнего обновления баз: 
      * `less`- в течение последних дней;
      * `no_check` - не проверять.

Если в настройках `last_update` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `last_update_age` может содержать `null`.

  * `last_scan` - проверка последнего сканирования:
    * `last_scan_age` - количество дней с последнего сканирования (целое число от 1 до 1000);
    * `operator` - оператор проверки соответствия количества дней с последнего сканирования:
      * `less`- в течение последних дней;
      * `no_check` - не проверять.

Если в настройках `last_scan` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `last_update_age` может содержать `null`.

* `firewall` - настройки межсетевого экрана:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `active` - состояние межсетевого экрана:
    * `true` - включен;
    * `false` - выключен.
  * `fw_settings` - проверка межсетевого экрана:
    * `vendor` - вендор, максимальная длина - 128 символов;
    * `product` - продукт, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия полного наименования:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `firewall` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поля `vendor` и `product` могут быть пустыми.

  * `version` - проверка версии;
    * `version` - версия продукта, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия версии:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `version` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `version` может быть пустым.

* `processes` - настройка проверки процессов:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `proc_list` - список процессов, может быть пустым:
    * `proc_name` - имя процесса, максимальная длина - 256 символов. Имена процессов соответствуют именам программ без учета пути и ключей запуска;
    * `active` - состояние процесса:
      * `true` - процесс активен;
      * `false` - процесс неактивен.
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.
* `services` - проверка служб:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `service_list` - список служб Windows, может быть пустым:
    * `service_name` - имя службы, максимальная длина - 256 символов. Имена служб соответствуют системным именам служб в Windows, под которыми зарегистрированы в системе;
    * `active` - состояние службы:
      * `true` - служба активна;
      * `false` - служба неактивна.
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.
* `registry` - проверка ключей реестра:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `key_list` - список проверок, может быть пустым:
    * `path` - путь, максимальная длина - 255 символов;
    * `name` - имя параметра, максимальная длина - 1024 символа;
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `value` - значение параметра, максимальная длина - 1024 символа. Если значение пустое, то будет проверяться только наличие ключа реестра;
    * `inversion` - инверсия значения:
      * `true` - включена;
      * `false` - выключена.
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.

{% endcut %}

{% cut "Получение списка уникальных наименований ПО для настроек HIP-объектов" %}

```
GET /api/hip-profiles/objects/unique_values
```

**Ответ на успешный запрос:**

```json5
[
  {
    "operation_system": {
      "Windows": ["string"],
      "Linux": ["string"],
      "MacOS": ["string"]
    },
    "antivirus":{
      "string": ["string"],
    },
    "firewall":{
      "string": ["string"],
    },
  },
  ...
]
```

* `operation_system` - наименования версий для операционных систем:
  * `Windows` - список наименований версий операционных систем семейства Microsoft Windows;
  * `Linux` - список наименований версий операционных систем семейства Linux;
  * `MacOS` - список наименований версий macOS. 
  В списки наименований версий входит также строка `any_version`, соответствующая любой версии операционной системы. Отображение этой строки в интерфейсе должно быть выполнено с учетом локализации.
* `antivirus` - словарь наименований антивирусных программных продуктов:
  * `ключ` - наименование вендора;
  * `значение` - список уникальных наименований программных продуктов вендора.
* `firewall` - словарь наименований межсетевых экранов:
  * `ключ` - наименование вендора;
  * `значение` - список уникальных наименований программных продуктов этого вендора.

{% endcut %}

{% cut "Создание HIP-объекта" %}

```
POST /api/hip-profiles/objects
```

**Тело запроса:**

```json5
[
  {
    "name": "string",
    "comment": "string",
    "operation_system": {
      "enable_check": true | false,
      "os_settings": {
        "type": "string",
        "version": ["string"],
        "operator": "contains" | "not_contains" | "no_check",
      },
      "domain": {
        "domain": "string",
        "operator": "contains" | "not_contains" | "no_check",
      },
    },
    "updates": {
      "enable_check": true | false,
      "kb_list": [
        {
          "kb_names": ["string"],
          "comment": "string",
          "enabled": true | false,
        }
      ]
    },
    "antivirus": {
      "enable_check": true | false,
      "active": true | false,
      "av_settings": {
        "vendor": "string",
        "product": "string",
        "operator": "contains" | "no_check",
      },
      "version": {
        "version": "string",
        "operator": "contains" | "no_check",
      },
      "last_update": {
        "last_update_age": "integer" | null,
        "operator": "less" | "no_check",
      },
      "last_scan": {
        "last_scan_age": "integer" | null,
        "operator": "less" | "no_check",
      },
    },
    "firewall": {
      "enable_check": true | false,
      "active": true | false,
      "fw_settings": {
        "vendor": "string",
        "product": "string",
        "operator": "contains" | "no_check",
      },
      "version": {
        "version": "string",
        "operator": "contains" | "no_check",
      },
    },
    "processes": {
      "enable_check": true | false,
      "proc_list": [
        {
          "proc_name": "string",
          "active": true | false,
          "comment": "string",
          "enabled": true | false,
        }
      ]
    },
    "services": {
      "enable_check": true | false,
      "service_list": [
        {
          "service_name": "string",
          "active": true | false,
          "comment": "string",
          "enabled": true | false,
        }
      ]
    },
    "registry": {
      "enable_check": true | false,
      "key_list": [
        {
          "path": "string",
          "name": "string",
          "comment": "string",
          "value": "string",
          "inversion": true | false,
          "enabled": true | false,
        }
      ]
    }
  },
  ...
]
```

* `name` - название HIP-объекта, максимальная длина - 42 символа;
* `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
* `operation_system` - параметры операционной системы:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `os_settings` - проверка операционной системы:
    * `type` - тип операционной системы: `Windows`, `Linux`, `macOS`;
    * `version` - редакция и версия операционной системы: 
      * список строк вариантов, максимальная длина - 128 символов;
      * `any_version` - соответствует любой версии операционной системы.
    * `operator` - оператор проверки соответствия операционной системы: 
      * `contains`- содержит;
      * `not_contains`- не содержит;
      * `no_check` - не проверять. 

Если в настройках `operation_system` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поля `type` и `version` могут быть пустыми.

  * `domain` - проверка домена:
    * `domain` - домен, в котором состоит устройство, максимальная длина - 63 символа;
    * `operator` - оператор проверки домена:
      * `contains`- содержит;
      * `not_contains`- не содержит;
      * `no_check` - не проверять. 

Если в настройках `domain` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `domain` может быть пустым.

* `updates` - настройка проверки пакетов обновлений (KB) для Windows:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `kb_list` - список пакетов, может быть пустым:
    * `kb_names` - список строк с наименованием пакетов, максимальная длина - 42 символа;
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.
* `antivirus` - проверка Антивируса:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `active` - состояние Антивируса:
    * `true` - включено;
    * `false` - выключено.
  * `av_settings` - настройки проверки:
    * `vendor` - вендор, максимальная длина - 128 символов;
    * `product` - продукт, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия полного наименования:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `av_settings` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поля `vendor` и `product` могут быть пустыми.

  * `version` - проверка версии Антивируса:
    * `version` - версия продукта, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия версии:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `version` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `version` может быть пустым.

  * `last_update` - проверка последнего обновления:
    * `last_update_age` - количество дней с последнего обновления баз (целое число от 1 до 1000);
    * `operator` - оператор проверки соответствия количества дней с последнего обновления баз: 
      * `less`- в течение последних дней;
      * `no_check` - не проверять.

Если в настройках `last_update` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `last_update_age` может содержать `null`.

  * `last_scan` - проверка последнего сканирования:
    * `last_scan_age` - количество дней с последнего сканирования (целое число от 1 до 1000);
    * `operator` - оператор проверки соответствия количества дней с последнего сканирования:
      * `less`- в течение последних дней;
      * `no_check` - не проверять.

Если в настройках `last_scan` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `last_update_age` может содержать `null`.

* `firewall` - настройки межсетевого экрана:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `active` - состояние межсетевого экрана:
    * `true` - включен;
    * `false` - выключен.
  * `fw_settings` - проверка межсетевого экрана:
    * `vendor` - вендор, максимальная длина - 128 символов;
    * `product` - продукт, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия полного наименования:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `fw_settings` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поля `vendor` и `product` могут быть пустыми.

  * `version` - проверка версии;
    * `version` - версия продукта, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия версии:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `version` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `version` может быть пустым.

* `processes` - настройка проверки процессов:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `proc_list` - список процессов, может быть пустым:
    * `proc_name` - имя процесса, максимальная длина - 256 символов. Имена процессов соответствуют именам программ без учета пути и ключей запуска;
    * `active` - состояние процесса:
      * `true` - процесс активен;
      * `false` - процесс неактивен.
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.
* `services` - проверка служб:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `service_list` - список служб Windows, может быть пустым:
    * `service_name` - имя службы, максимальная длина - 256 символов. Имена служб соответствуют системным именам служб в Windows, под которыми зарегистрированы в системе;
    * `active` - состояние службы:
      * `true` - служба активна;
      * `false` - служба неактивна.
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.
* `registry` - проверка ключей реестра:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `key_list` - список проверок ключей реестра, может быть пустым:
    * `path` - путь, максимальная длина - 255 символов;
    * `name` - имя параметра, максимальная длина - 1024 символа;
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `value` - значение параметра, максимальная длина - 1024 символа. Если значение пустое, то будет проверяться только наличие ключа реестра;
    * `inversion` - инверсия значения:
      * `true` - включена;
      * `false` - выключена.
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.

**Ответ на успешный запрос:**

```json5
{
    "id": "string"
}
```

* `id` - идентификатор HIP-объекта.

{% endcut %}

{% cut "Редактирование HIP-объекта" %}

```
PATCH /api/hip-profiles/objects/<id HIP-объекта>
```

**Тело запроса (все или некоторые поля):**

```json5
[
  {
    "name": "string",
    "comment": "string",
    "operation_system": {
      "enable_check": true | false,
      "os_settings": {
        "type": "string",
        "version": ["string"],
        "operator": "contains" | "not_contains" | "no_check",
      },
      "domain": {
        "domain": "string",
        "operator": "contains" | "not_contains" | "no_check",
      },
    },
    "updates": {
      "enable_check": true | false,
      "kb_list": [
        {
          "kb_names": ["string"],
          "comment": "string",
          "enabled": true | false,
        }
      ]
    },
    "antivirus": {
      "enable_check": true | false,
      "active": true | false,
      "av_settings": {
        "vendor": "string",
        "product": "string",
        "operator": "contains" | "no_check",
      },
      "version": {
        "version": "string",
        "operator": "contains" | "no_check",
      },
      "last_update": {
        "last_update_age": "integer" | null,
        "operator": "less" | "no_check",
      },
      "last_scan": {
        "last_scan_age": "integer" | null,
        "operator": "less" | "no_check",
      },
    },
    "firewall": {
      "enable_check": true | false,
      "active": true | false,
      "fw_settings": {
        "vendor": "string",
        "product": "string",
        "operator": "contains" | "no_check",
      },
      "version": {
        "version": "string",
        "operator": "contains" | "no_check",
      },
    },
    "processes": {
      "enable_check": true | false,
      "proc_list": [
        {
          "proc_name": "string",
          "active": true | false,
          "comment": "string",
          "enabled": true | false,
        }
      ]
    },
    "services": {
      "enable_check": true | false,
      "service_list": [
        {
          "service_name": "string",
          "active": true | false,
          "comment": "string",
          "enabled": true | false,
        }
      ]
    },
    "registry": {
      "enable_check": true | false,
      "key_list": [
        {
          "path": "string",
          "name": "string",
          "comment": "string",
          "value": "string",
          "inversion": true | false,
          "enabled": true | false,
        }
      ]
    }
  },
  ...
]
```

* `name` - название HIP-объекта, максимальная длина - 42 символа;
* `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
* `operation_system` - параметры операционной системы:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `os_settings` - проверка операционной системы:
    * `type` - тип операционной системы: `Windows`, `Linux`, `macOS`;
    * `version` - редакция и версия операционной системы: 
      * список строк вариантов, максимальная длина - 128 символов;
      * `any_version` - соответствует любой версии операционной системы.
    * `operator` - оператор проверки соответствия операционной системы: 
      * `contains`- содержит;
      * `not_contains`- не содержит;
      * `no_check` - не проверять. 

Если в настройках `operation_system` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поля `type` и `version` могут быть пустыми.

  * `domain` - проверка домена:
    * `domain` - домен, в котором состоит устройство, максимальная длина - 63 символа;
    * `operator` - оператор проверки домена:
      * `contains`- содержит;
      * `not_contains`- не содержит;
      * `no_check` - не проверять. 

Если в настройках `domain` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `domain` может быть пустым.

* `updates` - проверка пакетов обновлений (KB) для Windows:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `kb_list` - список пакетов, может быть пустым:
    * `kb_names` - список строк с наименованием пакетов, максимальная длина - 42 символа;
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.
* `antivirus` - проверка Антивируса:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `active` - состояние Антивируса:
    * `true` - включено;
    * `false` - выключено.
  * `av_settings` - настройки проверки:
    * `vendor` - вендор, максимальная длина - 128 символов;
    * `product` - продукт, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия полного наименования:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `av_settings` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поля `vendor` и `product` могут быть пустыми.

  * `version` - проверка версии антивируса:
    * `version` - версия продукта, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия версии:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `version` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `version` может быть пустым.

  * `last_update` - проверка последнего обновления:
    * `last_update_age` - количество дней с последнего обновления баз (целое число от 1 до 1000);
    * `operator` - оператор проверки соответствия количества дней с последнего обновления баз: 
      * `less`- в течение последних дней;
      * `no_check` - не проверять.

Если в настройках `last_update` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `last_update_age` может содержать `null`.

  * `last_scan` - проверка последнего сканирования:
    * `last_scan_age` - количество дней с последнего сканирования (целое число от 1 до 1000);
    * `operator` - оператор проверки соответствия количества дней с последнего сканирования:
      * `less`- в течение последних дней;
      * `no_check` - не проверять.

Если в настройках `last_scan` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `last_update_age` может содержать `null`.

* `firewall` - настройки межсетевого экрана:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `active` - состояние межсетевого экрана:
    * `true` - включено;
    * `false` - выключено.
  * `fw_settings` - проверка межсетевого экрана:
    * `vendor` - вендор, максимальная длина - 128 символов;
    * `product` - продукт, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия полного наименования:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `firewall` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поля `vendor` и `product` могут быть пустыми.

  * `version` - проверка версии;
    * `version` - версия продукта, максимальная длина - 128 символов;
    * `operator` - оператор проверки соответствия версии:
      * `contains`- содержит;
      * `no_check` - не проверять. 

Если в настройках `version` поле `operator` имеет значение `no_check` или поле `enable_check` имеет значение `false`, поле `version` может быть пустым.

* `processes` - настройка проверки процессов:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `proc_list` - список процессов, может быть пустым:
    * `proc_name` - имя процесса, максимальная длина - 256 символов. Имена процессов соответствуют именам программ без учета пути и ключей запуска;
    * `active` - состояние процесса:
      * `true` - процесс активен;
      * `false` - процесс неактивен.
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.
* `services` - проверка служб:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `service_list` - список служб Windows, может быть пустым:
    * `service_name` - имя службы, максимальная длина - 256 символов. Имена служб соответствуют системным именам служб в Windows, под которыми зарегистрированы в системе;
    * `active` - состояние службы:
      * `true` - служба активна;
      * `false` - служба неактивна.
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.
* `registry` - проверка ключей реестра:
  * `enable_check` - состояние проверки:
    * `true` - включена;
    * `false` - выключена.
  * `key_list` - список проверок ключей реестра, может быть пустым:
    * `path` - путь, максимальная длина - 255 символов;
    * `name` - имя параметра, максимальная длина - 1024 символа;
    * `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
    * `value` - значение параметра, максимальная длина - 1024 символа. Если значение пустое, то будет проверяться только наличие ключа реестра;
    * `inversion` - инверсия значения:
      * `true` - включена;
      * `false` - выключена.
    * `enabled` - состояние правила проверки:
      * `true` - включено;
      * `false` - выключено.

**Ответ на успешный запрос:** 200 OK

{% endcut %}

{% cut "Удаление HIP-объекта" %}

```
DELETE /api/hip-profiles/objects/<id HIP-объекта>
```

**Ответ на успешный запрос:** 200 OK

{% endcut %}

<!-- stash: https://stash.ideco.dev/projects/UTM/repos/rest-api-backend/browse/docs/hip-objects-rest.md -->