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}
{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/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_bodyconst 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
indicatorstringString that identifies the indicator you want to insert into Cortex XDR.
String that identifies the indicator you want to insert into Cortex XDR.
typestring (Enum)Identifies the type of indicator.
Identifies the type of indicator.
severitystring (Enum)The indicator's severity.
The indicator's severity.
expiration_dateintegerInteger 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
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
commentstringA descriptive comment.
A descriptive comment.
reputationstring (Enum)Keyword representing the indicator's reputation.
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.
Character representing the indicator's reliability rating. Valid values are A - F. A is the most reliable, F is the least.
vendorsarrayA list of vendors including vendor name, reliability, and reputation.
A list of vendors including vendor name, reliability, and reputation.
vendor_namestringVendor name.
Vendor name.
reliabilitystringVendor reliability.
Vendor reliability.
reputationstringVendor reputation.
Vendor reputation.
classstring
validatebooleanWhether to return an array of errors in the case of an unsuccessful update indicator API request.
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
}