Create User-Defined IP Range

Cortex Xpanse REST API

post /public_api/v1/assets/create_user_defined_ip_range/

Define an IP address range and assign a business unit (BU) or IP address tag (IPR) to that range. Note the following guidelines: - Use the shouldReplace field to indicate whether to replace all previously applied BUs on overlapping ranges. - Tags and notes on overlapping ranges will be deleted. - If only startIp is supplied, the endpoint will create a range for that single IP address. - If only endIP is supplied, the endpoint will create a range for that single IP address. - Define the range using either the startIp and endIp OR the cidrIp range, not both. Xpanse will run the request on only one range.

Request headers
authorization
String
required

api-key

Example: {{api-key}}
x-xdr-auth-id
String
required

api-key-id

Example: {{api-key-id}}
Body parameters
request_dataObject
startIpString

First IP address of the range.

endIpString

Ending IP address of the range.

cidrIpString

IP range in CIDR notation.

buTagIdsArray[string]

List of business unit tag IDs that will be applied to the IP range.

iprTagIdsArray[string]

List of IP range tag IDs (IPR) that will be applied to the IP range.

shouldReplaceBoolean

Boolean denoting whether to replace all previously applied business units on overlapping ranges.

REQUEST BODY
{"request_data":{"startIp":"x.x.x.24","endIp":"x.x.x.25","cidrIp":"null","buTagIds":["BU:af500527-9f45-4bd8-8eb5-e161d18a47b3"],"iprTagIds":["IPR:cc1d6312306d48c79fb3023b93d69923"],"shouldReplace":false}}
CLIENT REQUEST
curl -X 'POST'
-H 'Accept: application/json'
-H 'Content-Type: application/json'
-H 'authorization: {{api-key}}' -H 'x-xdr-auth-id: {{api-key-id}}'
'https://api-}/public_api/v1/assets/create_user_defined_ip_range/'
-d ''
import http.client conn = http.client.HTTPSConnection("api-") payload = "{\"request_data\":{\"startIp\":\"string\",\"endIp\":\"string\",\"cidrIp\":\"string\",\"buTagIds\":[\"string\"],\"iprTagIds\":[\"string\"],\"shouldReplace\":true}}" headers = { 'authorization': "{{api-key}}", 'x-xdr-auth-id': "{{api-key-id}}", 'content-type': "application/json" } conn.request("POST", "%7B%7Bfqdn%7D%7D/public_api/v1/assets/create_user_defined_ip_range/", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
require 'uri' require 'net/http' require 'openssl' url = URI("https://api-/%7B%7Bfqdn%7D%7D/public_api/v1/assets/create_user_defined_ip_range/") 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"] = '{{api-key}}' request["x-xdr-auth-id"] = '{{api-key-id}}' request["content-type"] = 'application/json' request.body = "{\"request_data\":{\"startIp\":\"string\",\"endIp\":\"string\",\"cidrIp\":\"string\",\"buTagIds\":[\"string\"],\"iprTagIds\":[\"string\"],\"shouldReplace\":true}}" response = http.request(request) puts response.read_body
const data = JSON.stringify({ "request_data": { "startIp": "string", "endIp": "string", "cidrIp": "string", "buTagIds": [ "string" ], "iprTagIds": [ "string" ], "shouldReplace": 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-/%7B%7Bfqdn%7D%7D/public_api/v1/assets/create_user_defined_ip_range/"); xhr.setRequestHeader("authorization", "{{api-key}}"); xhr.setRequestHeader("x-xdr-auth-id", "{{api-key-id}}"); xhr.setRequestHeader("content-type", "application/json"); xhr.send(data);
HttpResponse<String> response = Unirest.post("https://api-/%7B%7Bfqdn%7D%7D/public_api/v1/assets/create_user_defined_ip_range/") .header("authorization", "{{api-key}}") .header("x-xdr-auth-id", "{{api-key-id}}") .header("content-type", "application/json") .body("{\"request_data\":{\"startIp\":\"string\",\"endIp\":\"string\",\"cidrIp\":\"string\",\"buTagIds\":[\"string\"],\"iprTagIds\":[\"string\"],\"shouldReplace\":true}}") .asString();
import Foundation let headers = [ "authorization": "{{api-key}}", "x-xdr-auth-id": "{{api-key-id}}", "content-type": "application/json" ] let parameters = ["request_data": [ "startIp": "string", "endIp": "string", "cidrIp": "string", "buTagIds": ["string"], "iprTagIds": ["string"], "shouldReplace": true ]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-/%7B%7Bfqdn%7D%7D/public_api/v1/assets/create_user_defined_ip_range/")! 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-/%7B%7Bfqdn%7D%7D/public_api/v1/assets/create_user_defined_ip_range/", 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\":{\"startIp\":\"string\",\"endIp\":\"string\",\"cidrIp\":\"string\",\"buTagIds\":[\"string\"],\"iprTagIds\":[\"string\"],\"shouldReplace\":true}}", CURLOPT_HTTPHEADER => [ "authorization: {{api-key}}", "content-type: application/json", "x-xdr-auth-id: {{api-key-id}}" ], ]); $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-/%7B%7Bfqdn%7D%7D/public_api/v1/assets/create_user_defined_ip_range/"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "authorization: {{api-key}}"); headers = curl_slist_append(headers, "x-xdr-auth-id: {{api-key-id}}"); headers = curl_slist_append(headers, "content-type: application/json"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"request_data\":{\"startIp\":\"string\",\"endIp\":\"string\",\"cidrIp\":\"string\",\"buTagIds\":[\"string\"],\"iprTagIds\":[\"string\"],\"shouldReplace\":true}}"); CURLcode ret = curl_easy_perform(hnd);
var client = new RestClient("https://api-/%7B%7Bfqdn%7D%7D/public_api/v1/assets/create_user_defined_ip_range/"); var request = new RestRequest(Method.POST); request.AddHeader("authorization", "{{api-key}}"); request.AddHeader("x-xdr-auth-id", "{{api-key-id}}"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", "{\"request_data\":{\"startIp\":\"string\",\"endIp\":\"string\",\"cidrIp\":\"string\",\"buTagIds\":[\"string\"],\"iprTagIds\":[\"string\"],\"shouldReplace\":true}}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
Responses

OK

Body
replyObject
user_defined_ip_rangeString
RESPONSE
{ "reply": { "user_defined_ip_range": "succeeded" } }

Bad Request. Got an invalid JSON.

Body
replyObject

The query results upon error.

Free-Form object
RESPONSE
{ "reply": {} }

Unauthorized access. An issue occurred during authentication. This can indicate an incorrect key, id, or other invalid authentication parameters.

Body
replyObject

The query results upon error.

Free-Form object
RESPONSE
{ "reply": {} }

Unauthorized access. User does not have the required license type to run this API.

Body
replyObject

The query results upon error.

Free-Form object
RESPONSE
{ "reply": {} }

Forbidden access. The provided API Key does not have the required RBAC permissions to run this API.

Body
replyObject

The query results upon error.

Free-Form object
RESPONSE
{ "reply": {} }

Unprocessable Entity

Body
codeInteger

Error code

statusString

Error name

messageString

Error message

errorsObject

Errors

RESPONSE
{ "code": 0, "status": "status_example", "message": "message_example", "errors": {} }

Internal server error. A unified status for API communication type errors.

Body
replyObject

The query results upon error.

Free-Form object
RESPONSE
{ "reply": {} }