Gets a list of device control violations filtered by selected fields. You can retrieve up to 100 violations.
When filtering by multiple fields:
- Response is concatenated using AND condition (OR is not supported).
- Maximum result set size is 100.
- Offset is the zero-based number of incidents from the start of the result set.
Required license: Cortex XDR Prevent or Cortex XDR Pro per Endpoint
Authorization
String
required
{api_key}
{api_key}
authorization_example
x-xdr-auth-id
String
required
{api_key_id}
{api_key_id}
xXdrAuthId_example
Accept-Encoding
String
For retrieving a compressed gzipped response
For retrieving a compressed gzipped response
acceptEncoding_example
gzip
curl -X 'POST'
-H
'Accept: application/json'
-H
'Content-Type: application/json'
-H
'Authorization: authorization_example'
-H
'x-xdr-auth-id: xXdrAuthId_example'
-H
'Accept-Encoding: acceptEncoding_example'
'https://api-yourfqdn/public_api/v1/device_control/get_violations'
-d
''
import http.client
conn = http.client.HTTPSConnection("api-yourfqdn")
payload = "{\"request_data\":{\"filters\":[{\"field\":\"endpoint_id_list\",\"operator\":\"in\",\"value\":[0]}],\"search_from\":0,\"search_to\":0,\"sort\":{\"field\":\"endpoint_id_list\",\"value\":\"asc\"}}}"
headers = {
'Authorization': "SOME_STRING_VALUE",
'x-xdr-auth-id': "SOME_STRING_VALUE",
'Accept-Encoding': "SOME_STRING_VALUE",
'content-type': "application/json"
}
conn.request("POST", "/public_api/v1/device_control/get_violations", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api-yourfqdn/public_api/v1/device_control/get_violations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'SOME_STRING_VALUE'
request["x-xdr-auth-id"] = 'SOME_STRING_VALUE'
request["Accept-Encoding"] = 'SOME_STRING_VALUE'
request["content-type"] = 'application/json'
request.body = "{\"request_data\":{\"filters\":[{\"field\":\"endpoint_id_list\",\"operator\":\"in\",\"value\":[0]}],\"search_from\":0,\"search_to\":0,\"sort\":{\"field\":\"endpoint_id_list\",\"value\":\"asc\"}}}"
response = http.request(request)
puts response.read_bodyconst data = JSON.stringify({
"request_data": {
"filters": [
{
"field": "endpoint_id_list",
"operator": "in",
"value": [
0
]
}
],
"search_from": 0,
"search_to": 0,
"sort": {
"field": "endpoint_id_list",
"value": "asc"
}
}
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://api-yourfqdn/public_api/v1/device_control/get_violations");
xhr.setRequestHeader("Authorization", "SOME_STRING_VALUE");
xhr.setRequestHeader("x-xdr-auth-id", "SOME_STRING_VALUE");
xhr.setRequestHeader("Accept-Encoding", "SOME_STRING_VALUE");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);HttpResponse<String> response = Unirest.post("https://api-yourfqdn/public_api/v1/device_control/get_violations")
.header("Authorization", "SOME_STRING_VALUE")
.header("x-xdr-auth-id", "SOME_STRING_VALUE")
.header("Accept-Encoding", "SOME_STRING_VALUE")
.header("content-type", "application/json")
.body("{\"request_data\":{\"filters\":[{\"field\":\"endpoint_id_list\",\"operator\":\"in\",\"value\":[0]}],\"search_from\":0,\"search_to\":0,\"sort\":{\"field\":\"endpoint_id_list\",\"value\":\"asc\"}}}")
.asString();import Foundation
let headers = [
"Authorization": "SOME_STRING_VALUE",
"x-xdr-auth-id": "SOME_STRING_VALUE",
"Accept-Encoding": "SOME_STRING_VALUE",
"content-type": "application/json"
]
let parameters = ["request_data": [
"filters": [
[
"field": "endpoint_id_list",
"operator": "in",
"value": [0]
]
],
"search_from": 0,
"search_to": 0,
"sort": [
"field": "endpoint_id_list",
"value": "asc"
]
]] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://api-yourfqdn/public_api/v1/device_control/get_violations")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-yourfqdn/public_api/v1/device_control/get_violations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"request_data\":{\"filters\":[{\"field\":\"endpoint_id_list\",\"operator\":\"in\",\"value\":[0]}],\"search_from\":0,\"search_to\":0,\"sort\":{\"field\":\"endpoint_id_list\",\"value\":\"asc\"}}}",
CURLOPT_HTTPHEADER => [
"Accept-Encoding: SOME_STRING_VALUE",
"Authorization: SOME_STRING_VALUE",
"content-type: application/json",
"x-xdr-auth-id: SOME_STRING_VALUE"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "https://api-yourfqdn/public_api/v1/device_control/get_violations");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: SOME_STRING_VALUE");
headers = curl_slist_append(headers, "x-xdr-auth-id: SOME_STRING_VALUE");
headers = curl_slist_append(headers, "Accept-Encoding: SOME_STRING_VALUE");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"request_data\":{\"filters\":[{\"field\":\"endpoint_id_list\",\"operator\":\"in\",\"value\":[0]}],\"search_from\":0,\"search_to\":0,\"sort\":{\"field\":\"endpoint_id_list\",\"value\":\"asc\"}}}");
CURLcode ret = curl_easy_perform(hnd);var client = new RestClient("https://api-yourfqdn/public_api/v1/device_control/get_violations");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "SOME_STRING_VALUE");
request.AddHeader("x-xdr-auth-id", "SOME_STRING_VALUE");
request.AddHeader("Accept-Encoding", "SOME_STRING_VALUE");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"request_data\":{\"filters\":[{\"field\":\"endpoint_id_list\",\"operator\":\"in\",\"value\":[0]}],\"search_from\":0,\"search_to\":0,\"sort\":{\"field\":\"endpoint_id_list\",\"value\":\"asc\"}}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);request_dataobjectAn empty object returns all results.
An empty object returns all results.
filtersarrayProvides an array of filter fields.
Provides an array of filter fields.
fieldstring (Enum)String that identifies the violation field the filter is matching. Filters are based on the following keywords:
endpoint_id_list: List of endpoint IDs.
type: Type of violation.
timestamp: Timestamp of the violation.
ip_list: List of IP addresses.
vendor: Name of vendor.
vendor_id: Vendor ID.
product: Name of product.
product_id: Product ID.
serial: Serial number.
hostname: Hostname.
violation_id_list: List of violation IDs.
username: Username.
String that identifies the violation field the filter is matching. Filters are based on the following keywords:
endpoint_id_list: List of endpoint IDs.type: Type of violation.timestamp: Timestamp of the violation.ip_list: List of IP addresses.vendor: Name of vendor.vendor_id: Vendor ID.product: Name of product.product_id: Product ID.serial: Serial number.hostname: Hostname.violation_id_list: List of violation IDs.username: Username.
operatorstring (Enum)String that identifies the comparison operator you want to use for this filter. Valid keywords are:
in
— Permitted for all fields except timestamp.
gte / lte
— Permitted only for timestamp.
String that identifies the comparison operator you want to use for this filter. Valid keywords are:
in
— Permitted for all fields except timestamp.
gte / lte
— Permitted only for timestamp.
valueinteger or string or array[['integer', 'string']]Value that this filter must match. The contents of this field will differ depending on the violation field that you specified for this filter:
timestamp: Integer, in UTC timezone epoch milliseconds
violation_id_list: List of integers
ip_list: Must contain an IP string
type: Must be either cd-rom, disk drive, floppy disk, portable device
- All other fields need to be list of strings.
Value that this filter must match. The contents of this field will differ depending on the violation field that you specified for this filter:
timestamp: Integer, in UTC timezone epoch millisecondsviolation_id_list: List of integersip_list: Must contain an IP stringtype: Must be eithercd-rom,disk drive,floppy disk,portable device- All other fields need to be list of strings.
search_fromintegerInteger representing the starting offset within the query result set from which you want violations returned.
Violations are returned as a zero-based list. Any violation indexed less than this value is not returned in the final result set and defaults to zero.
Integer representing the starting offset within the query result set from which you want violations returned. Violations are returned as a zero-based list. Any violation indexed less than this value is not returned in the final result set and defaults to zero.
search_tointegerAn integer representing the end of offset within the result set after which you do not want violations returned.
Violations in the violation list that are indexed higher than this value are not returned in the final results set. Defaults to zero, which returns all alerts to the end of the list.
An integer representing the end of offset within the result set after which you do not want violations returned. Violations in the violation list that are indexed higher than this value are not returned in the final results set. Defaults to zero, which returns all alerts to the end of the list.
sortobjectrequiredIdentifies the sort order for the result set.
Identifies the sort order for the result set.
fieldstring (Enum)The field you want to sort by.
The field you want to sort by.
valuestring (Enum)Can be either asc (ascending) or desc (descending).
Can be either asc (ascending) or desc (descending).
"desc"{
"request_data": {}
}{
"request_data": {
"filters": [
{
"field": "type",
"operator": "in",
"value": [
"disk drive"
]
}
],
"search_to": 1
}
}