post
/public_api/v1/compliance/add_rules_to_control
Add compliance rules to the specific compliance control.
Required license: Cortex Cloud Runtime Security or Cortex Cloud Posture Management
CLIENT REQUEST
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/add_rules_to_control'
-d
''
import http.client
conn = http.client.HTTPSConnection("api-yourfqdn")
payload = "{\"request_data\":{\"control_id\":\"string\",\"rules\":[{\"name\":\"string\",\"description\":\"string\",\"type\":\"Identity\",\"logical_id\":\"string\",\"severity\":\"low\",\"scannable_assets\":[\"KUBERNETES_NODE\"],\"remediation_steps\":\"string\",\"generate_findings\":true,\"generate_issues\":true,\"generate_scan_logs\":true}]}}"
headers = {
'x-xdr-auth-id': "REPLACE_KEY_VALUE",
'content-type': "application/json"
}
conn.request("POST", "/public_api/v1/compliance/add_rules_to_control", 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/add_rules_to_control")
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\":{\"control_id\":\"string\",\"rules\":[{\"name\":\"string\",\"description\":\"string\",\"type\":\"Identity\",\"logical_id\":\"string\",\"severity\":\"low\",\"scannable_assets\":[\"KUBERNETES_NODE\"],\"remediation_steps\":\"string\",\"generate_findings\":true,\"generate_issues\":true,\"generate_scan_logs\":true}]}}"
response = http.request(request)
puts response.read_bodyconst data = JSON.stringify({
"request_data": {
"control_id": "string",
"rules": [
{
"name": "string",
"description": "string",
"type": "Identity",
"logical_id": "string",
"severity": "low",
"scannable_assets": [
"KUBERNETES_NODE"
],
"remediation_steps": "string",
"generate_findings": true,
"generate_issues": true,
"generate_scan_logs": 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/compliance/add_rules_to_control");
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/add_rules_to_control")
.header("x-xdr-auth-id", "REPLACE_KEY_VALUE")
.header("content-type", "application/json")
.body("{\"request_data\":{\"control_id\":\"string\",\"rules\":[{\"name\":\"string\",\"description\":\"string\",\"type\":\"Identity\",\"logical_id\":\"string\",\"severity\":\"low\",\"scannable_assets\":[\"KUBERNETES_NODE\"],\"remediation_steps\":\"string\",\"generate_findings\":true,\"generate_issues\":true,\"generate_scan_logs\":true}]}}")
.asString();import Foundation
let headers = [
"x-xdr-auth-id": "REPLACE_KEY_VALUE",
"content-type": "application/json"
]
let parameters = ["request_data": [
"control_id": "string",
"rules": [
[
"name": "string",
"description": "string",
"type": "Identity",
"logical_id": "string",
"severity": "low",
"scannable_assets": ["KUBERNETES_NODE"],
"remediation_steps": "string",
"generate_findings": true,
"generate_issues": true,
"generate_scan_logs": true
]
]
]] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://api-yourfqdn/public_api/v1/compliance/add_rules_to_control")! 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/add_rules_to_control",
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\":{\"control_id\":\"string\",\"rules\":[{\"name\":\"string\",\"description\":\"string\",\"type\":\"Identity\",\"logical_id\":\"string\",\"severity\":\"low\",\"scannable_assets\":[\"KUBERNETES_NODE\"],\"remediation_steps\":\"string\",\"generate_findings\":true,\"generate_issues\":true,\"generate_scan_logs\":true}]}}",
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/add_rules_to_control");
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\":{\"control_id\":\"string\",\"rules\":[{\"name\":\"string\",\"description\":\"string\",\"type\":\"Identity\",\"logical_id\":\"string\",\"severity\":\"low\",\"scannable_assets\":[\"KUBERNETES_NODE\"],\"remediation_steps\":\"string\",\"generate_findings\":true,\"generate_issues\":true,\"generate_scan_logs\":true}]}}");
CURLcode ret = curl_easy_perform(hnd);var client = new RestClient("https://api-yourfqdn/public_api/v1/compliance/add_rules_to_control");
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\":{\"control_id\":\"string\",\"rules\":[{\"name\":\"string\",\"description\":\"string\",\"type\":\"Identity\",\"logical_id\":\"string\",\"severity\":\"low\",\"scannable_assets\":[\"KUBERNETES_NODE\"],\"remediation_steps\":\"string\",\"generate_findings\":true,\"generate_issues\":true,\"generate_scan_logs\":true}]}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);Body parameters
required
request_dataobject
control_idstringrequired
rulesarrayrequired
application/json
request_dataobject
control_idstringrequiredCompliance control ID
Compliance control ID
rulesarrayrequired
[namestringrequired
descriptionstring
typestring (Enum)required
logical_idstringrequired
severitystring (Enum)
scannable_assetsarray[string]required
remediation_stepsstring
generate_findingsbooleanrequired
generate_issuesbooleanrequired
generate_scan_logsbooleanrequired
]
namestringrequiredRule name
Rule name
descriptionstringDescription of the rule
Description of the rule
typestring (Enum)requiredRule type
Rule type
Allowed values:"Identity"
logical_idstringrequiredLogical identifier for the rule
Logical identifier for the rule
severitystring (Enum)Rule severity level
Rule severity level
Default:
"low"Allowed values:"low""medium""high""critical"
scannable_assetsarray[string]requiredList of scannable asset types
List of scannable asset types
Example:
["KUBERNETES_NODE"]remediation_stepsstringSteps to remediate violations
Steps to remediate violations
generate_findingsbooleanrequiredWhether to generate findings for this rule
Whether to generate findings for this rule
generate_issuesbooleanrequiredWhether to generate issues for this rule
Whether to generate issues for this rule
generate_scan_logsbooleanrequiredWhether to generate scan logs for this rule
Whether to generate scan logs for this rule
REQUEST
{
"request_data": {
"control_id": "0b0b5354d06d43ffc3d7465858378135",
"rules": [
{
"name": "Rule 1",
"description": "Description 1",
"type": "Identity",
"logical_id": "2b16a9f3-260x2-4xsf0cc-a9091",
"severity": "high",
"scannable_assets": [
"KUBERNETES_NODE"
],
"remediation_steps": "Run the following command...",
"generate_findings": true,
"generate_issues": true,
"generate_scan_logs": true
},
{
"name": "Rule 2",
"description": "Description 2",
"type": "Identity",
"logical_id": "2b16a9f3-cc2x602-4vvxXccXfn0c1",
"scannable_assets": [
"KUBERNETES_NODE"
],
"generate_findings": false,
"generate_issues": true,
"generate_scan_logs": true
}
]
}
}Responses