Get a complete or filtered list of all your external services.
The maximum result limit is 500.
Required license: Cortex XSIAM Premium. In Cortex XSIAM Enterprise and Cortex NG SIEM, requires the ASM add-on.
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/assets/get_external_services'
-d
''
import http.client
conn = http.client.HTTPSConnection("api-yourfqdn")
payload = "{\"request_data\":{\"filters\":{\"field\":\"active_classifications\",\"operator\":\"contains\",\"value\":\"string\"},\"vulnerability_test_results\":true,\"search_from\":0,\"search_to\":5000,\"sort\":{\"keyword\":\"string\",\"field\":\"string\"}}}"
headers = {
'authorization': "SOME_STRING_VALUE",
'x-xdr-auth-id': "SOME_STRING_VALUE",
'content-type': "application/json"
}
conn.request("POST", "/public_api/v1/assets/get_external_services", 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/assets/get_external_services")
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\":{\"filters\":{\"field\":\"active_classifications\",\"operator\":\"contains\",\"value\":\"string\"},\"vulnerability_test_results\":true,\"search_from\":0,\"search_to\":5000,\"sort\":{\"keyword\":\"string\",\"field\":\"string\"}}}"
response = http.request(request)
puts response.read_bodyconst data = JSON.stringify({
"request_data": {
"filters": {
"field": "active_classifications",
"operator": "contains",
"value": "string"
},
"vulnerability_test_results": true,
"search_from": 0,
"search_to": 5000,
"sort": {
"keyword": "string",
"field": "string"
}
}
});
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/assets/get_external_services");
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/assets/get_external_services")
.header("authorization", "SOME_STRING_VALUE")
.header("x-xdr-auth-id", "SOME_STRING_VALUE")
.header("content-type", "application/json")
.body("{\"request_data\":{\"filters\":{\"field\":\"active_classifications\",\"operator\":\"contains\",\"value\":\"string\"},\"vulnerability_test_results\":true,\"search_from\":0,\"search_to\":5000,\"sort\":{\"keyword\":\"string\",\"field\":\"string\"}}}")
.asString();import Foundation
let headers = [
"authorization": "SOME_STRING_VALUE",
"x-xdr-auth-id": "SOME_STRING_VALUE",
"content-type": "application/json"
]
let parameters = ["request_data": [
"filters": [
"field": "active_classifications",
"operator": "contains",
"value": "string"
],
"vulnerability_test_results": true,
"search_from": 0,
"search_to": 5000,
"sort": [
"keyword": "string",
"field": "string"
]
]] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://api-yourfqdn/public_api/v1/assets/get_external_services")! 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/assets/get_external_services",
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\":\"active_classifications\",\"operator\":\"contains\",\"value\":\"string\"},\"vulnerability_test_results\":true,\"search_from\":0,\"search_to\":5000,\"sort\":{\"keyword\":\"string\",\"field\":\"string\"}}}",
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/assets/get_external_services");
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\":{\"filters\":{\"field\":\"active_classifications\",\"operator\":\"contains\",\"value\":\"string\"},\"vulnerability_test_results\":true,\"search_from\":0,\"search_to\":5000,\"sort\":{\"keyword\":\"string\",\"field\":\"string\"}}}");
CURLcode ret = curl_easy_perform(hnd);var client = new RestClient("https://api-yourfqdn/public_api/v1/assets/get_external_services");
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\":{\"filters\":{\"field\":\"active_classifications\",\"operator\":\"contains\",\"value\":\"string\"},\"vulnerability_test_results\":true,\"search_from\":0,\"search_to\":5000,\"sort\":{\"keyword\":\"string\",\"field\":\"string\"}}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);request_dataobjectrequired
filtersobjectAn array of filter fields.
An array of filter fields.
fieldstring (Enum)String that identifies the service field the filter is matching. Filters are based on the following case-sensitive keywords:
- active_classifications
- business_units_list
- discovery_type
- domain
- externally_detected_providers
- externally_inferred_cves
- inactive_classifications
- ip_address
- ipv6_address
- is_active
- protocol
- service_name
- service_type
- service_type_list
- tags
String that identifies the service field the filter is matching. Filters are based on the following case-sensitive keywords:
- active_classifications
- business_units_list
- discovery_type
- domain
- externally_detected_providers
- externally_inferred_cves
- inactive_classifications
- ip_address
- ipv6_address
- is_active
- protocol
- service_name
- service_type
- service_type_list
- tags
operatorstring (Enum)String that identifies the comparison operator you want to use for this filter. Valid keywords and values are:
- contains / not_contains— use with
externally_detected_providers, domain, externally_inferred_cves, active_classifications, inactive_classifications, service_name, service_type, protocol
- eq / neq— use with
service_name, service_type, protocol, ip_address
- in — use with
is_active, discovery_type, business_units_list, tags
String that identifies the comparison operator you want to use for this filter. Valid keywords and values are:
- contains / not_contains— use with
externally_detected_providers,domain,externally_inferred_cves,active_classifications,inactive_classifications, service_name,service_type,protocol - eq / neq— use with
service_name,service_type,protocol,ip_address - in — use with
is_active,discovery_type,business_units_list,tags
valueobjectValue that this filter must match. The contents of this field will differ depending on the services field that you specified for this filter:
- active_classifications — String
- business_units_list — String or list of strings in the format "BU name" or "BU:BU name", for example “Acme & Co, Inc.” or “BU:Acme & Co, Inc.”
- discovery_type — String. Values are:
colocated_on_ip, directly_discovered, unknown.
- domain — String
- externally_detected_providers — String
- externally_inferred_cves — String
- inactive_classifications — String
- ip_address — String
- ipv6_address— String
- is_active — String. Values are:
yes, no
- protocol — string
- service_name — String
- service_type — String
- service_type_list — String
- tags — List of strings indicating the tags to filter on in the format
"tag-family:tag-name", for example "AR:registered to you".
Value that this filter must match. The contents of this field will differ depending on the services field that you specified for this filter:
- active_classifications — String
- business_units_list — String or list of strings in the format "BU name" or "BU:BU name", for example “Acme & Co, Inc.” or “BU:Acme & Co, Inc.”
- discovery_type — String. Values are:
colocated_on_ip,directly_discovered,unknown. - domain — String
- externally_detected_providers — String
- externally_inferred_cves — String
- inactive_classifications — String
- ip_address — String
- ipv6_address— String
- is_active — String. Values are:
yes,no - protocol — string
- service_name — String
- service_type — String
- service_type_list — String
- tags — List of strings indicating the tags to filter on in the format
"tag-family:tag-name", for example"AR:registered to you".
stringValue that this filter must match. The contents of this field will differ depending on the services field that you specified for this filter:
- active_classifications — String
- business_units_list — String or list of strings in the format "BU name" or "BU:BU name", for example “Acme & Co, Inc.” or “BU:Acme & Co, Inc.”
- discovery_type — String. Values are:
colocated_on_ip, directly_discovered, unknown.
- domain — String
- externally_detected_providers — String
- externally_inferred_cves — String
- inactive_classifications — String
- ip_address — String
- ipv6_address— String
- is_active — String. Values are:
yes, no
- protocol — string
- service_name — String
- service_type — String
- service_type_list — String
- tags — List of strings indicating the tags to filter on in the format
"tag-family:tag-name", for example "AR:registered to you".
Value that this filter must match. The contents of this field will differ depending on the services field that you specified for this filter:
- active_classifications — String
- business_units_list — String or list of strings in the format "BU name" or "BU:BU name", for example “Acme & Co, Inc.” or “BU:Acme & Co, Inc.”
- discovery_type — String. Values are:
colocated_on_ip,directly_discovered,unknown. - domain — String
- externally_detected_providers — String
- externally_inferred_cves — String
- inactive_classifications — String
- ip_address — String
- ipv6_address— String
- is_active — String. Values are:
yes,no - protocol — string
- service_name — String
- service_type — String
- service_type_list — String
- tags — List of strings indicating the tags to filter on in the format
"tag-family:tag-name", for example"AR:registered to you".
vulnerability_test_resultsboolean (Enum)Use this field with the value true to get vulnerability test results for the last 14 days for each service.
Using this field will slow down the endpoint.
Use this field with the value true to get vulnerability test results for the last 14 days for each service.
Using this field will slow down the endpoint.
search_fromintegerAn integer representing the start offset index of results.
An integer representing the start offset index of results.
search_tointegerAn integer representing the start offset index of results. Use this field to specify the number of results on a page when using page token pagination.
An integer representing the start offset index of results. Use this field to specify the number of results on a page when using page token pagination.
5000sortobjectIdentifies the sort order for the result set.
Identifies the sort order for the result set.
keywordstringCan be either ASC (ascending order) or DESC (descending order). Default is ASC. Values are case sensitive.
Can be either ASC (ascending order) or DESC (descending order). Default is ASC. Values are case sensitive.
fieldstringValues are:
- service_name
- first_observed
- last_observed
By default, case-sensitive, sort is defined as service_name.
Values are:
- service_name
- first_observed
- last_observed By default, case-sensitive, sort is defined as service_name.
{
"request_data": {
"filters": [
{
"field": "string",
"operator": "string",
"value": "string"
}
],
"use_page_token": true
}
}{
"request_data": {
"filters": [
{
"field": "discovery_type",
"operator": "in",
"value": [
"colocated_on_ip",
"directly_discovery"
]
},
{
"field": "service_name",
"operator": "contains",
"value": "apache"
}
],
"search_from": 0,
"search_to": 500
}
}