Создание инцидента
Запрос
| Тип | Метод |
|---|---|
POST |
/service_asset_findings/create |
Описание: Создаёт инцидент с заданными параметрами.
При выполнении запроса:
- связанные сущности, переданные в теле запроса, игнорируются;
- связанные сущности в ответе имеют значение
null; - если
lifecycle_status_idне указан, для инцидента устанавливается статус жизненного цикла по умолчанию; - если
lifecycle_status_idуказан, он сохраняется, а полеstatusсинхронизируется с выбранным статусом жизненного цикла.
Пример запроса
POST
http://127.0.0.1/cruddy/v2/service_asset_findings/create
Тело запроса:
| Параметр | Тип данных | Обязательность | Описание |
|---|---|---|---|
| description | string |
Required | Подробное описание инцидента |
| risk_impact | string |
Required | Описание последствий, которые могут возникнуть, если угроза была реализована |
| solution | string |
Required | Рекомендации по устранению инцидента |
| mitigation | string |
Required | Описание профилактики данного типа инцидента |
| status | string |
Required | Состояние инцидента. При передаче lifecycle_status_id значение поля синхронизируется со статусом жизненного цикла |
| risklevel | number |
Required | Уровень риска. Допустимые значения от 0 до 10 |
| service_asset_id | string uuid |
Required | Идентификатор актива, на котором обнаружен инцидент |
| finding_id | string uuid |
Required | Идентификатор типа инцидента |
| analysis_output | string |
Required | Результат анализа. Например: на активе {{ .event.IP }} произошло… |
| synopsis | string |
Required | Краткое описание сути инцидентов данного типа |
| title | string |
Required | Название инцидента |
| risk | string |
Required | Описание уровня риска инцидента. Допустимые значения: - none; - low; - medium; - high. |
| acknowledged_at | string format: date-time |
Required | Дата выявления / обнаружения инцидента |
| alert_type | string |
Required | Политика поведения Платформы при срабатывании правила корреляции |
| client_note | string |
Required | Заметки клиента |
| internal_note | string |
Required | Внутреннее примечание |
| external | boolean |
Required | Признак возможности удалённой эксплуатации уязвимости, на основе которой создан инцидент |
| immediate_action_score | number |
Required | Срочность инцидента |
| throughput_period | string |
Required | Статус инцидента в логике оповещений операторов о задержке в обработке. Допустимые значения: - grace; - delay; - unacceptable. |
| throughput_period_change | string format: date-time |
Required | Время изменения поля throughput_period |
| customer_created | boolean |
Required | Признак того, что инцидент создан пользователем, а не автоматически |
| c_visible_since | string format: date-time |
Required | Дата и время, с которых инцидент виден пользователям |
| c_visible_since_in_days | integer |
Required | Количество дней, в течение которых инцидент виден пользователям |
| c_reopened_count | integer |
Required | Количество повторных открытий инцидента |
| c_last_customer_status_change | string format: date-time |
Required | Дата и время последнего изменения статуса инцидента пользователем |
| c_customer_retention_time | integer |
Required | Количество времени удержания клиента |
| logmule_identifier | string |
Required | Идентификатор, который можно задать в правиле и использовать для фильтрации |
| c_remote_exploitable | boolean |
Required | Возможность удалённого использования |
| c_occurrence_count | integer |
Required | Количество происшествий в инциденте |
| last_occurrence_id | string uuid |
Required | Идентификатор последнего происшествия |
| itsm_last_synced_at | string format: date-time |
Required | Время последней синхронизации с внешней системой |
| itsm_sync_status | string |
Required | Статус синхронизации с внешней системой. Допустимые значения: - scheduled; - aborted; - synced; - not_synced; - waiting_confirmation. |
| external_id | string |
Required | Идентификатор инцидента во внешней клиентской системе |
| itsm_sync_error | string |
Required | Ошибка синхронизации с внешней клиентской системой |
| user_id | string |
Required | Идентификатор пользователя, назначенного на инцидент |
| updated_by | string |
Required | Идентификатор пользователя, который последним обновил инцидент |
| group_id | string |
Required | Идентификатор группы пользователей, назначенной на инцидент |
| acknowledged_by | string |
Required | Идентификатор пользователя, который подтвердил инцидент |
| created_by_customer | string |
Required | Идентификатор пользователя, который вручную создал инцидент |
| edited_by | string |
Required | Идентификатор пользователя, который последним отредактировал созданный вручную инцидент |
| incident_group_id | string uuid |
Required | Идентификатор группы инцидентов |
| reopened_at | string format: date-time |
Required | Время повторного открытия инцидента |
| display_id | integer |
Required | Идентификатор инцидента, формируемый в соответствии с последовательностью присвоения идентификаторов |
| lifecycle_status_id | string uuid |
Optional | Идентификатор статуса жизненного цикла. Если поле не передано, устанавливается статус жизненного цикла по умолчанию. При передаче поля значение status синхронизируется с выбранным статусом |
Пример тела запроса
{
"description": "string",
"risk_impact": "string",
"solution": "string",
"mitigation": "string",
"status": "assigned_customer",
"risklevel": 0,
"service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
"finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe",
"analysis_output": "string",
"synopsis": "string",
"title": "string",
"risk": "none",
"acknowledged_at": "2023-12-20T00:00:01.652259Z",
"alert_type": "automatic",
"client_note": "string",
"internal_note": "string",
"external": false,
"immediate_action_score": 0,
"throughput_period": "grace",
"throughput_period_change": "2023-12-20T00:00:01.652259Z",
"customer_created": false,
"c_visible_since": "2023-12-20T00:00:01.652259Z",
"c_visible_since_in_days": 0,
"c_reopened_count": 0,
"c_last_customer_status_change": "2023-12-20T00:00:01.652259Z",
"c_customer_retention_time": 0,
"logmule_identifier": "string",
"c_remote_exploitable": true,
"c_occurrence_count": 0,
"last_occurrence_id": "92c2542a-a9bb-4370-b835-20b1c9ac1fe9",
"itsm_last_synced_at": "2023-12-20T00:00:01.652259Z",
"itsm_sync_status": "scheduled",
"external_id": "string",
"itsm_sync_error": "string",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe",
"group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
"acknowledged_by": "57e93f65-9db5-4b3c-8761-f3edd8ac8276",
"created_by_customer": "d299b51b-03f1-4b72-b793-1fb027d05389",
"edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
"incident_group_id": "5ce55b8d-2342-4286-bf58-bfe807f8c05c",
"reopened_at": "2023-12-20T00:00:01.652259Z",
"display_id": 0,
"lifecycle_status_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
Примечание: Поле
statusне требуется задавать независимо отlifecycle_status_id. При передачеlifecycle_status_idПлатформа синхронизируетstatusс выбранным статусом жизненного цикла. Еслиlifecycle_status_idне передан, используется статус жизненного цикла по умолчанию.
Успешный ответ
Статус код: 201 — инцидент успешно создан.
Формат: JSON.
Тело ответа: модель созданного инцидента.
Связанные сущности в ответе имеют значение null.
Пример ответа
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"description": "string",
"risk_impact": "string",
"solution": "string",
"mitigation": "string",
"status": "assigned_customer",
"risklevel": 0,
"service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe",
"analysis_output": "string",
"synopsis": "string",
"title": "string",
"risk": "none",
"acknowledged_at": "2023-12-20T00:00:01.652259Z",
"alert_type": "automatic",
"client_note": "string",
"internal_note": "string",
"external": false,
"immediate_action_score": 0,
"throughput_period": "grace",
"throughput_period_change": "2023-12-20T00:00:01.652259Z",
"customer_created": false,
"c_visible_since": "2023-12-20T00:00:01.652259Z",
"c_visible_since_in_days": 0,
"c_reopened_count": 0,
"c_last_customer_status_change": "2023-12-20T00:00:01.652259Z",
"c_customer_retention_time": 0,
"logmule_identifier": "string",
"c_remote_exploitable": true,
"c_occurrence_count": 0,
"last_occurrence_id": "92c2542a-a9bb-4370-b835-20b1c9ac1fe9",
"itsm_last_synced_at": "2023-12-20T00:00:01.652259Z",
"itsm_sync_status": "scheduled",
"external_id": "string",
"itsm_sync_error": "string",
"user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
"updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe",
"group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
"acknowledged_by": "57e93f65-9db5-4b3c-8761-f3edd8ac8276",
"created_by_customer": "d299b51b-03f1-4b72-b793-1fb027d05389",
"edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
"incident_group_id": "5ce55b8d-2342-4286-bf58-bfe807f8c05c",
"reopened_at": "2023-12-20T00:00:01.652259Z",
"display_id": 0,
"lifecycle_status_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"service_asset": null,
"finding": null,
"last_occurrence_entity": null,
"user": null,
"group": null,
"incident_group": null,
"occurrences": null,
"custom_field_values": null,
"comments": null,
"documents": null,
"messages": null,
"service_asset_finding_status_changes": null,
"service_asset_groups": null
}
Другие возможные ответы
| Код | Ответ | Описание |
|---|---|---|
400 |
Bad Request |
Неверный тип параметра запроса, отсутствует обязательный параметр или некорректно указан Pgr-User-ID |
401 |
Unauthorized |
Не удалось аутентифицировать пользователя |
409 |
Conflict |
Ошибка, связанная с получением информации о пользователе |
500 |
Internal Server Error |
Ошибка сервера, ошибка статуса жизненного цикла или несовместимый ключ статуса жизненного цикла |
Возможные ошибки:
400—"missing uid header"— отсутствует заголовокPgr-User-ID;400—"Pgr-User-Id should be uuid format"— неверный форматPgr-User-ID;400—"Bad Request"— неверный тип параметра запроса либо отсутствует обязательный параметр;401—"can't get user info:"— невозможно аутентифицировать пользователя;409—"can't get user info:"— невозможно получить информацию о пользователе;500—"Internal Server Error"— другие ошибки при создании объекта;500—"lifecycle_status_id ... not found for entity_type service_asset_finding"— статус не найден или не принадлежит инцидентам;500—"unknown lifecycle status key ... for service_asset_finding"— несовместимый ключ статуса жизненного цикла.
Примечание: Текст ошибки не фиксированный и может изменяться в зависимости от фактического ответа на запрос.
Пример ответа с кодом 400
{
"error": "Bad Request",
"error_code": 400
}
Пример ответа с кодом 401
{
"error": "can't get user info:",
"error_code": 401
}
Пример ответа с кодом 409
{
"error": "can't get user info:",
"error_code": 409
}
Пример ответа с кодом 500
{
"error": "Internal Server Error",
"error_code": 500
}