Return a list of correlation rules. You can return all correlation rules or filter results. You can also return extended results with all details included.
- The response is concatenated using AND condition (OR is not supported).
- The maximum result set size is >100.
- Offset is the zero-based number of incidents from the start of the result set.
You must have Instance Administrator permissions to run this endpoint.
Authorization
String
required
{api_key}
{api_key}
authorization_example
x-xdr-auth-id
String
required
{api_key_id}
{api_key_id}
xXdrAuthId_example
curl -X 'POST'
-H
'Accept: application/json'
-H
'Content-Type: application/json'
-H
'Authorization: authorization_example'
-H
'x-xdr-auth-id: xXdrAuthId_example'
'https://api-yourfqdn/public_api/v1/correlations/get'
-d
''
import http.client
conn = http.client.HTTPSConnection("api-yourfqdn")
payload = "{\"request_data\":{\"extended_view\":true,\"filters\":[{\"field\":\"name\",\"operator\":\"EQ\",\"value\":\"string\"}],\"search_from\":0,\"search_to\":0}}"
headers = {
'Authorization': "SOME_STRING_VALUE",
'x-xdr-auth-id': "SOME_STRING_VALUE",
'content-type': "application/json"
}
conn.request("POST", "/public_api/v1/correlations/get", 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/correlations/get")
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["content-type"] = 'application/json'
request.body = "{\"request_data\":{\"extended_view\":true,\"filters\":[{\"field\":\"name\",\"operator\":\"EQ\",\"value\":\"string\"}],\"search_from\":0,\"search_to\":0}}"
response = http.request(request)
puts response.read_bodyconst data = JSON.stringify({
"request_data": {
"extended_view": true,
"filters": [
{
"field": "name",
"operator": "EQ",
"value": "string"
}
],
"search_from": 0,
"search_to": 0
}
});
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/correlations/get");
xhr.setRequestHeader("Authorization", "SOME_STRING_VALUE");
xhr.setRequestHeader("x-xdr-auth-id", "SOME_STRING_VALUE");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);HttpResponse<String> response = Unirest.post("https://api-yourfqdn/public_api/v1/correlations/get")
.header("Authorization", "SOME_STRING_VALUE")
.header("x-xdr-auth-id", "SOME_STRING_VALUE")
.header("content-type", "application/json")
.body("{\"request_data\":{\"extended_view\":true,\"filters\":[{\"field\":\"name\",\"operator\":\"EQ\",\"value\":\"string\"}],\"search_from\":0,\"search_to\":0}}")
.asString();import Foundation
let headers = [
"Authorization": "SOME_STRING_VALUE",
"x-xdr-auth-id": "SOME_STRING_VALUE",
"content-type": "application/json"
]
let parameters = ["request_data": [
"extended_view": true,
"filters": [
[
"field": "name",
"operator": "EQ",
"value": "string"
]
],
"search_from": 0,
"search_to": 0
]] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://api-yourfqdn/public_api/v1/correlations/get")! 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/correlations/get",
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\":{\"extended_view\":true,\"filters\":[{\"field\":\"name\",\"operator\":\"EQ\",\"value\":\"string\"}],\"search_from\":0,\"search_to\":0}}",
CURLOPT_HTTPHEADER => [
"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/correlations/get");
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, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"request_data\":{\"extended_view\":true,\"filters\":[{\"field\":\"name\",\"operator\":\"EQ\",\"value\":\"string\"}],\"search_from\":0,\"search_to\":0}}");
CURLcode ret = curl_easy_perform(hnd);var client = new RestClient("https://api-yourfqdn/public_api/v1/correlations/get");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "SOME_STRING_VALUE");
request.AddHeader("x-xdr-auth-id", "SOME_STRING_VALUE");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"request_data\":{\"extended_view\":true,\"filters\":[{\"field\":\"name\",\"operator\":\"EQ\",\"value\":\"string\"}],\"search_from\":0,\"search_to\":0}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);request_dataobject
extended_viewboolean
filtersarrayAn array of filter fields.
An array of filter fields.
fieldobject (Enum)Identifies the correlation rule field the filter is matching. Filters are based on the following keywords:
name: Correlation rule name.
severity: Correlation rule severity.
xql_query: Correlation rule XQL query.
is_enabled: Whether the correlation rule is enabled or disabled.
description: Correlation rule description.
alert_name: Alert name.
alert_category: Alert category.
alert_description: Alert description.
alert_fields: Alert fields.
execution_mode: Whether execution mode is scheduled or real time.
search_window: Amount of time for search window.
simple_schedule: Correlation rule schedule.
timezone: Correlation rule timezone.
crontab: Linux scheduling for correlation rule.
suppression_enabled: Whether suppression is enabled for correlation rule.
suppression_duration: Duration of correlation rule suppression.
suppression_fields: Suppration fields.
dataset: Correlation rule dataset.
user_defined_severity: User-defined severity.
user_defined_category: User-defined category.
mitre_defs: MITRE definitions.
investigation_query_link: Investigation query link.
drilldown_query_timeframe: Whether the drilldown query timeframe is query or alert.
mapping_strategy: Whether the mapping strategy is auto or custom.
alert_domain: Alert domain.
Identifies the correlation rule field the filter is matching. Filters are based on the following keywords:
name: Correlation rule name.severity: Correlation rule severity.xql_query: Correlation rule XQL query.is_enabled: Whether the correlation rule is enabled or disabled.description: Correlation rule description.alert_name: Alert name.alert_category: Alert category.alert_description: Alert description.alert_fields: Alert fields.execution_mode: Whether execution mode is scheduled or real time.search_window: Amount of time for search window.simple_schedule: Correlation rule schedule.timezone: Correlation rule timezone.crontab: Linux scheduling for correlation rule.suppression_enabled: Whether suppression is enabled for correlation rule.suppression_duration: Duration of correlation rule suppression.suppression_fields: Suppration fields.dataset: Correlation rule dataset.user_defined_severity: User-defined severity.user_defined_category: User-defined category.mitre_defs: MITRE definitions.investigation_query_link: Investigation query link.drilldown_query_timeframe: Whether the drilldown query timeframe is query or alert.mapping_strategy: Whether the mapping strategy is auto or custom.alert_domain: Alert domain.
operatorobject (Enum)Identifies the comparison operator you want to use for this filter. Valid keywords are:
EQ / NEQ
name: String
severity: String
xql_query: String
is_enabled: Boolean
description: String
alert_name: String
alert_category: String
alert_description: String
alert_fields: String or dictionary
execution_mode: String
search_window: String
simple_schedule: String
timezone: String
crontab: String
suppression_enabled: Boolean
suppression_duration: String
dataset: String
user_defined_severity: String
user_defined_category: String
investigation_query_link: String
drilldown_query_timeframe: String
mapping_strategy: String
alert_domain: String
IN
suppression_fields: List of strings
mitre_defs: List of strings
Identifies the comparison operator you want to use for this filter. Valid keywords are:
EQ / NEQ
name: Stringseverity: Stringxql_query: Stringis_enabled: Booleandescription: Stringalert_name: Stringalert_category: Stringalert_description: Stringalert_fields: String or dictionaryexecution_mode: Stringsearch_window: Stringsimple_schedule: Stringtimezone: Stringcrontab: Stringsuppression_enabled: Booleansuppression_duration: Stringdataset: Stringuser_defined_severity: Stringuser_defined_category: Stringinvestigation_query_link: Stringdrilldown_query_timeframe: Stringmapping_strategy: Stringalert_domain: StringINsuppression_fields: List of stringsmitre_defs: List of strings
valuestring or boolean or arrayValue that this filter must match. The contents of this field will differ depending on the correlation rule field that you specified for this filter:
name, xql_query, description, alert_name, alert_description, alert_fields, suppression_duration, dataset, user_defined_severity, user_defined_category, investigation_query_link: String.
severity: String, can be one of the following: SEV_010_INFO, SEV_020_LOW, SEV_030_MEDIUM, SEV_040_HIGH
is_enabled: String, can be one of the following: enabled or disabled.
alert_category: String, can be one of the following: other, persistence, evasion, tampering, file_type_obfuscation, privilege_escalation, credential_access, lateral_movement, execution, collection, exfiltration, infiltration, dropper, file_privilege_manipulation, reconnaissance, discovery.
alert_fields: Dictionary.
execution_mode: String, can be one of the following: scheduled or real_time.
search_window: String, for example: "2 hours".
simple_schedule: String, for example: "5 minutes".
timezone: String, for example: "Asia/Jerusalem".
crontab: String, for example: "*/10 * * * *".
suppression_enabled: Boolean: true or false.
suppression_fields: List of strings.
mitre_defs: List of strings or dictionary.
drilldown_query_timeframe: String, can be one of the following: query or alert.
mapping_strategy: String, can be one of the following: auto or custom.
alert_domain: String, can be one of the following: domain_security, domain_it, domain_hunting.
Value that this filter must match. The contents of this field will differ depending on the correlation rule field that you specified for this filter:
name,xql_query,description,alert_name,alert_description,alert_fields,suppression_duration,dataset,user_defined_severity,user_defined_category,investigation_query_link: String.severity: String, can be one of the following:SEV_010_INFO,SEV_020_LOW,SEV_030_MEDIUM,SEV_040_HIGHis_enabled: String, can be one of the following:enabledordisabled.alert_category: String, can be one of the following:other,persistence,evasion,tampering,file_type_obfuscation,privilege_escalation,credential_access,lateral_movement,execution,collection,exfiltration,infiltration,dropper,file_privilege_manipulation,reconnaissance,discovery.alert_fields: Dictionary.execution_mode: String, can be one of the following:scheduledorreal_time.search_window: String, for example: "2 hours".simple_schedule: String, for example: "5 minutes".timezone: String, for example: "Asia/Jerusalem".crontab: String, for example: "*/10 * * * *".suppression_enabled: Boolean:trueorfalse.suppression_fields: List of strings.mitre_defs: List of strings or dictionary.drilldown_query_timeframe: String, can be one of the following:queryoralert.mapping_strategy: String, can be one of the following:autoorcustom.alert_domain: String, can be one of the following:domain_security,domain_it,domain_hunting.
search_fromintegerInteger representing the starting offset within the query result set from which you want correlation rules returned.
Correlation rules are returned as a zero-based list. Any correlation rule 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 correlation rules returned. Correlation rules are returned as a zero-based list. Any correlation rule indexed less than this value is not returned in the final result set and defaults to zero.
search_tointegerInteger representing the end offset within the result set after which you do not want BIOCs returned.
BIOCs in the BIOC list that are indexed higher than this value are not returned in the final results set. Defaults to >100, which returns all BIOCs to the end of the list.
Integer representing the end offset within the result set after which you do not want BIOCs returned. BIOCs in the BIOC list that are indexed higher than this value are not returned in the final results set. Defaults to >100, which returns all BIOCs to the end of the list.
{
"request_data": {
"extended_view": false
}
}