NAV Navigation
Shell HTTP JavaScript Node.js Ruby Python Java Go PHP

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

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
email 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 EMAIL
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
email 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 EMAIL
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