Get all or filtered cloud instances

Cortex XSIAM Platform APIs

post /public_api/v1/cloud_onboarding/get_instances

Get the configuration details of all or filtered cloud instances. This does not include instances in pending state.

Required license: Cortex Cloud Posture Management

Request headers
Authorization String required

{api_key}

Example: UCoWpG4rkNzgCp2dsh8m02iVpZsskwKHz7N1tErPcUV3Wmf59Gc9kytmgOv0pDWoem3PBlORyRIPiir4OcYdWUOWAM3JyTgoCxQf4nQoTlKmFRKz9Bj5vIjluw66p9WP
x-xdr-auth-id String required

{api_key_id}

Example: 241
CLIENT REQUEST
curl -X 'POST'
-H 'Accept: application/json'
-H 'Content-Type: application/json'
-H 'Authorization: UCoWpG4rkNzgCp2dsh8m02iVpZsskwKHz7N1tErPcUV3Wmf59Gc9kytmgOv0pDWoem3PBlORyRIPiir4OcYdWUOWAM3JyTgoCxQf4nQoTlKmFRKz9Bj5vIjluw66p9WP ' -H 'x-xdr-auth-id: 241'
'https://api-yourfqdn/public_api/v1/cloud_onboarding/get_instances'
-d '{ "request_data" : { "filter_data" : { "sort" : [ { "FIELD" : "STATUS", "ORDER" : "DESC" } ], "paging" : { "from" : 0, "to" : 50 }, "filter" : { "AND" : [ { "SEARCH_FIELD" : "CLOUD_PROVIDER", "SEARCH_TYPE" : "EQ", "SEARCH_VALUE" : "AWS" } ] } } } }'
import http.client conn = http.client.HTTPSConnection("api-yourfqdn") payload = "{\"request_data\":{\"filter_data\":{\"sort\":[{\"FIELD\":\"STATUS\",\"ORDER\":\"DESC\"}],\"paging\":{\"from\":0,\"to\":50},\"filter\":{\"AND\":[{\"SEARCH_FIELD\":\"CLOUD_PROVIDER\",\"SEARCH_TYPE\":\"EQ\",\"SEARCH_VALUE\":\"AWS\"}]}}}}" headers = { 'Authorization': "UCoWpG4rkNzgCp2dsh8m02iVpZsskwKHz7N1tErPcUV3Wmf59Gc9kytmgOv0pDWoem3PBlORyRIPiir4OcYdWUOWAM3JyTgoCxQf4nQoTlKmFRKz9Bj5vIjluw66p9WP ", 'x-xdr-auth-id': "241", 'content-type': "application/json" } conn.request("POST", "/public_api/v1/cloud_onboarding/get_instances", 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/cloud_onboarding/get_instances") 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"] = 'UCoWpG4rkNzgCp2dsh8m02iVpZsskwKHz7N1tErPcUV3Wmf59Gc9kytmgOv0pDWoem3PBlORyRIPiir4OcYdWUOWAM3JyTgoCxQf4nQoTlKmFRKz9Bj5vIjluw66p9WP ' request["x-xdr-auth-id"] = '241' request["content-type"] = 'application/json' request.body = "{\"request_data\":{\"filter_data\":{\"sort\":[{\"FIELD\":\"STATUS\",\"ORDER\":\"DESC\"}],\"paging\":{\"from\":0,\"to\":50},\"filter\":{\"AND\":[{\"SEARCH_FIELD\":\"CLOUD_PROVIDER\",\"SEARCH_TYPE\":\"EQ\",\"SEARCH_VALUE\":\"AWS\"}]}}}}" response = http.request(request) puts response.read_body
const data = JSON.stringify({ "request_data": { "filter_data": { "sort": [ { "FIELD": "STATUS", "ORDER": "DESC" } ], "paging": { "from": 0, "to": 50 }, "filter": { "AND": [ { "SEARCH_FIELD": "CLOUD_PROVIDER", "SEARCH_TYPE": "EQ", "SEARCH_VALUE": "AWS" } ] } } } }); 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/cloud_onboarding/get_instances"); xhr.setRequestHeader("Authorization", "UCoWpG4rkNzgCp2dsh8m02iVpZsskwKHz7N1tErPcUV3Wmf59Gc9kytmgOv0pDWoem3PBlORyRIPiir4OcYdWUOWAM3JyTgoCxQf4nQoTlKmFRKz9Bj5vIjluw66p9WP "); xhr.setRequestHeader("x-xdr-auth-id", "241"); xhr.setRequestHeader("content-type", "application/json"); xhr.send(data);
HttpResponse<String> response = Unirest.post("https://api-yourfqdn/public_api/v1/cloud_onboarding/get_instances") .header("Authorization", "UCoWpG4rkNzgCp2dsh8m02iVpZsskwKHz7N1tErPcUV3Wmf59Gc9kytmgOv0pDWoem3PBlORyRIPiir4OcYdWUOWAM3JyTgoCxQf4nQoTlKmFRKz9Bj5vIjluw66p9WP ") .header("x-xdr-auth-id", "241") .header("content-type", "application/json") .body("{\"request_data\":{\"filter_data\":{\"sort\":[{\"FIELD\":\"STATUS\",\"ORDER\":\"DESC\"}],\"paging\":{\"from\":0,\"to\":50},\"filter\":{\"AND\":[{\"SEARCH_FIELD\":\"CLOUD_PROVIDER\",\"SEARCH_TYPE\":\"EQ\",\"SEARCH_VALUE\":\"AWS\"}]}}}}") .asString();
import Foundation let headers = [ "Authorization": "UCoWpG4rkNzgCp2dsh8m02iVpZsskwKHz7N1tErPcUV3Wmf59Gc9kytmgOv0pDWoem3PBlORyRIPiir4OcYdWUOWAM3JyTgoCxQf4nQoTlKmFRKz9Bj5vIjluw66p9WP ", "x-xdr-auth-id": "241", "content-type": "application/json" ] let parameters = ["request_data": ["filter_data": [ "sort": [ [ "FIELD": "STATUS", "ORDER": "DESC" ] ], "paging": [ "from": 0, "to": 50 ], "filter": ["AND": [ [ "SEARCH_FIELD": "CLOUD_PROVIDER", "SEARCH_TYPE": "EQ", "SEARCH_VALUE": "AWS" ] ]] ]]] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api-yourfqdn/public_api/v1/cloud_onboarding/get_instances")! 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/cloud_onboarding/get_instances", 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\":{\"filter_data\":{\"sort\":[{\"FIELD\":\"STATUS\",\"ORDER\":\"DESC\"}],\"paging\":{\"from\":0,\"to\":50},\"filter\":{\"AND\":[{\"SEARCH_FIELD\":\"CLOUD_PROVIDER\",\"SEARCH_TYPE\":\"EQ\",\"SEARCH_VALUE\":\"AWS\"}]}}}}", CURLOPT_HTTPHEADER => [ "Authorization: UCoWpG4rkNzgCp2dsh8m02iVpZsskwKHz7N1tErPcUV3Wmf59Gc9kytmgOv0pDWoem3PBlORyRIPiir4OcYdWUOWAM3JyTgoCxQf4nQoTlKmFRKz9Bj5vIjluw66p9WP ", "content-type: application/json", "x-xdr-auth-id: 241" ], ]); $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/cloud_onboarding/get_instances"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: UCoWpG4rkNzgCp2dsh8m02iVpZsskwKHz7N1tErPcUV3Wmf59Gc9kytmgOv0pDWoem3PBlORyRIPiir4OcYdWUOWAM3JyTgoCxQf4nQoTlKmFRKz9Bj5vIjluw66p9WP "); headers = curl_slist_append(headers, "x-xdr-auth-id: 241"); headers = curl_slist_append(headers, "content-type: application/json"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"request_data\":{\"filter_data\":{\"sort\":[{\"FIELD\":\"STATUS\",\"ORDER\":\"DESC\"}],\"paging\":{\"from\":0,\"to\":50},\"filter\":{\"AND\":[{\"SEARCH_FIELD\":\"CLOUD_PROVIDER\",\"SEARCH_TYPE\":\"EQ\",\"SEARCH_VALUE\":\"AWS\"}]}}}}"); CURLcode ret = curl_easy_perform(hnd);
var client = new RestClient("https://api-yourfqdn/public_api/v1/cloud_onboarding/get_instances"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "UCoWpG4rkNzgCp2dsh8m02iVpZsskwKHz7N1tErPcUV3Wmf59Gc9kytmgOv0pDWoem3PBlORyRIPiir4OcYdWUOWAM3JyTgoCxQf4nQoTlKmFRKz9Bj5vIjluw66p9WP "); request.AddHeader("x-xdr-auth-id", "241"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", "{\"request_data\":{\"filter_data\":{\"sort\":[{\"FIELD\":\"STATUS\",\"ORDER\":\"DESC\"}],\"paging\":{\"from\":0,\"to\":50},\"filter\":{\"AND\":[{\"SEARCH_FIELD\":\"CLOUD_PROVIDER\",\"SEARCH_TYPE\":\"EQ\",\"SEARCH_VALUE\":\"AWS\"}]}}}}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
Body parameters
required
application/json
request_dataobject

Valid values for the sort field FIELD the filter field SEARCH_FIELD include:

  • STATUS
  • PROVIDER
  • INSTANCE_NAME
  • SCOPE
  • SCAN_MODE
  • CREATION_TIME
  • OUTPOST_ID
  • AUTHENTICATION_METHOD
  • ID
filter_dataobject
sortarray

Sorting criteria for the results

[
FIELDstring

The field to sort by.

ORDERstring (Enum)

Whether to sort in ascending (ASC) order or descending (DESC) order.

Allowed values:"ASC""DESC"
]
pagingobject
frominteger

The starting index for pagination.

tointeger

The ending index for pagination.

filterobject

Filter criteria for the results.

ANDarray

A list of filter criteria to be combined with AND logic

[
SEARCH_FIELDstring

Specifies the field to filter by.

SEARCH_TYPEstring

Comparison operator to use with the filter.

SEARCH_VALUEobject

The value to filter by.

string

The value to filter by.

Array
]
ORarray

A list of filter criteria to be combined with OR logic

[
SEARCH_FIELDstring

Specifies the field to filter by.

SEARCH_TYPEstring

Comparison operator to use with the filter.

SEARCH_VALUEobject

The value to filter by.

string

The value to filter by.

Array
]
REQUEST
{ "request_data": { "filter_data": { "sort": [ { "FIELD": "STATUS", "ORDER": "DESC" } ], "paging": { "from": 0, "to": 50 }, "filter": { "AND": [ { "SEARCH_FIELD": "CLOUD_PROVIDER", "SEARCH_TYPE": "EQ", "SEARCH_VALUE": "AWS" } ] } } } }
Responses

Successful Response

Body
application/json
replyobject
DATAarray
[
instance_idstring

Unique identifier of the cloud instance

cloud_providerstring (Enum)
Allowed values:"AWS""GCP""AZURE""OCI""ALIBABA_CLOUD"
instance_namestring

Display name of the cloud instance

account_namestring

Name of the primary account (flat string, not a nested object)

accountsinteger

Count of non-deleted accounts (integer, not an object)

scopestring (Enum)
Allowed values:"ORGANIZATION""ACCOUNT_GROUP""ACCOUNT"
scan_modestring (Enum)
Allowed values:"MANAGED""OUTPOST"
cloud_partitionstring (Enum)
Allowed values:"COMMERCIAL""GOV"
creation_timeintegerint64

Creation timestamp in epoch milliseconds

custom_resources_tagsstring

JSON-encoded string of custom resource tags

provisioning_methodstring (Enum)
Allowed values:"TF""TF_M""CF""CF_M""GCDM""ARM""BICEP_M""MANUAL"
additional_capabilitiesstring

JSON-encoded string of additional capabilities

update_statusstring (Enum)
Allowed values:"UP_TO_DATE""UPDATE_AVAILABLE"
is_pending_changesinteger

0 (no pending changes) or 1 (has pending changes)

statusstring (Enum)
Allowed values:"CONNECTED""WARNING""ERROR""DISABLED""PENDING"
outpost_idstring

ID of the associated outpost

]
FILTER_COUNTinteger
TOTAL_COUNTinteger
RESPONSE
{ "reply": { "DATA": [ { "instance_id": "716e6a20f1ca41efb966bd9fa486fb60", "cloud_provider": "AWS", "instance_name": "aws-expanse-afr-sbx", "account_name": "", "accounts": 1, "scope": "ACCOUNT", "scan_mode": "MANAGED", "cloud_partition": "COMMERCIAL", "creation_time": 1768333922750, "custom_resources_tags": "[{\"key\": \"managed_by\", \"value\": \"paloaltonetworks\"}]", "provisioning_method": "CF", "additional_capabilities": "{\"automation\": true, \"xsiam_analytics\": true, \"registry_scanning\": true}", "update_status": "UPDATE_AVAILABLE", "is_pending_changes": 0, "status": "DISABLED", "outpost_id": "6e1e2eb8fce34c6e889538ea177644f7" } ], "FILTER_COUNT": 1, "TOTAL_COUNT": 1 } }

Invalid Client Request Error

Body
application/json
replyobject
err_codestring

Error code

err_msgstring

Error message

err_extrastring

Extra information about the error

RESPONSE
{ "reply": { "err_code": "example", "err_msg": "example", "err_extra": "example" } }

Internal Server Error

Body
application/json
replyobject
err_codestring

Error code

err_msgstring

Error message

err_extrastring

Extra information about the error

RESPONSE
{ "reply": { "err_code": "example", "err_msg": "example", "err_extra": "example" } }