Upload IOCs as JSON objects that you retrieved from external threat intelligence sources.
Note: Cortex XDR does not scan historic data, but rather only new incoming data.
Required License: Cortex XDR Pro per Endpoint or Cortex XDR Pro per GB
Authorization
String
required
{api_key}
authorization_example
x-xdr-auth-id
String
required
{api_key_id}
xXdrAuthId_example
Accept-Encoding
String
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/indicators/insert_jsons'
-d
''
import http.client
conn = http.client.HTTPSConnection("api-yourfqdn")
payload = "{\"request_data\":[{\"indicator\":\"string\",\"type\":\"HASH\",\"severity\":\"INFO\",\"expiration_date\":0,\"comment\":\"string\",\"reputation\":\"GOOD\",\"reliability\":\"A\",\"vendors\":[{\"vendor_name\":\"string\",\"reliability\":\"string\",\"reputation\":\"string\"}],\"class\":\"string\"}],\"validate\":true}"
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/indicators/insert_jsons", 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/indicators/insert_jsons")
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\":[{\"indicator\":\"string\",\"type\":\"HASH\",\"severity\":\"INFO\",\"expiration_date\":0,\"comment\":\"string\",\"reputation\":\"GOOD\",\"reliability\":\"A\",\"vendors\":[{\"vendor_name\":\"string\",\"reliability\":\"string\",\"reputation\":\"string\"}],\"class\":\"string\"}],\"validate\":true}"
response = http.request(request)
puts response.read_body
const data = JSON.stringify({
"request_data": [
{
"indicator": "string",
"type": "HASH",
"severity": "INFO",
"expiration_date": 0,
"comment": "string",
"reputation": "GOOD",
"reliability": "A",
"vendors": [
{
"vendor_name": "string",
"reliability": "string",
"reputation": "string"
}
],
"class": "string"
}
],
"validate": true
});
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/indicators/insert_jsons");
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/indicators/insert_jsons")
.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\":[{\"indicator\":\"string\",\"type\":\"HASH\",\"severity\":\"INFO\",\"expiration_date\":0,\"comment\":\"string\",\"reputation\":\"GOOD\",\"reliability\":\"A\",\"vendors\":[{\"vendor_name\":\"string\",\"reliability\":\"string\",\"reputation\":\"string\"}],\"class\":\"string\"}],\"validate\":true}")
.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": [
[
"indicator": "string",
"type": "HASH",
"severity": "INFO",
"expiration_date": 0,
"comment": "string",
"reputation": "GOOD",
"reliability": "A",
"vendors": [
[
"vendor_name": "string",
"reliability": "string",
"reputation": "string"
]
],
"class": "string"
]
],
"validate": true
] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://api-yourfqdn/public_api/v1/indicators/insert_jsons")! 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/indicators/insert_jsons",
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\":[{\"indicator\":\"string\",\"type\":\"HASH\",\"severity\":\"INFO\",\"expiration_date\":0,\"comment\":\"string\",\"reputation\":\"GOOD\",\"reliability\":\"A\",\"vendors\":[{\"vendor_name\":\"string\",\"reliability\":\"string\",\"reputation\":\"string\"}],\"class\":\"string\"}],\"validate\":true}",
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/indicators/insert_jsons");
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\":[{\"indicator\":\"string\",\"type\":\"HASH\",\"severity\":\"INFO\",\"expiration_date\":0,\"comment\":\"string\",\"reputation\":\"GOOD\",\"reliability\":\"A\",\"vendors\":[{\"vendor_name\":\"string\",\"reliability\":\"string\",\"reputation\":\"string\"}],\"class\":\"string\"}],\"validate\":true}");
CURLcode ret = curl_easy_perform(hnd);
var client = new RestClient("https://api-yourfqdn/public_api/v1/indicators/insert_jsons");
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\":[{\"indicator\":\"string\",\"type\":\"HASH\",\"severity\":\"INFO\",\"expiration_date\":0,\"comment\":\"string\",\"reputation\":\"GOOD\",\"reliability\":\"A\",\"vendors\":[{\"vendor_name\":\"string\",\"reliability\":\"string\",\"reputation\":\"string\"}],\"class\":\"string\"}],\"validate\":true}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
request_dataarray
indicatorstring
String that identifies the indicator you want to insert into Cortex XDR.
typestring (Enum)
Identifies the type of indicator.
severitystring (Enum)
The indicator's severity.
expiration_dateinteger
Integer representing the indicator's expiration timestamp. Thisis a Unix epoch timestamp value, in milliseconds. If this indicator has no expiration, use Never
. If this value is NULL
, the indicator
receives the indicator's type value with the default expirationdate. Valid values are:
- 7 days
- 30 days
- 90 days
- 180 days
commentstring
A descriptive comment.
reputationstring (Enum)
Keyword representing the indicator's reputation.
reliabilityobject (Enum)
Character representing the indicator's reliability rating. Valid values are A - F. A is the most reliable, F is the least.
vendorsarray
A list of vendors including vendor name, reliability, and reputation.
vendor_namestring
Vendor name.
reliabilitystring
Vendor reliability.
reputationstring
Vendor reputation.
classstring
validateboolean
Whether to return an array of errors in the case of an unsuccessful update indicator API request.
{
"request_data": [
{
"indicator": "<hash_value>",
"type": "HASH",
"comment": "test",
"reputation": "GOOD",
"reliability": "D",
"severity": "high",
"vendors": [
{
"vendor_name": "V1",
"reliability": "A",
"reputation": "GOOD"
},
{
"vendor_name": "V2",
"reliability": "A",
"reputation": "SUSPICIOUS"
}
],
"class": "Malware"
}
],
"validate": true
}