Перейти к содержанию

Создание инцидента

Запрос

Тип Метод
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
}