An assessment profile uses a standard to run scans on an asset group to check whether the assets adhere to the standard.
Retrieve compliance assessment profiles with optional filtering, sorting and pagination.
- 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 assessment profiles from the start of the result set
Required license: Cortex Cloud Runtime Security or Cortex Cloud Posture Management
curl -X 'POST'
-H "Authorization: [[apiKey]]"
\
-H "x-xdr-auth-id: [[apiKey]]"
\
-H
'Accept: application/json'
-H
'Content-Type: application/json'
'https://api-yourfqdn/public_api/v1/compliance/get_assessment_profiles'
-d
'{
"request_data" : {
"pagination" : {
"search_from" : 0,
"search_to" : 1
},
"filters" : [ {
"field" : "field",
"value" : "AssessmentProfileFilter_value",
"operator" : "operator"
}, {
"field" : "field",
"value" : "AssessmentProfileFilter_value",
"operator" : "operator"
} ],
"sort" : {
"field" : "creation_time",
"keyword" : "asc"
}
}
}'
import http.client
conn = http.client.HTTPSConnection("api-yourfqdn")
payload = "{\"request_data\":{\"filters\":[{\"field\":\"string\",\"operator\":\"string\",\"value\":\"string\"}],\"sort\":{\"field\":\"name\",\"keyword\":\"asc\"},\"pagination\":{\"search_from\":0,\"search_to\":100}}}"
headers = {
'x-xdr-auth-id': "REPLACE_KEY_VALUE",
'content-type': "application/json"
}
conn.request("POST", "/public_api/v1/compliance/get_assessment_profiles", 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/compliance/get_assessment_profiles")
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["x-xdr-auth-id"] = 'REPLACE_KEY_VALUE'
request["content-type"] = 'application/json'
request.body = "{\"request_data\":{\"filters\":[{\"field\":\"string\",\"operator\":\"string\",\"value\":\"string\"}],\"sort\":{\"field\":\"name\",\"keyword\":\"asc\"},\"pagination\":{\"search_from\":0,\"search_to\":100}}}"
response = http.request(request)
puts response.read_bodyconst data = JSON.stringify({
"request_data": {
"filters": [
{
"field": "string",
"operator": "string",
"value": "string"
}
],
"sort": {
"field": "name",
"keyword": "asc"
},
"pagination": {
"search_from": 0,
"search_to": 100
}
}
});
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/compliance/get_assessment_profiles");
xhr.setRequestHeader("x-xdr-auth-id", "REPLACE_KEY_VALUE");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);HttpResponse<String> response = Unirest.post("https://api-yourfqdn/public_api/v1/compliance/get_assessment_profiles")
.header("x-xdr-auth-id", "REPLACE_KEY_VALUE")
.header("content-type", "application/json")
.body("{\"request_data\":{\"filters\":[{\"field\":\"string\",\"operator\":\"string\",\"value\":\"string\"}],\"sort\":{\"field\":\"name\",\"keyword\":\"asc\"},\"pagination\":{\"search_from\":0,\"search_to\":100}}}")
.asString();import Foundation
let headers = [
"x-xdr-auth-id": "REPLACE_KEY_VALUE",
"content-type": "application/json"
]
let parameters = ["request_data": [
"filters": [
[
"field": "string",
"operator": "string",
"value": "string"
]
],
"sort": [
"field": "name",
"keyword": "asc"
],
"pagination": [
"search_from": 0,
"search_to": 100
]
]] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://api-yourfqdn/public_api/v1/compliance/get_assessment_profiles")! 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/compliance/get_assessment_profiles",
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\":\"string\",\"operator\":\"string\",\"value\":\"string\"}],\"sort\":{\"field\":\"name\",\"keyword\":\"asc\"},\"pagination\":{\"search_from\":0,\"search_to\":100}}}",
CURLOPT_HTTPHEADER => [
"content-type: application/json",
"x-xdr-auth-id: REPLACE_KEY_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/compliance/get_assessment_profiles");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "x-xdr-auth-id: REPLACE_KEY_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\":\"string\",\"operator\":\"string\",\"value\":\"string\"}],\"sort\":{\"field\":\"name\",\"keyword\":\"asc\"},\"pagination\":{\"search_from\":0,\"search_to\":100}}}");
CURLcode ret = curl_easy_perform(hnd);var client = new RestClient("https://api-yourfqdn/public_api/v1/compliance/get_assessment_profiles");
var request = new RestRequest(Method.POST);
request.AddHeader("x-xdr-auth-id", "REPLACE_KEY_VALUE");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"request_data\":{\"filters\":[{\"field\":\"string\",\"operator\":\"string\",\"value\":\"string\"}],\"sort\":{\"field\":\"name\",\"keyword\":\"asc\"},\"pagination\":{\"search_from\":0,\"search_to\":100}}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);request_dataobject
filtersarray
fieldstringIdentifies the assessment profile field the filter should match. Filters are based on the following keywords:
name: Assessment profile name
standard_name : Standard name
description: Assessment profile description
asset_group_name: Asset Group name
created_by: Creator of the assessment profile
modified_by: Modifier of the assessment profile
id: Assessment profile ID
report_type: Report type
standard_id: Standard ID
creation_time: Assessment profile's creation time
modification_time: Assessment profile's modification time
enabled: Whether the assessment profile is enabled
asset_group_id: Asset Group ID
Identifies the assessment profile field the filter should match. Filters are based on the following keywords:
name: Assessment profile namestandard_name: Standard namedescription: Assessment profile descriptionasset_group_name: Asset Group namecreated_by: Creator of the assessment profilemodified_by: Modifier of the assessment profileid: Assessment profile IDreport_type: Report typestandard_id: Standard IDcreation_time: Assessment profile's creation timemodification_time: Assessment profile's modification timeenabled: Whether the assessment profile is enabledasset_group_id: Asset Group ID
operatorstringIdentifies the comparison operator you want to use for this filter. Valid keywords are:
eq / neq / contains / not_contains
name, standard_name, description, asset_group_name, created_by, modified_by, id, report_type, standard_id: String
gte, lte, range, relative_timestamp
creation_time, modification_time: Integer in timestamp epoch milliseconds
in
enabled: valid values are yes or no
eq / neq
asset_group_id: String
Identifies the comparison operator you want to use for this filter. Valid keywords are:
eq / neq / contains / not_contains
name,standard_name,description,asset_group_name,created_by,modified_by,id,report_type,standard_id: String
gte, lte, range, relative_timestamp
creation_time,modification_time: Integer in timestamp epoch milliseconds
in
enabled: valid values areyesorno
eq / neq
asset_group_id: String
valueobjectValue that this filter must match. The contents of this field will differ depending on the assessment profile field that you specified for this filter
Value that this filter must match. The contents of this field will differ depending on the assessment profile field that you specified for this filter
stringWhen the field value is one of the following, the value is type string: name, standard_name, description, asset_group_name, created_by, modified_by, id, report_type, standard_id, asset_group_id
When the field value is one of the following, the value is type string: name, standard_name, description, asset_group_name, created_by, modified_by, id, report_type, standard_id, asset_group_id
integerWhen the field value is one of the following, the value is type integer: creation_time, modification_time
When the field value is one of the following, the value is type integer: creation_time, modification_time
sortobject
fieldstring (Enum)Sort according to this field
Sort according to this field
"creation_time"keywordstring (Enum)Sort in ascending (asc) or descending (desc) order
Sort in ascending (asc) or descending (desc) order
"asc"paginationobject
search_fromintegerInteger representing the starting offset within the query result set from which you want assessment profiles returned.
Assessment profiles are returned as a zero-based list. Any assessment profile 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 assessment profiles returned. Assessment profiles are returned as a zero-based list. Any assessment profile 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 assessment profiles returned.
Assessment profiles in the assessment profile list that are indexed higher than this value are not returned in the final results set. Defaults to >100, which returns all assessment profiles to the end of the list.
Integer representing the end offset within the result set after which you do not want assessment profiles returned. Assessment profiles in the assessment profile list that are indexed higher than this value are not returned in the final results set. Defaults to >100, which returns all assessment profiles to the end of the list.
100{
"request_data": {
"search_from": 0,
"search_to": 50,
"sort": {
"field": "report_type",
"keyword": "desc"
},
"filters": [
{
"field": "creation_time",
"operator": "gte",
"value": 0
},
{
"field": "name",
"operator": "eq",
"value": "John"
}
]
}
}