Create alert from event API

Applies to: Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)

Create alert using event data, as obtained from Advanced Hunting for creating a new alert.


One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Use Microsoft Defender ATP APIs

Permission type Permission Permission display name
Application Alerts.ReadWrite.All 'Read and write all alerts'
Delegated (work or school account) Alert.ReadWrite 'Read and write alerts'


When obtaining a token using user credentials:

  • The user needs to have at least the following role permission: 'Alerts investigation' (See Create and manage roles for more information)
  • The user needs to have access to the machine associated with the alert, based on machine group settings (See Create and manage machine groups for more information)

HTTP request


Request headers

Name Type Description
Authorization String Bearer {token}. Required.
Content-Type String application/json. Required.

Request body

In the request body, supply the following values (all are required):

Property Type Description
machineId String Id of the machine on which the event was identified. Required.
severity String Severity of the alert. The property values are: 'Low', 'Medium' and 'High'. Required.
title String Title for the alert. Required.
description String Description of the alert. Required.
recommendedAction String Action that is recommended to be taken by security officer when analyzing the alert. Required.
eventTime DateTime(UTC) The time of the event, as obtained from the advanced query. Required.
reportId String The reportId, as obtained from the advanced query. Required.
category String Category of the alert. The property values are: "General", "CommandAndControl", "Collection", "CredentialAccess", "DefenseEvasion", "Discovery", "Exfiltration", "Exploit", "Execution", "InitialAccess", "LateralMovement", "Malware", "Persistence", "PrivilegeEscalation", "Ransomware", "SuspiciousActivity" Required.


If successful, this method returns 200 OK, and a new alert object in the response body. If event with the specified properties (reportId, eventTime and machineId) was not found - 404 Not Found.



Here is an example of the request.

Improve request performance


For better performance, you can use server closer to your geo location:

Content-Length: application/json

  "machineId": "1e5bc9d7e413ddd7902c2932e418702b84d0cc07",
  "severity": "Low",
  "title": "test alert",
  "description": "test alert",
  "recommendedAction": "test alert",
  "eventTime": "2018-08-03T16:45:21.7115183Z",
  "reportId": "20776",
  "category": "None"