post
/public_api/xql_library/insert
Insert new XQL queries or update existing XQL queries.
Note: You should use unique xql_query_name for each XQL query on a given tenant.
You must have Instance Administrator permissions to run this endpoint.
Request headers
Authorization
String
required
{api_key}
{api_key}
Example:
authorization_example
x-xdr-auth-id
String
required
{api_key_id}
{api_key_id}
Example:
xXdrAuthId_example
CLIENT REQUEST
curl -X 'POST'
-H
'Accept: application/json,Example 1'
-H
'Content-Type: application/json'
-H
'Authorization: authorization_example'
-H
'x-xdr-auth-id: xXdrAuthId_example'
'https://api-yourfqdn/public_api/xql_library/insert'
-d
''
import http.client
conn = http.client.HTTPSConnection("api-yourfqdn")
payload = "{\"request_data\":{\"xql_queries_override\":false,\"xql_queries\":[{\"xql_query\":\"string\",\"xql_query_name\":\"string\"}],\"xql_query_tags\":[\"string\"]}}"
headers = {
'Authorization': "SOME_STRING_VALUE",
'x-xdr-auth-id': "SOME_STRING_VALUE",
'content-type': "application/json"
}
conn.request("POST", "/public_api/xql_library/insert", 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/xql_library/insert")
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\":{\"xql_queries_override\":false,\"xql_queries\":[{\"xql_query\":\"string\",\"xql_query_name\":\"string\"}],\"xql_query_tags\":[\"string\"]}}"
response = http.request(request)
puts response.read_bodyconst data = JSON.stringify({
"request_data": {
"xql_queries_override": false,
"xql_queries": [
{
"xql_query": "string",
"xql_query_name": "string"
}
],
"xql_query_tags": [
"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/xql_library/insert");
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/xql_library/insert")
.header("Authorization", "SOME_STRING_VALUE")
.header("x-xdr-auth-id", "SOME_STRING_VALUE")
.header("content-type", "application/json")
.body("{\"request_data\":{\"xql_queries_override\":false,\"xql_queries\":[{\"xql_query\":\"string\",\"xql_query_name\":\"string\"}],\"xql_query_tags\":[\"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": [
"xql_queries_override": false,
"xql_queries": [
[
"xql_query": "string",
"xql_query_name": "string"
]
],
"xql_query_tags": ["string"]
]] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://api-yourfqdn/public_api/xql_library/insert")! 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/xql_library/insert",
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\":{\"xql_queries_override\":false,\"xql_queries\":[{\"xql_query\":\"string\",\"xql_query_name\":\"string\"}],\"xql_query_tags\":[\"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/xql_library/insert");
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\":{\"xql_queries_override\":false,\"xql_queries\":[{\"xql_query\":\"string\",\"xql_query_name\":\"string\"}],\"xql_query_tags\":[\"string\"]}}");
CURLcode ret = curl_easy_perform(hnd);var client = new RestClient("https://api-yourfqdn/public_api/xql_library/insert");
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\":{\"xql_queries_override\":false,\"xql_queries\":[{\"xql_query\":\"string\",\"xql_query_name\":\"string\"}],\"xql_query_tags\":[\"string\"]}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);Body parameters
application/json
request_dataobject
xql_queries_overridebooleanWhen the xql_query_name already exists on the tenant, this field defines whether or not to overwrite the existing XQL query with the new content. When true, the query will be overwritten. When false, the query will not be updated and an error will be returned.
When the xql_query_name already exists on the tenant, this field defines whether or not to overwrite the existing XQL query with the new content. When true, the query will be overwritten. When false, the query will not be updated and an error will be returned.
xql_queriesarrayrequired
[xql_querystringrequired
xql_query_namestringrequired
]
xql_querystringrequired
xql_query_namestringrequiredXQL query name should be unique.
XQL query name should be unique.
xql_query_tagsarray[string]XQL query tags are optional
XQL query tags are optional
REQUEST
{
"request_data": {
"xql_queries_override": true,
"xql_queries": [
{
"xql_query": "dataset = xdr_data |limit 1",
"xql_query_name": "test_ql1"
},
{
"xql_query": "dataset = xdr_data |limit 2",
"xql_query_name": "test_ql11"
},
{
"xql_query": "dataset = xdr_data |limit 2",
"xql_query_name": "test_ql11"
}
],
"xql_query_tags": [
"tag2",
"tag202"
]
}
}Responses