cyglass-api v2.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
CyGlass API
Base URLs:
Terms of service Email: Support License: CyGlass Proprietary
Authentication
- oAuth2 authentication. CyGlass utilizes auth0.com for authentication, supporting the following OAuth2 flows:
- Authorization Code Grant including refresh tokens
- Password Grant for trusted clients
- Implicit Grant for interactive machine-to-machine scenarios
Other OAuth2 or OpenID flows may be available depending upon requirements
- Flow: password
Scope | Scope Description |
---|
- Flow: authorizationCode
Scope | Scope Description |
---|
- Flow: implicit
Scope | Scope Description |
---|
asset
post-v2-asset
Code samples
# You can also use wget
curl -X POST https://api.cyglass.com/v2/asset?tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.cyglass.com/v2/asset?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"name": "string",
"description": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"device_type": "Server",
"tags": [
"string"
],
"importance": 1
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset?tenant_name=string',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"name": "string",
"description": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"device_type": "Server",
"tags": [
"string"
],
"importance": 1
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset?tenant_name=string',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.cyglass.com/v2/asset',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.cyglass.com/v2/asset', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/asset?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.cyglass.com/v2/asset", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://api.cyglass.com/v2/asset', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
POST /v2/asset
create a asset
create a asset using the data supplied in the request body
Body parameter
{
"name": "string",
"description": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"device_type": "Server",
"tags": [
"string"
],
"importance": 1
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
body | body | AssetRequest | true | create asset request object (see AssetRequest model) |
Example responses
200 Response
{
"data": [
{
"name": "string",
"description": "string",
"id": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"threat_score": 0,
"is_active": true,
"device_type": "Server",
"tags": [
"string"
],
"importance": 1,
"asset_information_sources": [
"DHCP_LOG"
],
"first_seen": 0,
"last_seen": 0,
"smartalert_count": 0,
"operating_system": "string",
"recentLoginActivity": {
"userId": "string",
"userObjectId": "string",
"lastLoginTime": null
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"status": 0,
"meta": {},
"nextPageUri": "string",
"previousPageUri": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | asset has been successfully created, the response will contain the newly created asset | AssetApiResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
get-v2-asset
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/asset/{asset_id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/asset/{asset_id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/asset/{asset_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/asset/{asset_id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/asset/{asset_id}
retrieves an asset by its id
Retrieves an asset with matching asset_id
.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
asset_id | path | string | true | specify the CyGlass-assigned asset identifier |
Example responses
200 Response
{
"data": [
{
"name": "string",
"description": "string",
"id": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"threat_score": 0,
"is_active": true,
"device_type": "Server",
"tags": [
"string"
],
"importance": 1,
"asset_information_sources": [
"DHCP_LOG"
],
"first_seen": 0,
"last_seen": 0,
"smartalert_count": 0,
"operating_system": "string",
"recentLoginActivity": {
"userId": "string",
"userObjectId": "string",
"lastLoginTime": null
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"status": 0,
"meta": {},
"nextPageUri": "string",
"previousPageUri": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | retrieves the matching asset | AssetApiResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no asset with the specified asset_id were found | ApiResponse |
delete-v2-asset
Code samples
# You can also use wget
curl -X DELETE https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete 'https://api.cyglass.com/v2/asset/{asset_id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.cyglass.com/v2/asset/{asset_id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.cyglass.com/v2/asset/{asset_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','https://api.cyglass.com/v2/asset/{asset_id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
DELETE /v2/asset/{asset_id}
delete an existing asset
delete an existing asset by identifier, the asset_id
is a required path parameter.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
asset_id | path | string | true | specify the CyGlass-assigned asset identifier |
Example responses
200 Response
{
"data": [
{}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"status": 0,
"meta": {}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | asset with identifier asset_id was successfully deleted |
ApiResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no asset with the specified asset_id was found |
ApiResponse |
put-v2-asset
Code samples
# You can also use wget
curl -X PUT https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"name": "string",
"description": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"device_type": "Server",
"tags": [
"string"
],
"importance": 1
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"name": "string",
"description": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"device_type": "Server",
"tags": [
"string"
],
"importance": 1
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.cyglass.com/v2/asset/{asset_id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('https://api.cyglass.com/v2/asset/{asset_id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/asset/{asset_id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://api.cyglass.com/v2/asset/{asset_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','https://api.cyglass.com/v2/asset/{asset_id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
PUT /v2/asset/{asset_id}
update an existing asset
update an existing asset by identifier
Body parameter
{
"name": "string",
"description": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"device_type": "Server",
"tags": [
"string"
],
"importance": 1
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
body | body | AssetRequest | true | create asset request object (see AssetRequest model) |
asset_id | path | string | true | specify the CyGlass-assigned asset identifier |
Example responses
200 Response
{
"data": [
{
"name": "string",
"description": "string",
"id": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"threat_score": 0,
"is_active": true,
"device_type": "Server",
"tags": [
"string"
],
"importance": 1,
"asset_information_sources": [
"DHCP_LOG"
],
"first_seen": 0,
"last_seen": 0,
"smartalert_count": 0,
"operating_system": "string",
"recentLoginActivity": {
"userId": "string",
"userObjectId": "string",
"lastLoginTime": null
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"status": 0,
"meta": {},
"nextPageUri": "string",
"previousPageUri": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | asset with identifier asset_id was successfully updated, the response will contain the newly updated asset |
AssetApiResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no asset with the specified asset_id was found |
ApiResponse |
get-v2-asset-by-field
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/asset/field/{field}?value=string&tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/asset/field/{field}?value=string&tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset/field/{field}?value=string&tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset/field/{field}?value=string&tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/asset/field/{field}',
params: {
'value' => 'string',
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/asset/field/{field}', params={
'value': 'string', 'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/asset/field/{field}?value=string&tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/asset/field/{field}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/asset/field/{field}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/asset/field/{field}
query assets by field
Find assets by a field value. Specify a field to search by in the field
path parameter and a value for that field in the value
query parameter. Search behavior is based on the field. For fields [addresses
, roles
, asset_information_sources
] the search is exact match. For fields [name
, device_type
] the search is partial match. The searches can possibly return multiple results.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
value | query | string | true | value of the field |
tenant_name | query | string | true | tenant name |
offset | query | integer | false | starting offset into dataset (given sort, order, and search criteria) for results, defaults to 0, maximum value is 1000 |
size | query | integer | false | number of assets to return in a list, default is 10, valid range is 1-5000 |
sort | query | string | false | field to sort by, defaults to name , valid fields include: name , description , threat_score , device_type , importance , first_seen , last_seen , smartalert_count |
order | query | integer | false | specify 0 for ascending (default), 1 (or greater) for descending |
field | path | string | true | name of asset field to query by, supported values are name , addresses , asset_information_sources , roles , device_type |
Example responses
200 Response
{
"data": [
{
"name": "string",
"description": "string",
"id": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"threat_score": 0,
"is_active": true,
"device_type": "Server",
"tags": [
"string"
],
"importance": 1,
"asset_information_sources": [
"DHCP_LOG"
],
"first_seen": 0,
"last_seen": 0,
"smartalert_count": 0,
"operating_system": "string",
"recentLoginActivity": {
"userId": "string",
"userObjectId": "string",
"lastLoginTime": null
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"status": 0,
"meta": {},
"nextPageUri": "string",
"previousPageUri": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | list of matching assets (returning one or more results). For exact match (ie., on fields addresses , asset_information_sources , roles ) query semantics a 404 status is returned when a result is not found. For partial match (ie., on fields name , device_type ) semantics a 200 status along with meta.dataTotalCount field of the response set to zero. |
AssetApiResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no assets with the specified name were found. For exact match (ie., on fields addresses , asset_information_sources , roles ) query semantics a 404 status is returned when a result is not found. For partial match (ie., on fields name , device_type ) semantics a 200 status along with meta.dataTotalCount field of the response set to zero. |
ApiResponse |
get-v2-assets
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/asset/names?size=?&tenant_name=?&offset=?&order=?&value=??tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/asset/names?size=?&tenant_name=?&offset=?&order=?&value=??tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset/names?size=?&tenant_name=?&offset=?&order=?&value=??tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/asset/names?size=?&tenant_name=?&offset=?&order=?&value=??tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/asset/names?size=?&tenant_name=?&offset=?&order=?&value=?',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/asset/names?size=?&tenant_name=?&offset=?&order=?&value=?', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/asset/names?size=?&tenant_name=?&offset=?&order=?&value=??tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/asset/names?size=?&tenant_name=?&offset=?&order=?&value=?", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/asset/names?size=?&tenant_name=?&offset=?&order=?&value=?', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/asset/names?size=?&tenant_name=?&offset=?&order=?&value=?
query assets of given size, tenant, offset, order and value (asset name)
Fetches upto 5000 assets per request. Assets can be fetched matching a given text(name). Asset can be fetched in ascending or descending order of their asset names.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
value | query | string | false | Exact or partial name of Assets. All the assets matching this text in the asset name will be fetched. When value is not provided, all the assets will be fetched. |
tenant_name | query | string | true | tenant name |
offset | query | integer | false | starting offset into dataset (given sort, order, and search criteria) for results.Defaults to 0. |
size | query | integer | false | number of assets to return in a list, default is 10, valid range is 10-5000 |
order | query | integer | false | order to sort the asset names by, default value is 0. Valid values 0 (for ascending), 1 (for descending)' |
Example responses
200 Response
{
"data": [
{
"name": "string",
"description": "string",
"id": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"threat_score": 0,
"is_active": true,
"device_type": "Server",
"tags": [
"string"
],
"importance": 1,
"asset_information_sources": [
"DHCP_LOG"
],
"first_seen": 0,
"last_seen": 0,
"smartalert_count": 0,
"operating_system": "string",
"recentLoginActivity": {
"userId": "string",
"userObjectId": "string",
"lastLoginTime": null
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"status": 0,
"meta": {},
"nextPageUri": "string",
"previousPageUri": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | list of assets (returning one or more results). For partial match (ie., on fields name ) semantics a 200 status along with meta.dataTotalCount field of the response set to zero. |
AssetApiResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no assets with the specified name were found. For partial match (ie., on fields name ) semantics a 200 status along with meta.dataTotalCount field of the response set to zero. |
ApiResponse |
smartalert
get-smartalert
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/smartalert/{smartalertId}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/smartalert/{smartalertId}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/smartalert/{smartalertId}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/smartalert/{smartalertId}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/smartalert/{smartalertId}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/smartalert/{smartalertId}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/smartalert/{smartalertId}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/smartalert/{smartalertId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/smartalert/{smartalertId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/smartalert/{smartalertId}
retrieves the smartalert by its id
Retrieves the smartalert with matching smartalertId.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
smartalertId | path | string | true | specify the CyGlass-assigned smartalert identifier |
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"smartalert_id": "string",
"name": "string",
"site_id": 0,
"site_name": "string",
"summary": "string",
"major_actor_display_name": [
"string"
],
"starttime": 0,
"endtime": 0,
"confidence_level": 0,
"aoc_state": "string",
"property1": "string",
"property2": "string",
"property3": "string",
"behaviorKeyFeatures": [
"string"
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Retrived matching smartalert | ApiResponseSmartAlertResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no smartalert with the specified smartalertId was found |
ApiResponse |
put-smartalert
Code samples
# You can also use wget
curl -X PUT https://api.cyglass.com/v2/smartalert/{smartalertId}?tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.cyglass.com/v2/smartalert/{smartalertId}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"status": "TO_BE_REVIEWED"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/smartalert/{smartalertId}?tenant_name=string',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"status": "TO_BE_REVIEWED"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/smartalert/{smartalertId}?tenant_name=string',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.cyglass.com/v2/smartalert/{smartalertId}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('https://api.cyglass.com/v2/smartalert/{smartalertId}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/smartalert/{smartalertId}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://api.cyglass.com/v2/smartalert/{smartalertId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','https://api.cyglass.com/v2/smartalert/{smartalertId}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
PUT /v2/smartalert/{smartalertId}
updates the smartalert to the requested status
Updates the smartalert to the status provided in the request body
Body parameter
{
"status": "TO_BE_REVIEWED"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
smartalertId | path | string | true | tenant name |
tenant_name | query | string | true | specify the CyGlass-assigned smartalert identifier |
body | body | SmartAlertRequest | true | update smartalert request object to update the smartalert status |
Example responses
200 Response
{
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The smartalert was updated to the requested status | ApiResponseDocument |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no smartalert with the specified smartalertId was found |
ApiResponse |
close-smartalert
Code samples
# You can also use wget
curl -X PUT https://api.cyglass.com/v2/smartalert/{smartalertId}/close?tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.cyglass.com/v2/smartalert/{smartalertId}/close?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"includeSimilar": true,
"reasonForClose": "ABNORMAL_UNAUTHORIZED",
"reasonForAuthorizedAbnormal": "PENETRATION_TESTING",
"reasonForUnauthorizedAbnormal": "KNOWN_THREAT",
"allowInFuture": "AUTHORIZED",
"authorizedActivities": [
"AUTHORIZED_TIMES_FREQUENCIES"
],
"falsePositive": true,
"reasonForIncorrectInterpretation": [
"string"
],
"otherReasonForClose": "UI_NOT_INTERESTING",
"additionalInformation": "string",
"comment": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/smartalert/{smartalertId}/close?tenant_name=string',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"includeSimilar": true,
"reasonForClose": "ABNORMAL_UNAUTHORIZED",
"reasonForAuthorizedAbnormal": "PENETRATION_TESTING",
"reasonForUnauthorizedAbnormal": "KNOWN_THREAT",
"allowInFuture": "AUTHORIZED",
"authorizedActivities": [
"AUTHORIZED_TIMES_FREQUENCIES"
],
"falsePositive": true,
"reasonForIncorrectInterpretation": [
"string"
],
"otherReasonForClose": "UI_NOT_INTERESTING",
"additionalInformation": "string",
"comment": "string"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/smartalert/{smartalertId}/close?tenant_name=string',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.cyglass.com/v2/smartalert/{smartalertId}/close',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('https://api.cyglass.com/v2/smartalert/{smartalertId}/close', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/smartalert/{smartalertId}/close?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://api.cyglass.com/v2/smartalert/{smartalertId}/close", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','https://api.cyglass.com/v2/smartalert/{smartalertId}/close', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
PUT /v2/smartalert/{smartalertId}/close
closes the smartalert
Closes the smartalert with the id provided and along with the closure provided reason detail.
Body parameter
{
"includeSimilar": true,
"reasonForClose": "ABNORMAL_UNAUTHORIZED",
"reasonForAuthorizedAbnormal": "PENETRATION_TESTING",
"reasonForUnauthorizedAbnormal": "KNOWN_THREAT",
"allowInFuture": "AUTHORIZED",
"authorizedActivities": [
"AUTHORIZED_TIMES_FREQUENCIES"
],
"falsePositive": true,
"reasonForIncorrectInterpretation": [
"string"
],
"otherReasonForClose": "UI_NOT_INTERESTING",
"additionalInformation": "string",
"comment": "string"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
smartalertId | path | string | true | tenant name |
tenant_name | query | string | true | specify the CyGlass-assigned smartalert identifier |
body | body | CloseSmartAlertRequest | true | smartalert close request body along with different reason details |
Example responses
200 Response
{
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseDocument |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no smartalert with the specified smartalertId was found |
ApiResponse |
report-schedule
get-v2-reportschedule
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/reportschedule?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/reportschedule?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/reportschedule',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/reportschedule', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/reportschedule?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/reportschedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/reportschedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/reportschedule
retrieves all the reportschedules
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"report_type_id": "string",
"report_type_name": "string",
"status": "ACTIVE",
"report_duration_in_days": 0,
"start_date": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseReportScheduleResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
post-v2-reportschedule
Code samples
# You can also use wget
curl -X POST https://api.cyglass.com/v2/reportschedule?tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.cyglass.com/v2/reportschedule?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"name": "string",
"report_type_id": "string",
"status": "ACTIVE",
"start_date": 0,
"report_duration_in_days": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule?tenant_name=string',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"name": "string",
"report_type_id": "string",
"status": "ACTIVE",
"start_date": 0,
"report_duration_in_days": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule?tenant_name=string',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.cyglass.com/v2/reportschedule',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.cyglass.com/v2/reportschedule', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/reportschedule?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.cyglass.com/v2/reportschedule", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://api.cyglass.com/v2/reportschedule', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
POST /v2/reportschedule
create a reportschedule
creates a reportschedule using the data supplied in the request body
Body parameter
{
"name": "string",
"report_type_id": "string",
"status": "ACTIVE",
"start_date": 0,
"report_duration_in_days": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
body | body | ReportScheduleRequest | true | create reportschedule request object (see ReportScheduleRequest model) |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"report_type_id": "string",
"report_type_name": "string",
"status": "ACTIVE",
"report_duration_in_days": 0,
"start_date": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | reportschedule has been successfully created. | ApiResponseReportScheduleResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
get-v2-reportschedule-by-id
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/reportschedule/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/reportschedule/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/reportschedule/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/reportschedule/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/reportschedule/{id}
retrieves a reportschedule by its id
Retrieves the reportschedule with matching reportschedule id
.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | specify the CyGlass-assigned reportschedule identifier |
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"report_type_id": "string",
"report_type_name": "string",
"status": "ACTIVE",
"report_duration_in_days": 0,
"start_date": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseReportScheduleResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no reportschedule with the specified reportschedule id was found |
ApiResponse |
put-v2-reportschedule
Code samples
# You can also use wget
curl -X PUT https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"name": "string",
"report_type_id": "string",
"status": "ACTIVE",
"start_date": 0,
"report_duration_in_days": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"name": "string",
"report_type_id": "string",
"status": "ACTIVE",
"start_date": 0,
"report_duration_in_days": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.cyglass.com/v2/reportschedule/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('https://api.cyglass.com/v2/reportschedule/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://api.cyglass.com/v2/reportschedule/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','https://api.cyglass.com/v2/reportschedule/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
PUT /v2/reportschedule/{id}
update an existing reportschedule
update an existing reportschedule by identifier
Body parameter
{
"name": "string",
"report_type_id": "string",
"status": "ACTIVE",
"start_date": 0,
"report_duration_in_days": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | specify the CyGlass-assigned reportschedule identifier |
tenant_name | query | string | true | tenant name |
body | body | ReportScheduleRequest | true | create reportschedule request object (see ReportScheduleRequest model) |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"report_type_id": "string",
"report_type_name": "string",
"status": "ACTIVE",
"report_duration_in_days": 0,
"start_date": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseReportScheduleResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no reportschedule with the specified reportschedule id was found |
ApiResponse |
delete-v2-reportschedule
Code samples
# You can also use wget
curl -X DELETE https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete 'https://api.cyglass.com/v2/reportschedule/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.cyglass.com/v2/reportschedule/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/reportschedule/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.cyglass.com/v2/reportschedule/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','https://api.cyglass.com/v2/reportschedule/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
DELETE /v2/reportschedule/{id}
delete an existing reportschedule
delete an existing reportschedule by identifier.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | specify the CyGlass-assigned reportschedule identifier |
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseVoid |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no reportschedule with the specified reportschedule id was found |
ApiResponse |
get-report-types
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/reportschedule/reporttypes?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/reportschedule/reporttypes?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule/reporttypes?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/reportschedule/reporttypes?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/reportschedule/reporttypes',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/reportschedule/reporttypes', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/reportschedule/reporttypes?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/reportschedule/reporttypes", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/reportschedule/reporttypes', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/reportschedule/reporttypes
get the report-types
get all the report types. One among these need be choosen while creating the reportschedule
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"report_name": "string",
"report_description": "string"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseReportType |
zone
post-v2-zone
Code samples
# You can also use wget
curl -X POST https://api.cyglass.com/v2/zone?tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.cyglass.com/v2/zone?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone?tenant_name=string',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone?tenant_name=string',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.cyglass.com/v2/zone',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.cyglass.com/v2/zone', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/zone?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.cyglass.com/v2/zone", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://api.cyglass.com/v2/zone', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
POST /v2/zone
create a zone using the data supplied in the request body
Body parameter
{
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
body | body | ZoneRequest | true | create zone request object (see ZoneRequest model) |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Zone created successfully | ApiResponseZoneResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
get-v2-zone-by-id
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/zone/{id}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/zone/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone/{id}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone/{id}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/zone/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/zone/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/zone/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/zone/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/zone/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/zone/{id}
Retrieves the zone with provided zone id.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | specify the CyGlass-assigned zone identifier |
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseZoneResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no zone with the specified zone id was found | ApiResponse |
put-v2-zone
Code samples
# You can also use wget
curl -X PUT https://api.cyglass.com/v2/zone/{id}?tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.cyglass.com/v2/zone/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone/{id}?tenant_name=string',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone/{id}?tenant_name=string',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.cyglass.com/v2/zone/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('https://api.cyglass.com/v2/zone/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/zone/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://api.cyglass.com/v2/zone/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','https://api.cyglass.com/v2/zone/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
PUT /v2/zone/{id}
update an existing zone by identifier
Body parameter
{
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Unique identifier assigned by Cyglass |
tenant_name | query | string | true | tenant name |
body | body | ZoneRequest | true | updates the zone request object (see ZoneRequest model) |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Zone updated successfully. | ApiResponseZoneResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no zone with the specified zone id was found | ApiResponse |
delete-v2-zone-by-id
Code samples
# You can also use wget
curl -X DELETE https://api.cyglass.com/v2/zone/{id}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.cyglass.com/v2/zone/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone/{id}?tenant_name=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone/{id}?tenant_name=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete 'https://api.cyglass.com/v2/zone/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.cyglass.com/v2/zone/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/zone/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.cyglass.com/v2/zone/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','https://api.cyglass.com/v2/zone/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
DELETE /v2/zone/{id}
delete an existing zone by identifier.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | specify the CyGlass-assigned zone identifier |
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseVoid |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no zone with the specified zone id was found | ApiResponse |
get-v2-custom-zones
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/zone/custom?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/zone/custom?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone/custom?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone/custom?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/zone/custom',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/zone/custom', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/zone/custom?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/zone/custom", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/zone/custom', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/zone/custom
Fetches all the custom user created zones.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseZoneResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
get-v2-all-zones
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/zone/all?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/zone/all?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone/all?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/zone/all?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/zone/all',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/zone/all', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/zone/all?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/zone/all", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/zone/all', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/zone/all
Fetches all the zone including default and custom zones.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseZoneResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
user
get-v2-users
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/user?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/user?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/user?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/user?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/user',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/user', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/user?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/user", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/user', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/user
get all the users (matching the search value provided in request) with pagination. This can be used while creating the zone with USER type, while providing the user id.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
offset | query | integer(int32) | false | starting offset into dataset (given search criteria) for results, defaults to 0, maximum value is 1000 |
size | query | integer(int32) | false | number of assets to return in a list, default is 10, valid range is 1-5000 |
search | query | string | false | the search word to look for in user properties such as first name, last name, email_id, etc. |
Example responses
200 Response
{
"data": [
{
"user_id": "string",
"attributes": {
"email_id": "string",
"last_name": "string",
"first_name": "string"
},
"id": "string"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | UserApiResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
subnet
get-v2-organizations
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/subnet/organizations?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/subnet/organizations?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/subnet/organizations?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/subnet/organizations?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/subnet/organizations',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/subnet/organizations', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/subnet/organizations?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/subnet/organizations", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/subnet/organizations', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/subnet/organizations
get all the organization names
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
"string"
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseString |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
policy
post-v2-policy
Code samples
# You can also use wget
curl -X POST https://api.cyglass.com/v2/policy?tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.cyglass.com/v2/policy?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"match": "ANY",
"alertSeverity": 0,
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy?tenant_name=string',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"match": "ANY",
"alertSeverity": 0,
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy?tenant_name=string',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.cyglass.com/v2/policy',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.cyglass.com/v2/policy', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/policy?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.cyglass.com/v2/policy", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://api.cyglass.com/v2/policy', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
POST /v2/policy
create a policy using the data supplied in the request body
Body parameter
{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"match": "ANY",
"alertSeverity": 0,
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
body | body | PolicyRequest | true | create policy request object (see PolicyRequest model) |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"alertSeverity": 0,
"match": "ANY",
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"lastModified": 0,
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Policy has been successfully created, the response will contain the newly created policy | ApiResponsePolicyResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
get-v2-policy-by-id
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/policy/{id}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/policy/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/{id}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/{id}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/policy/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/policy/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/policy/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/policy/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/policy/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/policy/{id}
Retrieves the policy with provided policy id.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | specify the policy unique identifier |
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"alertSeverity": 0,
"match": "ANY",
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"lastModified": 0,
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponsePolicyResponse |
404 | Not Found | no policy with the specified policy id was found | ApiResponse |
put-v2-policy
Code samples
# You can also use wget
curl -X PUT https://api.cyglass.com/v2/policy/{id}?tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.cyglass.com/v2/policy/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"match": "ANY",
"alertSeverity": 0,
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/{id}?tenant_name=string',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"match": "ANY",
"alertSeverity": 0,
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/{id}?tenant_name=string',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.cyglass.com/v2/policy/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('https://api.cyglass.com/v2/policy/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/policy/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://api.cyglass.com/v2/policy/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','https://api.cyglass.com/v2/policy/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
PUT /v2/policy/{id}
Body parameter
{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"match": "ANY",
"alertSeverity": 0,
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Unique identifier of the policy |
tenant_name | query | string | true | tenant name |
body | body | PolicyRequest | true | update policy request object (see PolicyRequest model) |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"alertSeverity": 0,
"match": "ANY",
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"lastModified": 0,
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Policy updated successfully. | ApiResponsePolicyResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no policy with the specified policy id was found | ApiResponse |
delete-v2-policy-by-id
Code samples
# You can also use wget
curl -X DELETE https://api.cyglass.com/v2/policy/{id}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.cyglass.com/v2/policy/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/{id}?tenant_name=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/{id}?tenant_name=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete 'https://api.cyglass.com/v2/policy/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.cyglass.com/v2/policy/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/policy/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.cyglass.com/v2/policy/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','https://api.cyglass.com/v2/policy/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
DELETE /v2/policy/{id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Specify the policy unique identifier |
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseVoid |
404 | Not Found | no policy with the specified policy id was found | ApiResponse |
get-v2-policy-tags
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/policy/tags?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/policy/tags?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/tags?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/tags?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/policy/tags',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/policy/tags', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/policy/tags?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/policy/tags", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/policy/tags', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/policy/tags
Retrieves all tags used by existing policies
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"tag": "string"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponsePolicyTag |
get-v2-filter-values
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/policy/filterValues?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/policy/filterValues?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/filterValues?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/filterValues?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/policy/filterValues',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/policy/filterValues', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/policy/filterValues?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/policy/filterValues", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/policy/filterValues', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/policy/filterValues
Retrieves allowed the values for the combination of trigger type and filter type.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"whatTriggerType": "string",
"filterType": "string",
"filterValues": [
"string"
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseFilterValues |
get-v2-filter-values-by-what-trigger-type
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/policy/filterValues/{whatTriggerType}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/policy/filterValues/{whatTriggerType}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/filterValues/{whatTriggerType}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/filterValues/{whatTriggerType}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/policy/filterValues/{whatTriggerType}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/policy/filterValues/{whatTriggerType}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/policy/filterValues/{whatTriggerType}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/policy/filterValues/{whatTriggerType}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/policy/filterValues/{whatTriggerType}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/policy/filterValues/{whatTriggerType}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
whatTriggerType | path | string | true | Activity Trigger Type, for which filter values are required. |
tenant_name | query | string | true | tenant name |
filter_type | query | string | false | Filter type, for which the allowed values are needed. Ex. anomaly-type, saas-category, file-feature, etc. |
Enumerated Values
Parameter | Value |
---|---|
whatTriggerType | ANY |
whatTriggerType | ANOMOLOUS |
whatTriggerType | SERVICE_EVENTS |
whatTriggerType | ML_EVENTS |
whatTriggerType | AD_DOMAIN_EVENTS |
Example responses
200 Response
{
"data": [
{
"whatTriggerType": "string",
"filterType": "string",
"filterValues": [
"string"
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseFilterValues |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
get-v2-custom-policies
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/policy/custom?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/policy/custom?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/custom?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/custom?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/policy/custom',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/policy/custom', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/policy/custom?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/policy/custom", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/policy/custom', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/policy/custom
Retrieves all the custom policiess
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"alertSeverity": 0,
"match": "ANY",
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"lastModified": 0,
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponsePolicyResponse |
get-v2-all-policies
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/policy/all?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/policy/all?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/all?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/policy/all?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/policy/all',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/policy/all', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/policy/all?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/policy/all", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/policy/all', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/policy/all
Retrieves all the policiess including in-built and custom
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"alertSeverity": 0,
"match": "ANY",
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"lastModified": 0,
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponsePolicyResponse |
notification
get-v2-notifications
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=??tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=??tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=??tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=??tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=?',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=?', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=??tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=?", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=?', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/notification?size=?&tenant_name=?&offset=?&search=?
query notifications of given size, tenant, offset and search value (notification name)
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
offset | query | integer(int32) | false | offset value |
size | query | integer(int32) | false | page size |
search | query | string | false | name of the notification or part of the notification name to search for. |
Example responses
200 Response
{
"data": [
{
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
},
"type": "EMAIL"
}
],
"meta": {
"property1": {},
"property2": {}
},
"nextPageUri": "string",
"previousPageUri": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | NotificationApiResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
post-v2-notification
Code samples
# You can also use wget
curl -X POST https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=??tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=??tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"type": "EMAIL",
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=??tenant_name=string',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"type": "EMAIL",
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=??tenant_name=string',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=?',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=?', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=??tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=?", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','https://api.cyglass.com/v2/notification?size=?&tenant_name=?&offset=?&search=?', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
POST /v2/notification?size=?&tenant_name=?&offset=?&search=?
create a notification using the data supplied in the request body
Body parameter
{
"type": "EMAIL",
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | Tenant name |
body | body | NotificationRequest | true | Notification request object |
Example responses
200 Response
{
"data": [
{
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
},
"type": "EMAIL"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Notification has been successfully created. | ApiResponseNotificationResponse |
400 | Bad Request | invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
get-v2-notification-by-id
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/notification/{id}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/notification/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification/{id}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification/{id}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/notification/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/notification/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/notification/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/notification/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/notification/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/notification/{id}
Retrieves the notification with provided ntification id.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | specify the notification unique identifier |
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
},
"type": "EMAIL"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseNotificationResponse |
404 | Not Found | no notification with the specified notification id was found | ApiResponse |
put-v2-notification
Code samples
# You can also use wget
curl -X PUT https://api.cyglass.com/v2/notification/{id}?tenant_name=string \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.cyglass.com/v2/notification/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Content-Type: application/json
Accept: application/json
const inputBody = '{
"type": "EMAIL",
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification/{id}?tenant_name=string',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const inputBody = {
"type": "EMAIL",
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification/{id}?tenant_name=string',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.put 'https://api.cyglass.com/v2/notification/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.put('https://api.cyglass.com/v2/notification/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/notification/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://api.cyglass.com/v2/notification/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','https://api.cyglass.com/v2/notification/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
PUT /v2/notification/{id}
update an existing notification by identifier
Body parameter
{
"type": "EMAIL",
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Unique identifier of the notification |
tenant_name | query | string | true | tenant name |
body | body | NotificationRequest | true | update notification request object (see NotificationRequest model) |
Example responses
200 Response
{
"data": [
{
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
},
"type": "EMAIL"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Notification updated successfully. | ApiResponseNotificationResponse |
400 | Bad Request | Invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
404 | Not Found | no notification with the specified notification id was found | ApiResponse |
delete-v2-notification-by-id
Code samples
# You can also use wget
curl -X DELETE https://api.cyglass.com/v2/notification/{id}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
DELETE https://api.cyglass.com/v2/notification/{id}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification/{id}?tenant_name=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification/{id}?tenant_name=string',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.delete 'https://api.cyglass.com/v2/notification/{id}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.delete('https://api.cyglass.com/v2/notification/{id}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/notification/{id}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://api.cyglass.com/v2/notification/{id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','https://api.cyglass.com/v2/notification/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
DELETE /v2/notification/{id}
delete an existing notification by identifier
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Specify the notification unique identifier |
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseObject |
404 | Not Found | no notification with the specified notification id was found | ApiResponse |
get-v2-component-states-by-component
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/notification/componentStates/{component}?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/notification/componentStates/{component}?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification/componentStates/{component}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/notification/componentStates/{component}?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/notification/componentStates/{component}',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/notification/componentStates/{component}', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/notification/componentStates/{component}?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/notification/componentStates/{component}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/notification/componentStates/{component}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/notification/componentStates/{component}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
component | path | string | true | component name |
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"sub_system": "string",
"states": [
{
"to_state": "string"
}
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseEventSubSystem |
400 | Bad Request | Invalid request was received, check errors field of ApiResponse for detail |
ApiResponse |
collector
get-v2-collectors
Code samples
# You can also use wget
curl -X GET https://api.cyglass.com/v2/collector?tenant_name=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.cyglass.com/v2/collector?tenant_name=string HTTP/1.1
Host: api.cyglass.com
Accept: application/json
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/collector?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.cyglass.com/v2/collector?tenant_name=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.cyglass.com/v2/collector',
params: {
'tenant_name' => 'string'
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.cyglass.com/v2/collector', params={
'tenant_name': 'string'
}, headers = headers)
print(r.json())
URL obj = new URL("https://api.cyglass.com/v2/collector?tenant_name=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.cyglass.com/v2/collector", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
'application/json',
'Authorization' => 'Bearer {access-token}',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','https://api.cyglass.com/v2/collector', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
GET /v2/collector
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
tenant_name | query | string | true | tenant name |
Example responses
200 Response
{
"data": [
{
"name": "string"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
}
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseCollectorResponse |
Schemas
Value
{
"id": "string",
"name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | id of the associating entity. Required to be provided if 'actor_type' is USER OR 'actor_type' is ASSET and 'actor_field' is name. The id of the selecting device can be known from the get-v2-asset available under the asset section. The id of the user can be known from the API get-v2-users avaiable under user section |
name | string | false | none | name/label of the associating entity based on the choosen 'actor_type' & 'actor_field'. When the 'actor_type' is 'ORGANIZATION' and context in 'Internal', then the name should be of the organizations associated with available subnets. The list of possible organization names can be known from the API get-v2-organizations under the 'subnet' section. |
ZoneRequest
{
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}
ZoneRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | true | none | Name of the zone |
description | string | true | none | Description about the zone |
context | enum | true | none | Context of the entities associated to the zone either Internal/External. |
viewAlertType | enum | true | none | View type, how the alerts to be displayed by. Allowed alert types when 'External' is choosen as context are ['COUNTRY', 'DOMAIN', 'IP', 'LOCALE', 'ORGANIZATION', 'USER'] Allowed alert types when 'Internal' is choosen as context are ['ASSET', 'IP', 'ORGANIZATION', 'AD_DOMAIN', 'USER'] |
filters | [ZoneRule] | true | none | List of Rules/filters to be attached to the zone. |
Enumerated Values
Property | Value |
---|---|
context | Internal |
context | External |
viewAlertType | ASSET |
viewAlertType | IP |
viewAlertType | DOMAIN |
viewAlertType | COUNTRY |
viewAlertType | LOCALE |
viewAlertType | ORGANIZATION |
viewAlertType | USER |
viewAlertType | AD_DOMAIN |
ZoneRule
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
actor_type | enum | false | none | Actor type involved in the filter. If the viewAlertType is AD_DOMAIN, then the allowed actor_type is AD_DOMAIN. If the viewAlertType is USER, the allowed actor_type is USER. If the viewAlertType is from the list ['COUNTRY', 'DOMAIN', 'IP', 'LOCALE', 'ORGANIZATION'] and context is 'External', then the allowed actor types are ['ASSET', 'COUNTRY', 'DOMAIN', 'IP', 'LOCALE', 'ORGANIZATION']. If the viewAlertType is from the list ['ASSET', 'IP', 'ORGANIZATION'] and context is 'Internal', then the allowed actor types are ['ASSET', 'IP', 'ORGANIZATION'] |
actor_field | enum | false | none | Actor field/property to be considered in the filter. If the actor_type is AD_DOMAIN, then the allowed actor_field is 'name' If the actor_type is USER, then the allowed actor_field is 'name' If the actor_type is ASSET, the allowed actor_type are ['name', 'role', 'tag'] If the actor_type is IP, the allowed actor_type are ['range', 'cidr'] |
operation | enum | false | none | operation type, either INCLUDE/EXCLUDE |
values | [Value] | false | none | name/id/tag/labels of the actors |
Enumerated Values
Property | Value |
---|---|
actor_type | IP |
actor_type | USER |
actor_type | ASSET |
actor_type | ORGANIZATION |
actor_type | DOMAIN |
actor_type | AD_DOMAIN |
actor_type | COUNTRY |
actor_type | LOCALE |
actor_field | range |
actor_field | cidr |
actor_field | name |
actor_field | tag |
actor_field | role |
operation | INCLUDE |
operation | EXCLUDE |
ApiResponseZoneResponse
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [ZoneResponse] | false | none | none |
errors | [ApiError] | false | none | none |
ZoneResponse
{
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | unique identifier provided by Cyglass. |
name | string | false | none | name of the zone. |
description | string | false | none | description about the zone. |
context | string | false | none | description of the zone |
viewAlertType | string | false | none | alert type about the zone. |
filters | [ZoneResponseFilter] | false | none | none |
Enumerated Values
Property | Value |
---|---|
context | Internal |
context | External |
viewAlertType | ASSET |
viewAlertType | IP |
viewAlertType | DOMAIN |
viewAlertType | COUNTRY |
viewAlertType | LOCALE |
viewAlertType | ORGANIZATION |
viewAlertType | USER |
viewAlertType | AD_DOMAIN |
ZoneResponseFilter
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
actor_type | string | false | none | Type of actor involved |
actor_field | string | false | none | Field/perperty of the actor to be considered |
operation | string | false | none | Type of operation eith INCLUDE/EXCLUDE |
values | [Value] | false | none | none |
Enumerated Values
Property | Value |
---|---|
actor_type | IP |
actor_type | USER |
actor_type | ASSET |
actor_type | ORGANIZATION |
actor_type | DOMAIN |
actor_type | AD_DOMAIN |
actor_type | COUNTRY |
actor_type | LOCALE |
operation | INCLUDE |
operation | EXCLUDE |
UserApiResponse
{
"data": [
{
"user_id": "string",
"attributes": {
"email_id": "string",
"last_name": "string",
"first_name": "string"
},
"id": "string"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [UserResponse] | false | none | none |
errors | [ApiError] | false | none | none |
UserAttribute
{
"email_id": "string",
"last_name": "string",
"first_name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
email_id | string | false | none | User emal id |
last_name | string | false | none | User last name |
first_name | string | false | none | User first name |
UserResponse
{
"user_id": "string",
"attributes": {
"email_id": "string",
"last_name": "string",
"first_name": "string"
},
"id": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
user_id | string | false | none | none |
attributes | UserAttribute | false | none | user details |
id | string | false | none | unique identifier of the user. This property value will be used while creating the zone with actor type USER. |
ApiResponseString
{
"data": [
"string"
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [string] | false | none | none |
errors | [ApiError] | false | none | none |
SmartAlertRequest
{
"status": "TO_BE_REVIEWED"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
status | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | TO_BE_REVIEWED |
status | REJECTED |
status | CONFIRMED |
ApiError
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
ApiError
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
messageKey | string | false | none | none |
messageText | string | false | none | none |
params | object | false | none | none |
» additionalProperties | object | false | none | none |
responseMessage | string | false | write-only | none |
Enumerated Values
Property | Value |
---|---|
responseMessage | NO_PARTNER_CUSTOMERS_FOUND |
responseMessage | NO_ACCESSIBLE_CUSTOMER_FOUND |
responseMessage | NOT_AUTHORIZED_TO_ACCESS_THE_CUSTOMER |
responseMessage | API_GENERIC_BAD_REQUEST |
responseMessage | API_GENERIC_METHOD_NOT_ALLOWED |
responseMessage | API_GENERIC_UNAUTHORIZED |
responseMessage | API_GENERIC_FORBIDDEN |
responseMessage | API_GENERIC_NOT_FOUND |
responseMessage | API_GENERIC_INTERNAL_SERVER_ERROR |
responseMessage | API_GENERIC_HTTP_REQUEST_METHOD_NOT_SUPPORTED |
responseMessage | API_GENERIC_CONFLICT |
responseMessage | API_GENERIC_MISSING_REQUEST_PARAMETER |
responseMessage | API_GENERIC_ILLEGAL_ARGUMENT |
responseMessage | API_GENERIC_SERVICE_UNAVAILABLE |
responseMessage | API_GENERIC_NOT_ACCEPTABLE |
responseMessage | API_GENERIC_ID_MISMATCH |
responseMessage | API_SEARCHENGINE_RETURNED_IOEXCEPTION |
responseMessage | ASSET_CREATE_FAILED_NAME_UNDEFINED |
responseMessage | ASSET_CREATE_FAILED_ADDRESSES_UNDEFINED |
responseMessage | ASSET_CREATE_FAILED_CREATED_ASSET_NOT_FOUND |
responseMessage | ASSET_CREATE_FAILED_INVALID_JSON_FOUND |
responseMessage | ASSET_CREATE_FAILED_INVALID_DEVICE_TYPE |
responseMessage | ASSET_CREATE_FAILED_INVALID_IMPORTANCE |
responseMessage | ASSET_DELETE_FAILED_EXISTING_ASSET_NOT_FOUND |
responseMessage | ASSET_READ_FAILED_ID_NOT_FOUND |
responseMessage | ASSET_READ_FAILED_ID_UNDEFINED |
responseMessage | ASSET_UPDATE_FAILED_ID_UNDEFINED |
responseMessage | ASSET_UPDATE_FAILED_NAME_IN_USE |
responseMessage | ASSET_UPDATE_FAILED_ADDRESS_IN_USE |
responseMessage | ASSET_UPDATE_FAILED_DUPLICATE_ADDRESS |
responseMessage | ASSET_UPDATE_FAILED_INVALID_IP |
responseMessage | ASSET_UPDATE_FAILED_GENERIC |
responseMessage | ASSET_UPDATE_FAILED_INVALID_DEVICE_TYPE |
responseMessage | ASSET_CREATE_FAILED_INVALID_ROLE_TYPE |
responseMessage | ASSET_UPDATE_FAILED_INVALID_ADDRESS_TYPE |
responseMessage | ASSET_CREATE_FAILED_IMPORTANCE_UNDEFINED |
responseMessage | ASSET_DELETE_FAILED_ID_NOT_FOUND |
responseMessage | ASSET_UPDATE_FAILED_ID_NOT_FOUND |
responseMessage | ASSET_READ_FAILED_NO_MATCH |
responseMessage | ASSET_READ_FAILED_INVALID_FIELD |
responseMessage | ASSET_READ_FAILED_INVALID_FIELD_VALUE |
responseMessage | ASSET_READ_FAILED_IP_NOT_FOUND |
responseMessage | ASSET_SUGGESTION_UPDATE_FAILED_ID_UNDEFINED |
responseMessage | ASSET_SUGGESTION_UPDATE_FAILED_INVALID_STATUS |
responseMessage | ASSET_SUGGESTION_UPDATE_FAILED_INVALID_REQUEST |
responseMessage | ASSET_INFORMATION_SOURCE_NOT_FOUND |
responseMessage | ASSET_ORIGIN_DETAIL_NOT_FOUND |
responseMessage | USER_ACTIVITY_READ_FAILED_INVALID_USER_TYPE |
responseMessage | USER_ACTIVITY_READ_FAILED_NO_MATCH |
responseMessage | USER_ACTIVITY_READ_FAILED_ID_NOT_FOUND |
responseMessage | USER_ACTIVITY_INVALID_USER_TYPE_FOUND |
responseMessage | REPORT_TYPES_READ_FAILED |
responseMessage | DEFENSE_GOALS_READ_FAILED |
responseMessage | DEFENSE_OBJECTIVES_READ_FAILED |
responseMessage | DEFENSE_GOAL_UPDATE_FAILED |
responseMessage | DEFENSE_GOAL_UPDATE_FAILED_ID_NOT_FOUND |
responseMessage | DEFENSE_GOAL_UPDATE_INVALID_OBJECTIVES |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_NAME |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_REPORT_NAME |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_REPORT_DESCRIPTION |
responseMessage | DEFENSE_GOAL_UPDATE_BASE_GOAL_CANNOT_MODIFY |
responseMessage | DEFENSE_GOAL_UPDATE_EXISTING_GOAL_NAME |
responseMessage | DEFENSE_GOAL_UPDATE_DUPLICATE_OBJECTIVE_ID |
responseMessage | DEFENSE_GOAL_UPDATE_DUPLICATE_OBJECTIVE_NAME |
responseMessage | DEFENSE_GOAL_UPDATE_DUPLICATE_CONTROL_NAME |
responseMessage | DEFENSE_GOAL_UPDATE_DUPLICATE_CONTROL_ID |
responseMessage | DEFENSE_GOAL_DELETE_FAILED_EXISTING_DEFENSE_GOAL_NOT_FOUND |
responseMessage | DEFENSE_GOAL_DELETE_FAILED |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_OBJECTIVE_ID |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_OBJECTIVE_NAME |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_OBJECTIVE_DESCRIPTION |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_CONTROL_ID |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_CONTROL_NAME |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_CONTROL_DESCRIPTION |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_CONTROL_REFERENCE_TYPE |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_CONTROL_REFERENCE_ID |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_CONTROL_DETAILED_DESCRIPTION |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_CONTROL_REMEDIATION_TEXT |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_CONTROL_DETAILED_REMEDIATION_TEXT |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_DESCRIPTOR_OBJECTIVE |
responseMessage | DEFENSE_GOAL_UPDATE_INVALID_NAME |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_ID |
responseMessage | DEFENSE_GOAL_UPDATE_INVALID_DESCRIPTION |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_DESCRIPTION |
responseMessage | DEFENSE_GOAL_UPDATE_INVALID_DESCRIPTOR_STATE |
responseMessage | DEFENSE_GOAL_UPDATE_MISSING_DESCRIPTOR_STATE |
responseMessage | DEFENSE_ACTIVE_GOALS_READ_FAILED |
responseMessage | DEFENSE_GOAL_NOT_FOUND_OR_DISABLED |
responseMessage | DEFENSE_GOAL_OBJECTIVE_NOT_FOUND_OR_DISABLED |
responseMessage | CONTROL_NOT_FOUND_OR_DISABLED_FOR_OBJECTIVES |
responseMessage | OBJECTIVE_OR_CONTROL_NOT_FOUND_OR_DISABLED |
responseMessage | CONTROL_MISSING_THRESHOLD_DETAILS |
responseMessage | CONTROL_THREAT_SCORE_THRESHOLD_INVALID_RANGE |
responseMessage | CONTROL_ALERT_COUNT_THRESHOLD_INVALID_RANGE |
responseMessage | POLICY_NOT_FOUND_OR_DISABLED_FOR_CONTROL |
responseMessage | FILTER_VALUES_READ_FAILED_INVALID_FILTER_TYPE |
responseMessage | FILTER_VALUES_READ_FAILED_INVALID_WHAT_TRIGGER_TYPE |
responseMessage | SUBNET_SUGGESTION_UPDATE_FAILED_ID_UNDEFINED |
responseMessage | SUBNET_SUGGESTION_UPDATE_FAILED_INVALID_STATUS |
responseMessage | SUBNET_CREATE_UPDATE_FAILED_GENERIC |
responseMessage | SITE_CONFIGURATION_UPDATE_FAILED_GENERIC |
responseMessage | SUBNET_READ_FAILED_ID_NOT_FOUND |
responseMessage | SUBNET_READ_FAILED_EXISTING_SUBNET_NOT_FOUND |
responseMessage | SUBNET_DELETE_FAILED_ID_UNDEFINED |
responseMessage | SUBNET_DELETE_FAILED_EXISTING_COLLECTOR_NOT_FOUND |
responseMessage | CONFIG_REPORT_READ_FAILED_ID_NOT_FOUND |
responseMessage | CONFIG_REPORT_UPDATE_FAILED_ID_UNDEFINED |
responseMessage | CONFIG_REPORT_UPDATE_FAILED_INVALID_ENDTIME |
responseMessage | CONFIG_REPORT_UPDATE_FAILED_INVALID_RECIEPIENTS |
responseMessage | ZONE_UPDATE_FAILED |
responseMessage | ZONE_CREATE_FAILED |
responseMessage | ZONE_CREATE_UPDATE_FAILED_NAME_IN_USE |
responseMessage | ZONE_UPDATE_FAILED_NAME_UPDATE_NOT_ALLOWED |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_VIEW_ALERT |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_NAME |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_DESCRIPTION |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_CONTEXT |
responseMessage | ZONE_CREATE_UPDATE_FAILED_INVALID_CONTEXT |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_OPERATION |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_FILTER_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_ACTOR_TYPE |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_ACTOR_FIELD |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_FILTER |
responseMessage | ZONE_CREATE_UPDATE_FAILED_INVALID_FILTER |
responseMessage | ZONE_CREATE_UPDATE_FAILED_INVALID_FILTER_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_FILTER_USER_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_INVALID_FILTER_USER_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_INVALID_FILTER_ASSET_ROLE_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_FILTER_IP_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_FILTER_TAG_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_INVALID_FILTER_ORGANIZATION_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_INVALID_FILTER_IP_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_INVALID_FILTER_ASSET_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_INVALID_FILTER_ASSET_TYPE_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_MISSING_FILTER_DOMAIN_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_INVALID_FILTER_DOMAIN_VALUES |
responseMessage | ZONE_CREATE_UPDATE_FAILED_INVALID_FILTER_ACTOR_TYPE |
responseMessage | ZONE_CREATE_FAILED_INVALID_IP_FILTER_VALUES |
responseMessage | ZONE_DELETE_FAILED_ID_NOT_FOUND |
responseMessage | ZONE_DELETE_FAILED_ID_IN_USE |
responseMessage | ZONE_DELETE_FAILED |
responseMessage | ZONE_NOT_FOUND |
responseMessage | RULE_DELETE_FAILED_ID_NOT_FOUND |
responseMessage | RULE_DELETE_FAILED |
responseMessage | RULE_CREATE_FAILED |
responseMessage | RULE_UPDATE_FAILED |
responseMessage | RULE_CREATE_FAILED_NAME_UNDEFINED |
responseMessage | RULE_CREATE_FAILED_NAME_IN_USE |
responseMessage | RULE_UPDATE_FAILED_ID_NOT_FOUND |
responseMessage | RULE_DEFINITION_VALID |
responseMessage | RULE_DEFINITION_INVALID_WHERE_BLOCK |
responseMessage | RULE_DEFINITION_INVALID_WHEN_BLOCK |
responseMessage | RULE_DEFINITION_INVALID_WHAT_BLOCK |
responseMessage | RULE_DEFINITION_INVALID_WHAT_BLOCK_MATCH_TYPE |
responseMessage | RULE_DEFINITION_INVALID_HOW_BLOCK |
responseMessage | RULE_BULK_UPDATE_FAILED |
responseMessage | RULE_NOT_FOUND |
responseMessage | POLICY_CREATE_UPDATE_FAILED |
responseMessage | POLICY_CREATE_UPDATE_FAILED_INVALID_ID |
responseMessage | POLICY_CREATE_UPDATE_FAILED_NAME_UNDEFINED |
responseMessage | POLICY_CREATE_UPDATE_FAILED_CATEGORY_UNDEFINED |
responseMessage | POLICY_CREATE_UPDATE_FAILED_WHERE_UNDEFINED |
responseMessage | POLICY_CREATE_UPDATE_FAILED_INVALID_IMPORTANCE |
responseMessage | POLICY_CREATE_UPDATE_FAILED_FROM_ZONE_UNDEFINED |
responseMessage | POLICY_CREATE_UPDATE_FAILED_BOTH_IMPLICIT_AND_NON_IMPLICIT_FROM_ZONES_PROVIDED |
responseMessage | POLICY_CREATE_UPDATE_FAILED_INVALID_ZONE_ID |
responseMessage | POLICY_CREATE_UPDATE_FAILED_TO_ZONE_UNDEFINED |
responseMessage | POLICY_CREATE_UPDATE_FAILED_INVALID_IMPLICIT_ZONE_TYPE |
responseMessage | POLICY_CREATE_UPDATE_FAILED_BOTH_IMPLICIT_AND_NON_IMPLICIT_TO_ZONES_PROVIDED |
responseMessage | POLICY_CREATE_UPDATE_FAILED_TO_INVALID_SINGLE_ACTOR_FLAG |
responseMessage | POLICY_CREATE_UPDATE_FAILED_INVALID_WHAT_BLOCK |
responseMessage | POLICY_CREATE_UPDATE_FAILED_INVALID_COMPOUND_POLICY |
responseMessage | POLICY_CREATE_UPDATE_FAILED_WHAT_FILTER_TYPE_UNDEFINED |
responseMessage | POLICY_CREATE_UPDATE_FAILED_INVALID_MATCH_TYPE |
responseMessage | POLICY_CREATE_UPDATE_FAILED_INVALID_WHAT_FILTER_TYPE |
responseMessage | POLICY_CREATE_UPDATE_FAILED_FILTER_OPERATION_UNDEFINED |
responseMessage | POLICY_CREATE_UPDATE_FAILED_FILTER_VALUE_UNDEFINED |
responseMessage | POLICY_CREATE_UPDATE_FAILED_INVALID_WHAT_FILTER_VALUE |
responseMessage | POLICY_CREATE_UPDATE_FAILED_INVALID_WHAT_FILTER_OPERATION |
responseMessage | POLICY_CREATE_UPDATE_FAILED_INVALID_WHAT_FILTER_FIELD_NAME |
responseMessage | POLICY_CREATE_UPDATE_FAILED_RULE_DEFINITION_INVALID_WHAT_BLOCK_MATCH_TYPE |
responseMessage | POLICY_READ_FAILED_ID_NOT_FOUND |
responseMessage | POLICY_DELETE_FAILED |
responseMessage | POLICY_UPDATE_FAILED_NAME_UPDATE_NOT_ALLOWED |
responseMessage | POLICY_DELETE_FAILED_POLICY_NOT_FOUND |
responseMessage | POLICY_DELETE_FAILED_PRE_BUILD_POLICY_DELETION_NOT_ALLOWED |
responseMessage | NOTIFICATION_READ_FAILED_EXISTING_NOTIFICATION_NOT_FOUND |
responseMessage | NOTIFICATION_CREATE_FAILED_NAME_IN_USE |
responseMessage | NOTIFICATION_DELETE_FAILED |
responseMessage | NOTIFICATION_DELETE_FAILED_NO_NOTIFICATION_FOUND |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_REQUEST_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_NAME_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_TYPE_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_EVENTS_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_CONTENT_TYPE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_CONTENT_TYPE_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_CONTENT_TYPE_MISMATCH |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_COMPONENT |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_REMOTE_COLLECTOR_SUBSYSTEM |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_REMOTE_COLLECTOR_STATE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_REMOTE_COLLECTOR_EVENT_TYPE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_REMOTE_COLLECTOR_SUPPRESS_DURATION_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_REMOTE_COLLECTOR_SUPPRESS_DURATION |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_REMOTE_COLLECTOR_LOOKBACK_DURATION_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_REMOTE_COLLECTOR_LOOKBACK_DURATION |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_NNC_SUBSYSTEM |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_NNC_STATE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_NNC_EVENT_TYPE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_NNC_SUPPRESS_DURATION_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_NNC_SUPPRESS_DURATION |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_NNC_LOOKBACK_DURATION_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_NNC_LOOKBACK_DURATION |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_NXLOG_AGENT_SUBSYSTEM |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_NXLOG_AGENT_STATE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_NXLOG_AGENT_EVENT_TYPE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_NXLOG_AGENT_SUPPRESS_DURATION_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_NXLOG_AGENT_SUPPRESS_DURATION |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_NXLOG_AGENT_LOOKBACK_DURATION_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_NXLOG_AGENT_LOOKBACK_DURATION |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_SAAS_SUBSYSTEM |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_SAAS_STATE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_SAAS_EVENT_TYPE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_SAAS_SUPPRESS_DURATION_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_SAAS_SUPPRESS_DURATION |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_SAAS_LOOKBACK_DURATION_UNDEFINED |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_SAAS_LOOKBACK_DURATION |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_REMEDIATION_SUBSYSTEM |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_REMEDIATION_STATE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_REMEDIATION_EVENT_TYPE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_REMEDIATION_SUPPRESS_DURATION |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_REMEDIATION_LOOKBACK_DURATION |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_POLICY_SUBSYSTEM |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_POLICY_STATE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_POLICY_EVENT_TYPE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_SMARTALERT_SUBSYSTEM |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_SMARTALERT_STATE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_SMARTALERT_EVENT_TYPE |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_MISSING_RECIPIENT_TO |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_RECIPIENT_TO_EMAIL |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_RECIPIENT_CC_EMAIL |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_RECIPIENT_BCC_EMAIL |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_DUPLICATE_EMAILS |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_SYSLOG_SERVER |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_SYSLOG_PORT |
responseMessage | NOTIFICATION_CREATE_UPDATE_FAILED_INVALID_COLLECTOR_NAME |
responseMessage | NOTIFICATION_UPDATE_FAILED_ID_MISMATCH |
responseMessage | NOTIFICATION_STATES_READ_FAILED_INVALID_COMPONENT |
responseMessage | DOWNLOAD_S3_OBJECT_INVALID_URL |
responseMessage | DOWNLOAD_S3_OBJECT_NOT_FOUND |
responseMessage | DOWNLOAD_S3_OBJECT_FAILED |
responseMessage | CONVERSATION_READ_FAILED_ID_NOT_FOUND |
responseMessage | CONVERSATION_UPDATE_FAILED_MISSING_RESPONSES |
responseMessage | CONVERSATION_UPDATE_FAILED_MISSING_ENTITY_TYPE |
responseMessage | CONVERSATION_IMPACT_FAILED_GENERIC |
responseMessage | NODE_ID_NOT_FOUND |
responseMessage | NODE_ID_IS_ALREADY_BLOCKED |
responseMessage | NODE_ID_IS_ALREADY_UNBLOCKED |
responseMessage | BLOCK_NODE_BY_ID_FAILED |
responseMessage | UNBLOCK_NODE_BY_ID_FAILED |
responseMessage | USER_ID_NOT_FOUND |
responseMessage | USER_ID_IS_ALREADY_BLOCKED |
responseMessage | USER_ID_IS_ALREADY_UNBLOCKED |
responseMessage | BLOCK_USER_BY_ID_FAILED |
responseMessage | UNBLOCK_USER_BY_ID_FAILED |
responseMessage | USER_ACCOUNT_NOT_FOUND |
responseMessage | USER_REMEDIATION_NOT_AVAILABLE |
responseMessage | USER_AD_REMEDIATION_CAPABLE_FEATURE_NOT_ENABLED |
responseMessage | USER_AUTOMATIC_REMEDIATION_RULE_NOT_FOUND |
responseMessage | ES_CLUSTER_INFO_READ_FAILED_ID_UNDEFINED |
responseMessage | ES_CLUSTER_INFO_READ_FAILED_ID_NOT_FOUND |
responseMessage | ES_CLUSTER_INFO_CREATE_FAILED_NAME_UNDEFINED |
responseMessage | ES_CLUSTER_INFO_UPDATE_FAILED_ID_UNDEFINED |
responseMessage | ES_CLUSTER_INFO_UPDATE_FAILED_NAME_UNDEFINED |
responseMessage | ES_CLUSTER_INFO_UPDATE_FAILED_EXISTING_ES_CLUSTER_INFO_NOT_FOUND |
responseMessage | ES_CLUSTER_INFO_DELETE_FAILED_ID_UNDEFINED |
responseMessage | ES_CLUSTER_INFO_DELETE_FAILED_EXISTING_ES_CLUSTER_INFO_NOT_FOUND |
responseMessage | ESCLUSTER_READ_FAILED_ID_NOT_FOUND |
responseMessage | KIBANA_SERVICE_UNAVAILABLE |
responseMessage | OPTION_READ_FAILED_ID_NOT_FOUND |
responseMessage | OPTION_DELETE_FAILED_EXISTING_OPTION_NOT_FOUND |
responseMessage | OPTION_UPDATE_FAILED_EXISTING_OPTION_NOT_FOUND |
responseMessage | SITE_DEPLOYMENT_CONFIGURATION_READ_FAILED |
responseMessage | SITE_PROVISIONING_FAILED_NAME_ALREADY_EXISTS |
responseMessage | USER_PREFERENCES_INVALID |
responseMessage | USER_GET_FAILED |
responseMessage | USER_ACTION_FAILED_EMAIL_UNDEFINED |
responseMessage | USER_ACTION_FAILED_EMAIL_NOTFOUND |
responseMessage | USER_ACTION_FAILED_CUSTOMER_NOTFOUND |
responseMessage | USER_ACTION_FAILED_CUSTOMER_NOT_AUTHORIZED |
responseMessage | USER_RESET_MFA_FAILED_ID_UNDEFINED |
responseMessage | USER_RESET_MFA_FAILED_EXISTING_USER_NOT_FOUND |
responseMessage | USER_RESET_MFA_FAILED_INVALID_DATA |
responseMessage | AGENT_READ_FAILED_NO_MATCH |
responseMessage | NXLOG_AGENT_CONFIG_UPDATE_FAILED_PROPERTIES_REQUIRED |
responseMessage | NXLOG_AGENT_CONFIG_UPDATE_FAILED_NO_HEARTBEAT_FOUND |
responseMessage | CONCERN_META_BAD_INTERVAL |
responseMessage | CONCERN_META_INVALID_START_DATE |
responseMessage | CONCERN_ID_INVALID |
responseMessage | NETWORK_TREND_BAD_INTERVAL |
responseMessage | SITE_ID_INVALID |
responseMessage | SITE_ID_MISSING |
responseMessage | SITE_ID_UNKNOWN |
responseMessage | PAGE_SIZE_INVALID |
responseMessage | PAGE_OFFSET_INVALID |
responseMessage | PAGE_SORT_INVALID |
responseMessage | END_TIME_INVALID |
responseMessage | TIME_INVALID |
responseMessage | ACTOR_TYPE_INVALID |
responseMessage | VIEW_TYPE_INVALID |
responseMessage | INVALID_ENTITY_TYPE |
responseMessage | INVALID_ENTITY_SUB_TYPE |
responseMessage | INVALID_ENTITY_ID |
responseMessage | INVALID_ACTIVITY_TYPE |
responseMessage | BATCH_UNABLE_TO_DESERIALIZE_ERROR |
responseMessage | BATCH_REQUEST_DESERIALIZE_ERROR |
responseMessage | TREND_OVERTIME_FAILED_GENERIC |
responseMessage | WMS_ACKNOWLEDGED |
responseMessage | WMS_JOB_SUBMIT_FAILURE |
responseMessage | USER_EVENT_DATE_RANGE_INVALID |
responseMessage | USER_EVENT_MATCH_TYPE_INVALID |
responseMessage | REMEDIATION_IDENTITY_DETAILS_UPDATE_FAILED |
responseMessage | REMEDIATION_IDENTITY_DETAILS_INVALID |
responseMessage | USER_REMEDIATION_FAILED |
responseMessage | REMEDIATION_CAPABLE_FEATURE_NOT_ENABLED |
responseMessage | USER_NOT_FOUND |
responseMessage | USER_REMEDIATION_FAILED_WITH_EXCEPTION |
responseMessage | AD_USER_NOT_FOUND |
responseMessage | USER_TYPE_NOT_FOUND |
responseMessage | REPORT_NOT_FOUND |
responseMessage | CLOUD_KEY_NOT_FOUND |
responseMessage | USER_EXCLUSION_FILE_WRITE_FAILED |
responseMessage | USER_EXCLUSION_DETAILS_FETCH_FAILED |
responseMessage | SMART_ALERT_NOT_FOUND |
responseMessage | SMART_ALERT_UPDATE_FAILED_NOT_FOUND |
responseMessage | SMART_ALERT_READ_FAILED_NOT_FOUND |
responseMessage | SMART_ALERT_UPDATE_FAILED_REQUEST_BODY_UNDEFINED |
responseMessage | SMART_ALERT_CLOSE_FAILED_ALREADY_CLOSED |
responseMessage | SMART_ALERT_UPDATE_STATUS_UNDEFINED |
responseMessage | SMART_ALERT_UPDATE_FAILED_ALREADY_CONFIRMED |
responseMessage | SMART_ALERT_UPDATE_FAILED_INVALID_CONFIRM_OF_REJECTED |
responseMessage | SMART_ALERT_UPDATE_FAILED_ALREADY_REJECTED |
responseMessage | SMART_ALERT_UPDATE_FAILED_ALREADY_REREVIEWED |
responseMessage | SMART_ALERT_UPDATE_FAILED_CLOSURE_REASON_UNDEFINED |
responseMessage | SMART_ALERT_UPDATE_FAILED_UNAUTHORIZED_ABNORMAL_REASON_UNDEFINED |
responseMessage | SMART_ALERT_UPDATE_FAILED_AUTHORIZED_ABNORMAL_REASON_UNDEFINED |
responseMessage | SMART_ALERT_UPDATE_FAILED_AUTHORIZED_ALLOW_FUTURE_FLAG_UNDEFINED |
responseMessage | SMART_ALERT_UPDATE_FAILED_INVALID_INCORRECT_INTERPRETATION_REASON |
responseMessage | CONFIG_REPORT_SCHEDULE_MISSING_NAME |
responseMessage | CONFIG_REPORT_SCHEDULE_MISSING_REPORT_TYPE |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_REPORT_TYPE |
responseMessage | CONFIG_REPORT_SCHEDULE_MISSING_START_DATE |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_START_DATE |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_REPORT_DURATION |
responseMessage | CONFIG_REPORT_SCHEDULE_MISSING_RECIPIENT |
responseMessage | CONFIG_REPORT_SCHEDULE_MISSING_RECIPIENT_TO |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_RECIPIENT_TO_EMAIL |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_RECIPIENT_CC_EMAIL |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_RECIPIENT_BCC_EMAIL |
responseMessage | CONFIG_REPORT_SCHEDULE_DUPLICATE_EMAILS |
responseMessage | CONFIG_REPORT_SCHEDULE_RECURRENCE_UNDEFINED |
responseMessage | CONFIG_REPORT_SCHEDULE_FREQUENCY_UNDEFINED |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_REPEAT_BY |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_DAY_OF_MONTH |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_DAY_OF_WEEK |
responseMessage | CONFIG_REPORT_SCHEDULE_END_BY_DEFINED |
responseMessage | CONFIG_REPORT_SCHEDULE_END_BY_MODE_DEFINED |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_END_BY_DATE |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_OCCURRENCE_COUNT |
responseMessage | CONFIG_REPORT_SCHEDULE_UPDATE_FAILED_ID_NOT_FOUND |
responseMessage | CONFIG_REPORT_SCHEDULE_INVALID_END_BY |
responseMessage | CONFIG_REPORT_SCHEDULE_READ_FAILED_ID_NOT_FOUND |
responseMessage | CONFIG_REPORT_SCHEDULE_DELETE_FAILED_ID_NOT_FOUND |
responseMessage | CONFIG_REPORT_SCHEDULE_UPDATE_FAILED |
responseMessage | CONFIG_REPORT_SCHEDULE_NAME_EXISTS |
ApiResponseDocument
{
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
errors | [ApiError] | false | none | none |
statusMessage | string | false | none | none |
Document
{
"get_id": "string",
"get_index": "string",
"get_type": "string",
"get_version": 0,
"get_score": 0,
"get_source": {
"property1": {},
"property2": {}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
get_id | string | false | none | none |
get_index | string | false | none | none |
get_type | string | false | none | none |
get_version | integer(int64) | false | none | none |
get_score | number(float) | false | none | none |
get_source | object | false | none | none |
» additionalProperties | object | false | none | none |
CloseSmartAlertRequest
{
"includeSimilar": true,
"reasonForClose": "ABNORMAL_UNAUTHORIZED",
"reasonForAuthorizedAbnormal": "PENETRATION_TESTING",
"reasonForUnauthorizedAbnormal": "KNOWN_THREAT",
"allowInFuture": "AUTHORIZED",
"authorizedActivities": [
"AUTHORIZED_TIMES_FREQUENCIES"
],
"falsePositive": true,
"reasonForIncorrectInterpretation": [
"string"
],
"otherReasonForClose": "UI_NOT_INTERESTING",
"additionalInformation": "string",
"comment": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
includeSimilar | boolean | false | none | Flag to include the similar smart alerts |
reasonForClose | string | false | none | type of the reason |
reasonForAuthorizedAbnormal | string | false | none | type of unauthorized abnomal operation, This is required if reasonForClose is ABNORMAL_UNAUTHORIZED |
reasonForUnauthorizedAbnormal | string | false | none | type of unauthorized abnomal operation, This is required if reasonForClose is ABNORMAL_AUTHORIZED |
allowInFuture | string | false | none | This is required if reasonForClose is ABNORMAL_AUTHORIZED |
authorizedActivities | [string] | false | none | array of enum[AUTHORIZED_TIMES_FREQUENCIES, AUTHORIZED_ACTORS]. When we choose allowInFuture as true, we will provide these values. |
falsePositive | boolean | false | none | When the Cyglass interprets the activities, then this flag will used. |
reasonForIncorrectInterpretation | [string] | false | none | array of key features of the smartalert(Can be retrived from get-smart api(behaviorKeyFeatures field value)). When marking the SmartAlert falsePositive, we provide of the key indicators in this Smart Alert helped you to determine that this is not a threat |
otherReasonForClose | string | false | none | This is sub_type for the type OTHER-reasonForClose |
additionalInformation | string | false | none | Additional information about the threat |
comment | string | false | none | Comments (information regarding major actors, related ports, etc.) |
Enumerated Values
Property | Value |
---|---|
reasonForClose | ABNORMAL_UNAUTHORIZED |
reasonForClose | ABNORMAL_AUTHORIZED |
reasonForClose | NORMAL |
reasonForClose | OTHER |
reasonForAuthorizedAbnormal | PENETRATION_TESTING |
reasonForAuthorizedAbnormal | SCANNING_APPLICATION |
reasonForAuthorizedAbnormal | AD_HOC_TESTING |
reasonForAuthorizedAbnormal | OTHER |
reasonForUnauthorizedAbnormal | KNOWN_THREAT |
reasonForUnauthorizedAbnormal | UNKNOWN_THREAT |
reasonForUnauthorizedAbnormal | MISCONFIG |
reasonForUnauthorizedAbnormal | OTHER |
allowInFuture | AUTHORIZED |
allowInFuture | AUTHORIZED_ONCE |
otherReasonForClose | UI_NOT_INTERESTING |
otherReasonForClose | UI_NOT_CLEAR |
otherReasonForClose | UI_NOT_HELPFUL |
otherReasonForClose | OTHER |
ApiResponseSmartAlertResponse
{
"data": [
{
"smartalert_id": "string",
"name": "string",
"site_id": 0,
"site_name": "string",
"summary": "string",
"major_actor_display_name": [
"string"
],
"starttime": 0,
"endtime": 0,
"confidence_level": 0,
"aoc_state": "string",
"property1": "string",
"property2": "string",
"property3": "string",
"behaviorKeyFeatures": [
"string"
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [SmartAlertResponse] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
meta | object | false | none | none |
» additionalProperties | object | false | none | none |
status | integer(int32) | false | none | none |
statusMessage | string | false | none | none |
SmartAlertResponse
{
"smartalert_id": "string",
"name": "string",
"site_id": 0,
"site_name": "string",
"summary": "string",
"major_actor_display_name": [
"string"
],
"starttime": 0,
"endtime": 0,
"confidence_level": 0,
"aoc_state": "string",
"property1": "string",
"property2": "string",
"property3": "string",
"behaviorKeyFeatures": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
smartalert_id | string | false | none | Cyglass given unique id for this smartalert |
name | string | false | none | Name of the smartalert |
site_id | integer(int64) | false | none | unique number idetifier for the site |
site_name | string | false | none | Name of the site |
summary | string | false | none | Summary about the smartalert |
major_actor_display_name | [string] | false | none | Array of major actors |
starttime | integer(int64) | false | none | state_time |
endtime | integer(int64) | false | none | end_time |
confidence_level | integer(int32) | false | none | confidence_level |
aoc_state | string | false | none | state of the smartalert |
property1 | string | false | none | The property1, property2 and property3 are depiction of behavior summary feture data of the Smartalert( which are dynamic). You will have actual fields data coming on live. Example INT_INT_HORIZONTAL_PORT_SCAN_NG.DESCRIPTION_INT_INT_HORIZONTAL_PORT_SCAN_NO_SUCCESS_FAILED_PERIODICITY_HOUR.subnet_ip_count = 25 |
property2 | string | false | none | The property1, property2 and property3 are depiction of behavior summary feture data of the Smartalert( which are dynamic). You will have actual fields data coming on live. Example INT_INT_HORIZONTAL_PORT_SCAN_NG.MAJOR_ASSETS_SCANNED_NONE_HIGH.number_of_assets = 82 |
property3 | string | false | none | The property1, property2 and property3 are depiction of behavior summary feture data of the Smartalert( which are dynamic). You will have actual fields data coming on live. Example INT_INT_HORIZONTAL_PORT_SCAN_NG.DESCRIPTION_INT_INT_HORIZONTAL_PORT_SCAN_NO_SUCCESS_FAILED_PERIODICITY_HOUR.protocol_name = TCP |
behaviorKeyFeatures | [string] | false | none | List of key features of the SmartAlert. These key feature names will be used in the close-smartalert API for the field reasonForIncorrectInterpretation. |
AssetRequest
{
"name": "string",
"description": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"device_type": "Server",
"tags": [
"string"
],
"importance": 1
}
AssetRequest
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | true | none | none |
description | string | false | none | none |
addresses | [AssetAddress] | true | none | Though there are various address types, but allowed address type during asset create and asset edit is IP_V4. If the asset create/edit request contains address type other than IP_V4, such requests will be denied. |
roles | [RoleType] | false | none | [for use with Assets] |
device_type | DeviceType | true | none | device type of the Asset |
tags | [string] | false | none | none |
importance | Importance | true | none | Importance of the Asset. Allowed Values are 1, 2, 3, 4, 5. 1 (Very Low), 2 (Low), 3 (Medium), 4 (High), 5 (Very High) |
AddressType
"IP_V4"
AddressType
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AddressType | string | false | none | for use with Assets |
Enumerated Values
Property | Value |
---|---|
AddressType | IP_V4 |
AddressType | IP_V6 |
AddressType | MAC |
AddressType | WINDOWS |
AddressType | DNS |
AddressType | AWS_AMI_ID |
AddressType | DOCKER_IMAGE_ID |
AddressType | ORGANIZATION |
AddressType | HOSTNAME |
AddressType | VPN_USERNAME |
AddressType | VPN_REMOTE_IP |
AddressType | OFFICE365_USERNAME |
AddressType | AD |
AssetInformationSources
"DHCP_LOG"
AssetInformationSources
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
AssetInformationSources | string | false | none | for use with Assets |
Enumerated Values
Property | Value |
---|---|
AssetInformationSources | DHCP_LOG |
AssetInformationSources | USER |
AssetInformationSources | VPN_LOG |
AssetInformationSources | SYSTEM |
Importance
1
Importance
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Importance | integer | false | none | Importance of the Asset. Allowed Values are 1, 2, 3, 4, 5. 1 (Very Low), 2 (Low), 3 (Medium), 4 (High), 5 (Very High) |
Enumerated Values
Property | Value |
---|---|
Importance | 1 |
Importance | 2 |
Importance | 3 |
Importance | 4 |
Importance | 5 |
RoleType
"Active Directory Server"
RoleType
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
RoleType | string | false | none | for use with Assets |
Enumerated Values
Property | Value |
---|---|
RoleType | Active Directory Server |
RoleType | DHCP Server |
RoleType | DNS Server |
RoleType | Exchange Server |
RoleType | Firewall |
RoleType | FTP Server |
RoleType | IMAP Mail Server |
RoleType | IMAP/SSL Mail Server |
RoleType | LDAP Server |
RoleType | LDAP/SSL Server |
RoleType | NFS Server |
RoleType | Oracle Database Server |
RoleType | POP3 Mail Server |
RoleType | POP3/SSL Mail Server |
RoleType | Proxy Server/Edge |
RoleType | Secure Web Server |
RoleType | Security Server |
RoleType | SMTP Mail Server |
RoleType | SMTP/SSL Mail Server |
RoleType | SQL Database Server |
RoleType | SSH Server |
RoleType | Web Server |
RoleType | Telnet server |
RoleType | Backup Server |
RoleType | WSUS Server |
RoleType | File Server |
RoleType | Remote Desktop Services |
RoleType | Domain Controller |
RoleType | SCVMM |
DeviceType
"Server"
DeviceType
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
DeviceType | string | false | none | device type of the Asset |
Enumerated Values
Property | Value |
---|---|
DeviceType | Server |
DeviceType | Printer |
DeviceType | Computer |
DeviceType | Router |
DeviceType | Network |
DeviceType | Database Server |
DeviceType | Email Gateway |
DeviceType | Firewall |
DeviceType | Domain Controller |
DeviceType | Vpn Server |
DeviceType | Proxy Server |
DeviceType | Application Server |
DeviceType | Cluster |
DeviceType | Cluster SAN Fabric |
DeviceType | Access Point |
DeviceType | Switch |
DeviceType | Storage Device |
DeviceType | Network Switch |
DeviceType | Network Attached Storage |
DeviceType | Wireless Access Point |
DeviceType | Gateway |
DeviceType | End User Computing |
AssetAddress
{
"type": "IP_V4",
"value": "string"
}
AssetAddress
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | AddressType | false | none | for use with Assets |
value | string | false | none | none |
RecentLoginActivity
{
"userId": "string",
"userObjectId": "string",
"lastLoginTime": null
}
RecentLoginActivity
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
userId | string | false | none | user_id value of the user who last logged-in to this asset |
userObjectId | string | false | none | unique id of the user who last logged-in to this asset |
lastLoginTime | long | false | none | UTC Time (in epochmilliseconds) when the user last logged-in to this asset |
AssetResponse
{
"name": "string",
"description": "string",
"id": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"threat_score": 0,
"is_active": true,
"device_type": "Server",
"tags": [
"string"
],
"importance": 1,
"asset_information_sources": [
"DHCP_LOG"
],
"first_seen": 0,
"last_seen": 0,
"smartalert_count": 0,
"operating_system": "string",
"recentLoginActivity": {
"userId": "string",
"userObjectId": "string",
"lastLoginTime": null
}
}
AssetResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | none |
description | string | false | none | none |
id | string | false | none | none |
addresses | [AssetAddress] | false | none | none |
roles | [RoleType] | false | none | [for use with Assets] |
threat_score | integer | false | none | none |
is_active | boolean | false | none | none |
device_type | DeviceType | false | none | device type of the Asset |
tags | [string] | false | none | none |
importance | Importance | false | none | Importance of the Asset. Allowed Values are 1, 2, 3, 4, 5. 1 (Very Low), 2 (Low), 3 (Medium), 4 (High), 5 (Very High) |
asset_information_sources | [AssetInformationSources] | false | none | [for use with Assets] |
first_seen | integer | false | none | none |
last_seen | integer | false | none | none |
smartalert_count | integer | false | none | Smart Alert Count |
operating_system | string | false | none | Operating System information |
recentLoginActivity | RecentLoginActivity | false | none | Last login details |
AssetApiResponse
{
"data": [
{
"name": "string",
"description": "string",
"id": "string",
"addresses": [
{
"type": "IP_V4",
"value": "string"
}
],
"roles": [
"Active Directory Server"
],
"threat_score": 0,
"is_active": true,
"device_type": "Server",
"tags": [
"string"
],
"importance": 1,
"asset_information_sources": [
"DHCP_LOG"
],
"first_seen": 0,
"last_seen": 0,
"smartalert_count": 0,
"operating_system": "string",
"recentLoginActivity": {
"userId": "string",
"userObjectId": "string",
"lastLoginTime": null
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"status": 0,
"meta": {},
"nextPageUri": "string",
"previousPageUri": "string"
}
AssetApiResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [AssetResponse] | false | none | [Data object for specifying assets] |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
status | integer | false | none | none |
meta | object | false | none | none |
nextPageUri | string | false | none | none |
previousPageUri | string | false | none | none |
EndBy
{
"mode": "NEVER",
"on_date": 0
}
Report generation stopping configuration.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
mode | string | false | none | Represents, event type by which report schedule should shoud stop generating the reports. |
on_date | integer(int64) | false | none | Date on which the report generation has to be shooped by scheduler. |
Enumerated Values
Property | Value |
---|---|
mode | NEVER |
mode | BY_DATE |
Recipient
{
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
to | [string] | false | none | list of email ids. |
cc | [string] | false | none | list of email ids. |
bcc | [string] | false | none | list of email ids. |
Recurrence
{
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
}
The reccurence configuration
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
frequency | string | false | none | Represents how frequently the report genration should happens. NEVER means, triggered only once. |
repeat_by | integer(int32) | false | none | Represents number of units(Choosen at frequency) of time to keep between two consecutive report generations. |
day_of_month | integer(int32) | false | none | Required, if the frequency is MONTHLY. Represents, the date of the month when report generation has to occur. |
day_of_week | string | false | none | Required, if the frequency is WEEKLY. Represents, the day of the week when report generation has to occur. |
end_by | EndBy | false | none | Report generation stopping configuration. |
Enumerated Values
Property | Value |
---|---|
frequency | DAILY |
frequency | WEEKLY |
frequency | MONTHLY |
frequency | NEVER |
day_of_week | SUNDAY |
day_of_week | MONDAY |
day_of_week | TUESDAY |
day_of_week | WEDNESDAY |
day_of_week | THURSDAY |
day_of_week | FRIDAY |
day_of_week | SATURDAY |
ReportScheduleRequest
{
"name": "string",
"report_type_id": "string",
"status": "ACTIVE",
"start_date": 0,
"report_duration_in_days": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | Unique name of the report schedule |
report_type_id | string | false | none | Unique identifier of the report type, can be obtained from the get report types API. |
status | string | false | none | status of the report schedule. |
start_date | integer(int64) | false | none | date, from when report scheduler start generating the reports. |
report_duration_in_days | integer(int32) | false | none | Number of days for which data will be used for generating the report. |
recurrence | Recurrence | false | none | The reccurence configuration |
recipient | Recipient | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | ACTIVE |
status | DISABLED |
status | EXPIRED |
ApiResponseReportScheduleResponse
{
"data": [
{
"id": "string",
"name": "string",
"report_type_id": "string",
"report_type_name": "string",
"status": "ACTIVE",
"report_duration_in_days": 0,
"start_date": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"status": 0,
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [ReportScheduleResponse] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
status | integer(int32) | false | none | none |
statusMessage | string | false | none | none |
ReportScheduleResponse
{
"id": "string",
"name": "string",
"report_type_id": "string",
"report_type_name": "string",
"status": "ACTIVE",
"report_duration_in_days": 0,
"start_date": 0,
"recurrence": {
"frequency": "DAILY",
"repeat_by": 0,
"day_of_month": 0,
"day_of_week": "SUNDAY",
"end_by": {
"mode": "NEVER",
"on_date": 0
}
},
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Unique identifier of the reportschedule |
name | string | false | none | Unique name of the report schedule |
report_type_id | string | false | none | Unique identifier of the report type, can be obtained from the get report types API. |
report_type_name | string | false | none | Name of the report type |
status | string | false | none | status of the report schedule. |
report_duration_in_days | integer(int32) | false | none | Number of days for which data will be used for generating the report. |
start_date | integer(int64) | false | none | date, from when report scheduler start generating the reports. |
recurrence | Recurrence | false | none | The reccurence configuration |
recipient | Recipient | false | none | none |
Enumerated Values
Property | Value |
---|---|
status | ACTIVE |
status | DISABLED |
status | EXPIRED |
ApiResponseVoid
{
"data": [
{}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [object] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
meta | object | false | none | none |
» additionalProperties | object | false | none | none |
status | integer(int32) | false | none | none |
statusMessage | string | false | none | none |
ApiResponseReportType
{
"data": [
{
"id": "string",
"name": "string",
"report_name": "string",
"report_description": "string"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [ReportType] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
meta | object | false | none | none |
» additionalProperties | object | false | none | none |
status | integer(int32) | false | none | none |
statusMessage | string | false | none | none |
ReportType
{
"id": "string",
"name": "string",
"report_name": "string",
"report_description": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Unique identifier of the report type. This would needed while creating the reportschedule to choose the report type. |
name | string | false | none | Name of the report type |
report_name | string | false | none | Full name of the report type |
report_description | string | false | none | Description about the report type. |
ActivityFilterDescriptor
{
"type": "VOLUME"
}
This is the base type for all the ActivityFilterDescriptor filter types. All the fields in this type will be part of the derived type(AnomalyTypeActivityFilterDescriptor, ConversationActivityFilterDescriptor, DynamicFilterActivityDescriptor, PortActivityFilterDescriptor, VolumeActivityFilterDescriptor)
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | VOLUME |
type | PORT |
type | CONVERSATION |
type | ANOMALY_TYPE |
type | DYNAMIC |
AnomalyTypeActivityFilterDescriptor
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
Properties
allOf - discriminator: ActivityFilterDescriptor.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ActivityFilterDescriptor | false | none | This is the base type for all the ActivityFilterDescriptor filter types. All the fields in this type will be part of the derived type(AnomalyTypeActivityFilterDescriptor, ConversationActivityFilterDescriptor, DynamicFilterActivityDescriptor, PortActivityFilterDescriptor, VolumeActivityFilterDescriptor) |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | ANOMALY_TYPE | false | none | The type value for this will also be ANOMALY_TYPE |
» operation | enum | false | none | Operation label(INCLUDE, EXCLUDE, INCLUDE_ALL) |
» value | string | false | none | Value of the anomalyType. List of anomaly types of for ANOMOLOUS/SERVICE_EVENTS can be retrived using the API /v2/policy/filterValues/ by passing filter type as query param(anomaly-type) with name filter_type. The path variable whatTriggerType refers the selected trigger type (ANOMOLOUS or SERVICE_EVENTS). For example to get the filter value of 'anomaly-type' for the 'ANOMOLOUS' what trigger, URL needs to build like /v2/policy/filterValues/ANOMOLOUS?filter_type=anomaly-type or alternatively, to fetch all the values for all the filters related to what trigger types can be retrived using the list API '/v2/policy/filterValues' |
Enumerated Values
Property | Value |
---|---|
operation | INCLUDE |
operation | EXCLUDE |
operation | INCLUDE_ALL |
AttackReferences
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
source_framework | string | false | none | Framework name used for comparing/mapping. |
technique_ids | [string] | false | none | Identifiers of the techniques in the framework. |
ConversationActivityFilterDescriptor
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
Properties
allOf - discriminator: ActivityFilterDescriptor.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ActivityFilterDescriptor | false | none | This is the base type for all the ActivityFilterDescriptor filter types. All the fields in this type will be part of the derived type(AnomalyTypeActivityFilterDescriptor, ConversationActivityFilterDescriptor, DynamicFilterActivityDescriptor, PortActivityFilterDescriptor, VolumeActivityFilterDescriptor) |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | CONVERSATION | false | none | The type value for this will also be CONVERSATION |
» operation | enum | false | none | Operation label(INCLUDE, EXCLUDE, INCLUDE_ALL) |
» value | string | false | none | The conversion types. The allowed conversion type are (ICMP_NORMAL, ICMP_SCAN, ICMP_UNKNOWN, TCP_NORMAL, TCP_MALFORMED, TCP_SCAN, UDP_ONEWAY, UDP_TWOWAY) |
Enumerated Values
Property | Value |
---|---|
operation | INCLUDE |
operation | EXCLUDE |
operation | INCLUDE_ALL |
DynamicFilterActivityDescriptor
{
"type": null,
"operation": "INCLUDE",
"field": "string",
"value": "string"
}
Properties
allOf - discriminator: ActivityFilterDescriptor.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ActivityFilterDescriptor | false | none | This is the base type for all the ActivityFilterDescriptor filter types. All the fields in this type will be part of the derived type(AnomalyTypeActivityFilterDescriptor, ConversationActivityFilterDescriptor, DynamicFilterActivityDescriptor, PortActivityFilterDescriptor, VolumeActivityFilterDescriptor) |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | DYNAMIC | false | none | The type value for this will also be DYNAMIC |
» operation | string | false | none | Varies from one field type to other. The operation value for saas-category is 'IS', and for all other the following 3 values are allowed namely (INCLUDE, EXCLUDE and INCLUDE_ALL). For the 'new-user-agent' along with 3, 'CONTAINS' also allowed. |
» field | string | false | none | name of the field. Allowed field names for the ML_EVENTS type are anomaly-type, destination-user, endpoint-ip, endpoint-locality, endpoint-country, target-file, new-user-agent, saas-category, file-feature. Allowed field names for the AD_DOMAIN_EVENTS type anomaly-type. |
» value | string | false | none | Value of the field, The values for the different filter types(anomaly-type,saas_category or file-feature) can be retrived using the API /v2/policy/filterValues/ by passing the filter type as query param with name filter_type. For example to get the filter value of 'anomaly-type' for the 'ANOMOLOUS' what trigger, URL needs to build like /v2/policy/filterValues/ANOMOLOUS?filter_type=anomaly-type or alternatively, to fetch all the values for all the filters related to what trigger types can be retrived using the list API '/v2/policy/filterValues' |
Enumerated Values
Property | Value |
---|---|
operation | INCLUDE |
operation | INCLUDE_ALL |
operation | EXCLUDE |
operation | CONTAINS |
operation | IS |
PolicyRequest
{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"match": "ANY",
"alertSeverity": 0,
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Unique identifier for the policy |
name | string | true | none | Name of the policy |
description | string | true | none | Description about the policy |
enabled | boolean | true | none | Status of the policy (enabled/disabled) |
where | WhereDescriptorRequest | true | none | Entity details involved in the traffic |
what | [WhatDescriptorRequest] | true | none | Activity trigger details |
content | string | false | none | Placeholder to hold the content field data for PRE_BUILT policies |
category | [string] | true | none | Tags, by which grouping will be done |
descriptorState | enum | false | none | Describes the way, how policy is landed(DERIVED,CUSTOM). It will be CUSTOM for all the user created policies. |
importance | integer(int32) | false | none | Importance of the policy |
attack_references | [AttackReferences] | false | none | Relatable Mitre attack ids to this policy |
remediationSettings | RemediationSettings | false | none | Remediation Settings |
Enumerated Values
Property | Value |
---|---|
descriptorState | PRE_BUILT |
descriptorState | CUSTOM |
descriptorState | DERIVED |
PortActivityFilterDescriptor
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
Properties
allOf - discriminator: ActivityFilterDescriptor.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ActivityFilterDescriptor | false | none | This is the base type for all the ActivityFilterDescriptor filter types. All the fields in this type will be part of the derived type(AnomalyTypeActivityFilterDescriptor, ConversationActivityFilterDescriptor, DynamicFilterActivityDescriptor, PortActivityFilterDescriptor, VolumeActivityFilterDescriptor) |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | PORT | false | none | The type value for this will also be PORT |
» operation | enum | false | none | Operation label(INCLUDE, EXCLUDE, INCLUDE_ALL) |
» value | string | false | none | Port number. Allowed range of numbers 0-65535 |
Enumerated Values
Property | Value |
---|---|
operation | INCLUDE |
operation | EXCLUDE |
operation | INCLUDE_ALL |
RemediationSettings
{
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
block_source_zone_actor | boolean | false | none | Flag to block the involved source ips on policy violation |
block_destination_zone_actor | boolean | false | none | Flag to block the involved destination ips on policy violation |
VolumeActivityFilterDescriptor
{
"type": null,
"operation": "GTE",
"value": 0
}
Properties
allOf - discriminator: ActivityFilterDescriptor.type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | ActivityFilterDescriptor | false | none | This is the base type for all the ActivityFilterDescriptor filter types. All the fields in this type will be part of the derived type(AnomalyTypeActivityFilterDescriptor, ConversationActivityFilterDescriptor, DynamicFilterActivityDescriptor, PortActivityFilterDescriptor, VolumeActivityFilterDescriptor) |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
» type | VOLUME | false | none | none |
» operation | string | false | none | Operation Label |
» value | integer(int) | false | none | Volume in bytes.Allowed range of numbers 1-999999999999999 |
Enumerated Values
Property | Value |
---|---|
operation | GTE |
operation | LTE |
WhatDescriptorRequest
{
"type": "ANY",
"match": "ANY",
"alertSeverity": 0,
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | string | false | none | Activity Type |
match | string | false | none | Match type, allowed values either ALL or ANY |
alertSeverity | integer(1-10) | false | none | Control the threat detection threshold for triggering this policy. Set this value higher to receive fewer alerts. Min value is 1 and max value is 10. |
filters | [oneOf] | false | none | Filter configurations in the selected activity trigger. It is one of the below Type |
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | AnomalyTypeActivityFilterDescriptor | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | ConversationActivityFilterDescriptor | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | DynamicFilterActivityDescriptor | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | PortActivityFilterDescriptor | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | VolumeActivityFilterDescriptor | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | ANY |
type | ANOMOLOUS |
type | SERVICE_EVENTS |
type | ML_EVENTS |
type | AD_DOMAIN_EVENTS |
match | ANY |
match | ALL |
WhereDescriptorRequest
{
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "range",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
fromZoneId | string | false | none | From Zone Id |
toZoneId | string | false | none | To Zone Id |
implicitFromZone | ZoneRequest | false | none | Custom zone confuguration , if no existing zone fits the source |
implicitToZone | ZoneRequest | false | none | Custom zone confuguration , if no existing zone fits the destination |
direction | string | false | none | Traffic direction |
singleActor | boolean | false | none | Falg to indicate if the policy is Single actor policy or not. For the single actor policies only one actor(one zone) involved in the policy. |
Enumerated Values
Property | Value |
---|---|
direction | TO |
direction | BETWEEN |
ApiResponsePolicyResponse
{
"data": [
{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"alertSeverity": 0,
"match": "ANY",
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"lastModified": 0,
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [PolicyResponse] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
meta | object | false | none | none |
» additionalProperties | object | false | none | none |
status | integer(int32) | false | none | none |
statusMessage | string | false | none | none |
PolicyResponse
{
"id": "string",
"name": "string",
"description": "string",
"enabled": true,
"where": {
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
},
"what": [
{
"type": "ANY",
"alertSeverity": 0,
"match": "ANY",
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
],
"content": "string",
"category": [
"string"
],
"descriptorState": "PRE_BUILT",
"lastModified": 0,
"importance": 0,
"attack_references": [
{
"source_framework": "string",
"technique_ids": [
"string"
]
}
],
"remediationSettings": {
"block_source_zone_actor": true,
"block_destination_zone_actor": true
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
name | string | false | none | none |
description | string | false | none | none |
enabled | boolean | false | none | none |
where | WhereDescriptorResponse | false | none | none |
what | [WhatDescriptor] | false | none | none |
content | string | false | none | none |
category | [string] | false | none | none |
descriptorState | string | false | none | none |
lastModified | integer(int64) | false | none | none |
importance | integer(int32) | false | none | none |
attack_references | [AttackReferences] | false | none | none |
remediationSettings | RemediationSettings | false | none | none |
Enumerated Values
Property | Value |
---|---|
descriptorState | PRE_BUILT |
descriptorState | CUSTOM |
descriptorState | DERIVED |
WhatDescriptor
{
"type": "ANY",
"alertSeverity": 0,
"match": "ANY",
"filters": [
{
"type": null,
"operation": "INCLUDE",
"value": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | string | false | none | none |
alertSeverity | integer(1-10) | false | none | none |
match | enum | false | none | none |
filters | [oneOf] | false | none | none |
oneOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | AnomalyTypeActivityFilterDescriptor | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | ConversationActivityFilterDescriptor | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | DynamicFilterActivityDescriptor | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | PortActivityFilterDescriptor | false | none | none |
xor
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» anonymous | VolumeActivityFilterDescriptor | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | ANY |
type | ANOMOLOUS |
type | SERVICE_EVENTS |
type | USER_EVENTS |
type | THREAT |
type | ML_EVENTS |
type | AD_DOMAIN_EVENTS |
match | ANY |
match | ALL |
WhereDescriptorResponse
{
"fromZoneId": "string",
"toZoneId": "string",
"implicitFromZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"implicitToZone": {
"id": "string",
"name": "string",
"description": "string",
"context": "Internal",
"viewAlertType": "ASSET",
"filters": [
{
"actor_type": "IP",
"actor_field": "string",
"operation": "INCLUDE",
"values": [
{
"id": "string",
"name": "string"
}
]
}
]
},
"direction": "TO",
"singleActor": true
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
fromZoneId | string | false | none | none |
toZoneId | string | false | none | none |
implicitFromZone | ZoneResponse | false | none | none |
implicitToZone | ZoneResponse | false | none | none |
direction | string | false | none | none |
singleActor | boolean | false | none | none |
Enumerated Values
Property | Value |
---|---|
direction | TO |
direction | FROM |
direction | BETWEEN |
ApiResponsePolicyTag
{
"data": [
{
"tag": "string"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [PolicyTag] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
meta | object | false | none | none |
» additionalProperties | object | false | none | none |
status | integer(int32) | false | none | none |
statusMessage | string | false | none | none |
PolicyTag
{
"tag": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
tag | string | false | none | none |
ApiResponseFilterValues
{
"data": [
{
"whatTriggerType": "string",
"filterType": "string",
"filterValues": [
"string"
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [FilterValues] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
meta | object | false | none | none |
» additionalProperties | object | false | none | none |
status | integer(int32) | false | none | none |
statusMessage | string | false | none | none |
FilterValues
{
"whatTriggerType": "string",
"filterType": "string",
"filterValues": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
whatTriggerType | string | false | none | none |
filterType | string | false | none | none |
filterValues | [string] | false | none | none |
ApiResponse
{
"data": [
{}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"status": 0,
"meta": {}
}
ApiResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [object] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
status | integer | true | none | none |
meta | object | false | none | none |
EMailSettings
{
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | none |
recipient | Recipient | false | none | none |
NotificationEvent
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
component | enum | false | none | Name of the component |
sub_system | string | false | none | Subsystem the Subsystem of the component. The possible values can be obtained from the API /v2/notification/componentStates/{component}. |
event_type | enum | false | none | Event type, supported value is 'TRANSITION' |
to_state | string | false | none | Represents the state of the component. The possible values can be obtained from the API /v2/notification/componentStates/{component}. |
suppress_duration | integer(int) | false | none | Refers the time between successive failure event notifications. Applicable only "REMOTE_COLLECTOR","NATIVE_NETFLOW_COLLECTOR","NXLOG_AGENT", "SAAS_COLLECTOR", "REMEDIATION" |
lookback_duration | integer(int) | false | none | Refers the time between successive failure event notifications. How long the Application to consider to know the state of the component. |
Enumerated Values
Property | Value |
---|---|
component | REMOTE_COLLECTOR |
component | NATIVE_NETFLOW_COLLECTOR |
component | NXLOG_AGENT |
component | SAAS_COLLECTOR |
component | POLICY_EVALUATION |
component | SMART_ALERT |
component | REMEDIATION |
event_type | TRANSITION |
NotificationOptions
{
"content_type": "text/html"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
content_type | enum | false | none | Refers the content type of the Notification. Allowed content types for email notification are "text/html" and "text/json". Allowed type for Syslog is "CEF" |
Enumerated Values
Property | Value |
---|---|
content_type | text/html |
content_type | text/json |
content_type | cef |
NotificationRequest
{
"type": "EMAIL",
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | enum | false | none | type of the notification. EMAIL/SYSLOG |
EMailSettings | false | none | email details to be provided, if the type email. | |
syslog | SyslogSettings | false | none | syslog details to be provided, if the type syslog. |
name | string | false | none | Name of the notification |
events | [NotificationEvent] | false | none | List of events for which notification has to be triggered. |
admin_only | boolean | false | none | flag to be set for the admin notifications. Users with super:admin permission can create the admin notifications. Default value is false. |
options | NotificationOptions | false | none | notification option/content type details |
Enumerated Values
Property | Value |
---|---|
type | |
type | SYSLOG |
SyslogRecipient
{
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
server | string | false | none | syslog server ip |
port | integer(int) | false | none | syslog server port |
protocol | string | false | none | syslog server protocol |
collectorId | string | false | none | Name of the collector throgugh which logs are channeled. The Names of the collecotors cane obtained from the API "/v2/collector" |
Enumerated Values
Property | Value |
---|---|
protocol | TCP |
protocol | UDP |
SyslogSettings
{
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | none |
recipient | SyslogRecipient | false | none | none |
ApiResponseNotificationResponse
{
"data": [
{
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
},
"type": "EMAIL"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [NotificationResponse] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
meta | object | false | none | none |
» additionalProperties | object | false | none | none |
status | integer(int32) | false | none | none |
statusMessage | string | false | none | none |
NotificationResponse
{
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
},
"type": "EMAIL"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
EMailSettings | false | none | none | |
syslog | SyslogSettings | false | none | none |
name | string | false | none | none |
events | [NotificationEvent] | false | none | none |
admin_only | boolean | false | none | none |
options | NotificationOptions | false | none | none |
type | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | |
type | SYSLOG |
NotificationApiResponse
{
"data": [
{
"email": {
"name": "string",
"recipient": {
"to": [
"string"
],
"cc": [
"string"
],
"bcc": [
"string"
]
}
},
"syslog": {
"name": "string",
"recipient": {
"server": "string",
"port": 0,
"protocol": "TCP",
"collectorId": "string"
}
},
"name": "string",
"events": [
{
"component": "REMOTE_COLLECTOR",
"sub_system": "string",
"event_type": "TRANSITION",
"to_state": "string",
"suppress_duration": 0,
"lookback_duration": 0
}
],
"admin_only": true,
"options": {
"content_type": "text/html"
},
"type": "EMAIL"
}
],
"meta": {
"property1": {},
"property2": {}
},
"nextPageUri": "string",
"previousPageUri": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [NotificationResponse] | false | none | Notifications list |
meta | object | false | none | none |
» additionalProperties | object | false | none | none |
nextPageUri | string | false | none | none |
previousPageUri | string | false | none | none |
ApiResponseObject
{
"data": [
{}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [object] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
meta | object | false | none | none |
» additionalProperties | object | false | none | none |
status | integer(int32) | false | none | none |
statusMessage | string | false | none | none |
ApiResponseEventSubSystem
{
"data": [
{
"sub_system": "string",
"states": [
{
"to_state": "string"
}
]
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [EventSubSystem] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
meta | object | false | none | none |
» additionalProperties | object | false | none | none |
status | integer(int32) | false | none | none |
statusMessage | string | false | none | none |
EventState
{
"to_state": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
to_state | string | false | none | none |
EventSubSystem
{
"sub_system": "string",
"states": [
{
"to_state": "string"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
sub_system | string | false | none | none |
states | [EventState] | false | none | none |
ApiResponseCollectorResponse
{
"data": [
{
"name": "string"
}
],
"errors": [
{
"messageKey": "string",
"messageText": "string",
"params": {
"property1": {},
"property2": {}
},
"responseMessage": "NO_PARTNER_CUSTOMERS_FOUND"
}
],
"requestId": "string",
"meta": {
"property1": {},
"property2": {}
},
"status": 0,
"statusMessage": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | [CollectorResponse] | false | none | none |
errors | [ApiError] | false | none | none |
requestId | string | false | none | none |
meta | object | false | none | none |
» additionalProperties | object | false | none | none |
status | integer(int32) | false | none | none |
statusMessage | string | false | none | none |
CollectorResponse
{
"name": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | none |