: Get Security Alerts
Focus
Focus

Get Security Alerts

Table of Contents

Get Security Alerts

Use the IoT Security API to get a list of security alerts.

Synopsis

URI/pub/v4.0/alert/list
HTTP MethodGET
FQDN<customer-name>.iot.paloaltonetworks.com

Description

Get a list of security alerts.

Request Fields

The URL of this request contains the following parameters:
FieldDescription
customerid
(Required) The customer ID specifies the API call for a specific tenant.
The following value is a string.
type
Optional field specifying the alert type as policy_alert. The following value is a string.
resolved
Optional field to get only active alerts (resolved=no) or resolved alerts (resolved=yes). The default is to get both types of alerts. The following value is a string.
pagelength
Optional but recommended field specifying the number of items for each page. The default page length for alerts is 1000 and the maximum is 1000. Setting a shorter length improves response times. The following value is an integer.
offset
In addition to the pagelength parameter, use offset to get items on subsequent pages. For example, if your first request is pagelength = 100, you will get the first 100 device alerts. To get the next 100, add offset = 100 to your second request. This skips the first 100 alerts and gets the next 100 starting from 101.
stime
Optional string that sets the start of a time range for alerts to retrieve. For example, stime=2021-10-6T07:00Z. (It’s unnecessary to set etime=now or etime=<time> because it is always treated as now.)
sortdirection
Optional field defining whether the alerts are organized in ascending order asc (oldest to newest) or descending order desc (newest to oldest). The default is desc. The following value is a string.
sortfield
Optional field that defines how alerts are ordered. date and severityNumber are supported as the following value and the value types are string and integer respectively. The default way to sort alerts is by date in descending order.
You can also use queries from the IoT Security portal to customize which security alerts are retrieved.
Request Example
curl --location -X GET 'https://acmecorp.iot.paloaltonetworks.com/pub/v4.0/alert/list?customerid=acmecorp&type=policy_alert&resolved=no&pagelength=1&sortdirection=desc&sortfield=date' \ -H 'X-Key-Id: KEY_ID' \ -H 'X-Access-Key: ACCESS_KEY'

Success Response

Upon success, the HTTP response code is 200. In addition, this API returns a JSON object containing an array of JSON objects, representing devices and their attributes.
FieldDescription
resolvedWhether the alert has been resolved yesor not no (string)
dateThe alert detection date
deviceidThe MAC address or IP address of a device (string)
nameThe alert name (string)
severityThe severity level of an alert: high, medium, low, info (string)
severityNumberThe severity number matching the severity level: high = 4, medium = 3, low = 2, info = 1 (integer)
typeThe type of alert (string)
descriptionThe alert description (string)
tenantidThe internal customer ID (string)
zb_ticketidThe unique ticket ID (integer)
idThe alert ID. This is the ID to use when resolving an alert through the API (integer)
profileThe device profile to which the alert belongs (string)
profile_verticalThe industry vertical for the profile such as Medical, IT Devices, and Office.
categoryThe device category to which the alert belongs (string)
hostnameThe hostname of the device to which the alert belongs (string)
siteidThe ID number that IoT Security assigns to the site for internal use (string)
serviceLevel(For MSSP only) The level of service for an MSSP customer as defined by the MSSP owner; for example: Tier 1, Tier 2, Tier 3; or Platinum, Gold, Silver (string)
trafficDirectionThe direction of the traffic on the device that triggered the alert; inbound if the device is a server and outbound if it is a client (string)
siteNameThe name of the site where the alert occurred (string)
reason_historyThe history of actions taken to investigate and resolve the alert (string)
totalThe overall number of security alerts for all the IoT devices in your inventory
Success Response Example
{"ver": "v4.0", "api": "/alert/list", "items": [ { "resolved": "no", "date": "2020-05-12T01:23:10.630Z", "deviceid": "18:65:90:cd:88:0d", "name": "zingcloud alert bg job integration test at 1589246590630", "severity": "high", "severityNumber": 4, "type": "policy_alert", "description": "The baseline policy defines a criteria to match normal connections between devices in two different networks or device groups. It is a positive detection if connections outside of this definition are observed.", "tenantid": "acmecorp" "zb_ticketid": "alert-hNMleG1nW", "id": "5eb9fa8127b736d82bf7840a", "profile": "Macintosh-MacPro", "profile_vertical": "IT Devices", "category": "Personal Computer", "hostname": "cntl-201-2", "siteid": "0", "serviceLevel": "", "trafficDirection": "inbound", "siteName": "acmecorp-hq", "reason_history": [] "msg": { "severity": "high", "description": "The baseline policy defines criteria to match normal connections between devices in two different networks or device groups. It is a positive detection if connections outside of this definition are observed.", "name": "zingcloud alert bg job integration test at 1589246590630", "id": "hNMleG1nW", "ruleid": "5a26f169c8272f0b00c5ef1a", "zb_ticketid": "alert-hNMleG1nW", "hostname": "unknown", ... } }, . . . ], "total": 39 }

Error Response

Upon error, the reply includes an HTTP response code, an error message, and additional information describing the error. The HTTP response code is one of the following:
FieldDescription
400Bad Request. This occurs when an HTTP request contains an invalid query string.
403Forbidden access. Either the provided API Key is invalid or it does not have the required RBAC permissions to run this API.
429Too many requests. The number of requests for a list of security alerts exceeded the rate limit of 180 queries per minute per tenant.
500Internal server error. A unified status for API communication type errors.
Error Response Format
{code: STATUS_CODE, msg: GENERAL_MESSAGE}