Riverbed Cascade Profiler REST API.
Created Dec 10, 2019 at 03:54 PM

Overview

Overview

The documentation pages in this section describe the RESTful APIs included with Cascade Profiler and Cascade Express products. It is assumed that the reader has practical knowledge of RESTful APIs, so the documentation does not go into detail about what REST is and how to use it. Instead the documentation focuses on what data can be accessed and how to access it.

The primary focus of the current version of the API is on providing access to reporting data. The following information can be accessed via the API:

  • Reporting data (traffic data, service data, event list data, and user data)
  • Information about network devices
  • Control over SDN virtual network settings (SDN virtual network settings are a licensed feature)
  • Information about system users

Details about REST resources can be found in the Resources section. This overview continues with how to run reports and retrieve data from them.

Running a report

The steps for running a report are described below. An easy way to learn how to run reports and get data is to use the Demo Reports section of this documentation. In that section a number of example reports are listed. If you click on any of the examples, the report will run along with a listing on the right side of the screen for each step in the process. It displays the REST resource, HTTP method, headers and body for both the request and response.

Follow these steps to run a report:

1. Create a new report by posting report criteria to the server.

A criteria structure in either JSON or XML is submitted to the server using the HTTP POST method. The resource to which the criteria structure is posted is called /profiler/1.0/reporting/reports. The details are described in the Resources section of this documentation.

A key part of the report criteria is the ID of the template that should be used to run the report. A special system template ID 184 that provides a high degree of flexibility is used in demo reports in this documentation. Additionally, any template that is saved via the user interface of the product can be used to run a report. In order to save a template, the ID of that template must be passed in the report criteria structure instead of 184. A template can be configured via the user interface, saved via the product and then used in the REST API to generate reports and retrieve them in a rendered form or in raw data form. Once a template is saved, its ID can be obtained via the /api/profiler/1.0/reporting/templates REST resource.

2. Poll report status until the report completes.

It may take a while for a report to complete. While the report is running, the client must poll for report status to know when the report completes. When the call to create a new report succeeds, it returns the URL for the newly created report. That URL may look similar to /profiler/1.0/reporting/reports/1000, which is the ID of the new report.

The general way to describe this in REST documentation is /profiler/1.0/reporting/reports/{id} so this documentation uses that syntax throughout. Note that the client does not need to know that {id} is really an ID of a report. Instead the client should treat a given report, for example /profiler/1.0/reporting/reports/1000, as a REST resource without parsing the parts of the URL.

The status of a report can be obtained by executing a GET method on the report URL. The client should wait while the report is running and until the status turns to state.

3. Retrieve the report data.

Once the report completes, the client can retrieve its data or the rendered version of the report in a number of formats.

The following resources can be used to retrieve a rendered version of the report:

  • /profiler/1.0/reporting/reports/{id}/view.pdf
  • /profiler/1.0/reporting/reports/{id}/view.csv
These are for PDF and CSV versions respectively.

If the client is a script that needs access to raw data, the /profiler/1.0/reporting/reports/{id}/queries resource can be used with the GET method to obtain the list of elements (queries) first. The data shown in a typical report on the user interface may come from more than one query, which is why the report structure needs to be determined first. However, the system template 184 described above will have only one query and is easy to use for simple scripts.

Each query resource provides metadata about the query, such as the list of columns with descriptions of what the columns are.

Once the query is chosen, the /profiler/1.0/reporting/reports/{id}/queries/{id} resource can be used to get the report data.

The simple overview provided above cannot substitute for full documentation and it is not intended to do so. Please refer to Demo Reports section to see how reports are run. Look at the Coding Examples under General Information and explore Resources section of this documentation for more information.

Authentication

All REST requests must be authenticated. The Authentication section of the Common 1.0 API describes which authentication methods are presently supported. There are also examples that show how to use each of the different authentication methods.

/api/profiler/1.3 to /api/profiler/1.4 Changelog

Added the following new resources:

  • /api/profiler/1.4/user_define_policies
  • /api/profiler/1.4/load_balancers
  • /api/profiler/1.4/hns/ip2name
  • /api/profiler/1.4/recipients
  • /api/profiler/1.4/autonomous_systems
For more information please read the Resources documentation.

Added the following methods to existing resources:

  • DELETE /api/profiler/1.4/interfaces
  • GET /api/profiler/1.4/services/{service_id}/thumbnail.png
For more information please read the Resources documentation.

Reporting changes:

  • Added ability to run synchronous report: POST /api/profiler/1.4/reporting/reports/synchronous
  • Added 'limit' to query report (ability to get more than 10,000): POST /api/profiler/1.4/reports
  • Added 'sort_direction' to query report (ability to get bottom talkers): POST /api/profiler/1.4/reports
  • Added 'wan_group' to query report (ability to get WAN metrics): POST /api/profiler/1.4/reports
  • Added 'queries' array to query report (ability to get data for more than one query): POST /api/profiler/1.4/reports

Running a report: Sample PHP script

Run a report to get bytes and packets for the top 20 hosts using the application WEB. Use BASIC Authentication.

<?php

define('HOST', '127.0.0.1'); // IP address of Profiler
define('BASIC_AUTH', 'admin:admin');

// Timeframe
$end   = time() - 3*60; 
$start = $end   - 5*60;

// Lib functions

// HTTP POST
function do_POST($url, $string, &$info) {
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC ) ;
  curl_setopt($curl, CURLOPT_USERPWD, BASIC_AUTH);
  curl_setopt($curl, CURLOPT_SSLVERSION,3);
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
  curl_setopt($curl, CURLOPT_HEADER, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
  curl_setopt($curl, CURLOPT_POST,           1);
  curl_setopt($curl, CURLOPT_POSTFIELDS,     $string);
  $output = curl_exec($curl);
  $info   = curl_getinfo($curl);
  curl_close($curl);

  $headers = substr($output, 0, $info['header_size']);
  $headers = explode("\n", $headers);
  $info['headers'] = $headers;
  $body = substr($output, $info['header_size']);
  return $body;
}

// HTTP GET
function do_GET($url, &$info) {
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC ) ;
  curl_setopt($curl, CURLOPT_USERPWD, BASIC_AUTH);
  curl_setopt($curl, CURLOPT_SSLVERSION,3);
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
  curl_setopt($curl, CURLOPT_HEADER, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
  curl_setopt($curl, CURLOPT_HTTPGET, true);
  $output = curl_exec($curl);
  $info   = curl_getinfo($curl);
  curl_close($curl);

  $headers = substr($output, 0, $info['header_size']);
  $headers = explode("\n", $headers);
  $info['headers'] = $headers;
  $body = substr($output, $info['header_size']);
  return $body;
}

// Finds and returns HTTP header
function get_header($headers, $header) {
  foreach($headers as $h) {
    if (strpos($h, $header . ':') !== false)
      return trim(substr($h, 10));
  }
  echo "Unable to find {$header} header!\n";
  exit;
}

// Locates a column by id and returns the name
function find_column_name_by_id($columns, $id) {
  foreach ($columns as $c) {
    if ($c['id'] == $id)
      return $c['name'];
  }
  return 'Unknown';
}

// CSV helper
function echo_csv($headers, $rows) {
  echo implode(',', $headers) . "\n";
  foreach ($rows as $row)
    echo implode(',', $row) . "\n";
}

// End lib functions

$struct = 
  array('template_id' => 184,
        'criteria'    => Array('time_frame' => array('start' => $start,
                                                     'end'   => $end),
                               'traffic_expression' => 'app WEB',
                               'query' => array('realm'       => 'traffic_summary',
                                                'group_by'    => 'hos',
                                                'sort_column' => 33,
                                                'columns'     => array(6, 33, 34))));

$json    = json_encode($struct);
$columns = $struct['criteria']['query']['columns'];

// Post to run the report
$url = 'https://' . HOST . '/api/profiler/1.0/reporting/reports.json';
echo "Run report:\nPOST {$url}\n{$json}\n\n";
$info = array();
do_POST($url, $json, $info);
if ($info['http_code'] != 201) {
  echo "Unable to run report!\n";
  exit(1);
}
$location = get_header($info['headers'], 'Location');
echo "Generated: {$location}\n\n";
$status_url = 'https://' . HOST . '' . $location . '.json';

// Wait for it to complete
echo "Please wait\n";
while (true) {
  $info = array();
  $output = do_GET($status_url, $info);
  $s = json_decode($output, 1);
  print " Percent completed {$s['percent']}, seconds remaining {$s['remaining_seconds']}...\n";
  if ($s['status'] == 'completed') {
    echo "Completed\n\n";
    break;
  }
  sleep(1);
}

// Get all quesries (In this exampe it is only one)
$queries_url = 'https://' . HOST . '' . $location . '/queries.json';
$output = do_GET($queries_url, $info);
$queries = json_decode($output, 1);

// Print the data from all queries
foreach ($queries as $q) {
  $query_id = $q['id'];
  $data_url = 'https://' . HOST . '' . $location . '/queries/' . $query_id . '.json?offset=0&limit=20&columns=' . join(',', $columns);
  $info = array();
  $output = do_GET($data_url, $info);
  $data = json_decode($output, 1);

  $h = array();
  foreach ($columns as $c)
    $h[] = find_column_name_by_id($q['columns'], $c);

  echo_csv($h, $data['data']);
  echo "\n";
}

?>

Running a report: Sample Python script

Run a report to get bytes and packets for the top 20 hosts using the application WEB. Use BASIC Authentication.

from urlparse import urlparse
import base64
import logging
import httplib
import json
import time
import sys

HOST       = '127.0.0.1'
BASIC_AUTH = 'admin:admin'

end   = int(time.time() - 3*60)
start = int(end - 5*60);

# Lib functions

def do_POST(url, string):
    '''HTTP POST'''

    conn = httplib.HTTPSConnection(HOST, 443)

    headers = {"Authorization"  : "Basic %s" % base64.b64encode(BASIC_AUTH),
               "Content-Length" : str(len(string)),
               "Content-Type"   : "application/json"}

    conn.request('POST', url, body=string, headers=headers)

    res = conn.getresponse()

    info = {"status"  : res.status,
            "headers" : res.getheaders()}

    data = res.read()
    conn.close()
    return data, info

def do_GET(url):
    '''HTTP GET'''

    conn = httplib.HTTPSConnection(HOST, 443)

    headers = {"Authorization"  : "Basic %s" % base64.b64encode(BASIC_AUTH),
               "Content-Length" : 0,
               "Content-Type"   : "application/json"}

    conn.request('GET', url, body="", headers=headers)

    res = conn.getresponse()

    info = {"status"  : res.status,
            "headers" : res.getheaders()}

    data = res.read()
    conn.close()
    return data, info

def get_header(headers, header):
  '''Finds and returns HTTP header'''
  for i in headers:
    if (i[0] == header):
      return i[1]
  return ""

def find_column_name_by_id(columns, cid):
  '''Locates a column by id and returns the name'''
  for c in columns:
    if (c['id'] == cid):
      return c['name']
  return 'Unknown'

def echo_csv(headers, rows):
  '''CSV helper'''
  print ','.join(headers)
  for row in rows:
    print ','.join(row)

# End lib functions

struct = {
    "template_id" : 184,
    "criteria" : {
        "time_frame" : {
            "start" : start,
            "end"   : end
            },
        "traffic_expression" : "app WEB",
        "query" : {
            "realm"      : "traffic_summary",
            "group_by"   : "hos",
            "sort_column": 33,
            "columns"    : [6, 33, 34]
            }
        }
    }

to_post = json.dumps(struct)
columns = struct["criteria"]["query"]["columns"]

# Post to run the report
url = "https://%s/api/profiler/1.0/reporting/reports.json" % HOST
print "Run report:"
print "POST %s" % url
print "%s" % to_post

output, info = do_POST(url, to_post)
if (info['status'] is not 201):
  print "Unable to run report"
  sys.exit(1)

location = get_header(info['headers'], 'location')
print ""
print "Generated: %s" % location
print ""

status_url = "https://%s%s.json" % (HOST, location)

# Wait for it to complete
print "Please wait"
while (True):
  output, info = do_GET(status_url)
  s = json.loads(output)
  print "Percent completed %s, seconds remaining %s..." % (s["percent"], s["remaining_seconds"])
  if (s["status"] == "completed"):
    print "Completed"
    break
  time.sleep(1)

# Get all quesries (In this exampe it is only one)
queries_url = "https://%s%s/queries.json" % (HOST, location)

output, info = do_GET(queries_url)
queries = json.loads(output)

# Print the data from all queries
for q in queries:
  query_id = q['id'];
  columns_str = ','.join([repr(i) for i in columns])
  data_url = "https://%s%s/queries/%s.json?offset=0&limit=20&columns=%s" % (HOST, location, query_id, columns_str)
  output, info = do_GET(data_url)
  data = json.loads(output)

  h = []
  for c in columns:
    h.append(find_column_name_by_id(q["columns"], c))

  print ""  
  echo_csv(h, data["data"])

Running a report: Sample Perl script

Run a report to get bytes and packets for the top 20 hosts using the application WEB. Use BASIC Authentication.

#!/usr/bin/perl
use strict;
use warnings;

use LWP::UserAgent;
use HTTP::Request;
use List::MoreUtils qw(firstidx);
use JSON qw( encode_json decode_json );

use constant HOST     => '127.0.0.1';
use constant LOGIN    => 'admin';
use constant PASSWORD => 'admin';

our $ua = LWP::UserAgent->new;
$ua->agent("ProfilerScript/0.1");

our $API_BASE = "https://127.0.0.1";

sub _request($) 
{
  my $req = shift;

  $req->header('Accept' => 'application/json');
  $req->authorization_basic(LOGIN, PASSWORD);

  my $res = $ua->request($req);

  return {
    code    => $res->code,
    status  => $res->status_line,
    headers => $res->headers(),
    data    => decode_json($res->content)
  };
}

sub GET($) 
{
  my $req = HTTP::Request->new(GET => $API_BASE . shift);
  return _request($req);
}

sub POST($$) 
{
  my $req = HTTP::Request->new(POST => $API_BASE . shift);
  $req->content_type('application/json');
  $req->content(encode_json(shift));

  return _request($req);
}

my $end   = time();
my $start = $end - 5 * 60;

my $struct = { 
  template_id => 184, 
  criteria    => { 
    time_frame => { 
      start => $start, 
      end   => $end 
    }, 
    traffic_expression => "app WEB", 
    query => { 
      realm        => "traffic_summary", 
      group_by     => "hos", 
      sort_column  => 33, 
      columns      => [6, 33, 34] 
    } 
  } 
};

print "Running report... ";

my $response = POST('/api/profiler/1.0/reporting/reports', $struct);
die "Unable to run report. $response->{data}->{error_text}" unless $response->{code} == 201;

my $loc = $response->{headers}->header('Location');

while (1) 
{
  $response = GET($loc);
  printf "\rRunning report, %3d%% done, %d seconds remaining...   ", 
    $response->{data}->{percent}, 
    $response->{data}->{remaining_seconds};

  last if $response->{data}->{status} eq 'completed';
  sleep(1);
};

print "\nLoading data...\n";

$response = GET($loc . '/queries');
die "Unable to load queries. $response->{data}->{error_text}" unless $response->{code} == 200;

foreach my $query (@{$response->{data}})
{
  my @columns = @{$struct->{criteria}->{query}->{columns}};
  my $columns = join ',', @columns;

  my $data_response = GET("$loc/queries/$query->{id}?offset=0&limit=20&columns=$columns");
  die "Unable to load data. $response->{data}->{error_text}" unless $response->{code} == 200;

  my @indices = map { my $id = $_; firstidx { $_->{id} == $id } @{$query->{columns}} } @columns;

  print join ",", map { qq~"$query->{columns}->[$_]->{name}"~; } @indices;
  print "\n";

  foreach my $row (@{$data_response->{data}->{data}}) {
    print join ",", @$row;
    print "\n";
  }
}

Running a report: Sample .Net/C# code

Run a report to get bytes and packets for the top 20 hosts using the application WEB. Use BASIC Authentication.

Program.cs:

using System;
using System.Collections.Generic;
using System.Net;
using System.Runtime.Serialization.Json;
using System.Text;
using System.IO;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Linq;
using System.Threading;
using System.Web.Script.Serialization;

namespace CascadeRestClient
{
    public class ReportUpdate
    {
        public string status { get; set; }
        public string user_id { get; set; }
        public string name { get; set; }
        public string percent { get; set; }
        public string id { get; set; }
        public string remaining_seconds { get; set; }
        public string run_time { get; set; }
        public string saved { get; set; }
        public string template_id { get; set; }
        public string size { get; set; }
    }

    public class Column
    {
        public string strid { get; set; }
        public string metric { get; set; }
        public string rate { get; set; }
        public string statistic { get; set; }
        public int id { get; set; }
        public string unit { get; set; }
        public string category { get; set; }
        public string severity { get; set; }
        public string area { get; set; }
        public bool @internal { get; set; }
        public string role { get; set; }
        public string cli_srv { get; set; }
        public string type { get; set; }
        public bool available { get; set; }
        public string direction { get; set; }
        public string comparison { get; set; }
        public bool sortable { get; set; }
        public string name { get; set; }
        public string comparison_parameter { get; set; }
        public bool has_others { get; set; }
        public bool context { get; set; }
        public string name_type { get; set; }
    }

    public class QueryResult
    {
        public string direction { get; set; }
        public string actual_log { get; set; }
        public int actual_t0 { get; set; }
        public bool sort_desc { get; set; }
        public string area { get; set; }
        public string metric { get; set; }
        public int sort_col { get; set; }
        public string parent_id { get; set; }
        public string rate { get; set; }
        public string group_by { get; set; }
        public string role { get; set; }
        public List&lt;Column&gt; columns { get; set; }
        public string statistic { get; set; }
        public string type { get; set; }
        public string id { get; set; }
        public string unit { get; set; }
        public int actual_t1 { get; set; }
    }

    public class QueryData
    {
        public List&lt;List&lt;string&gt;&gt; data { get; set; }
        public int data_size { get; set; }
        public List&lt;string&gt; totals { get; set; }
    }

    class Program
    {
        static string BASIC_AUTH = "admin:admin";

        // callback used to validate the self-gen certificate in an SSL conversation
        private static bool ValidateRemoteCertificate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors policyErrors)
        {
            return true;
            /*
            X509Certificate2 certv2 = new X509Certificate2(cert);
            if (certv2.GetNameInfo(X509NameType.SimpleName,true) == "www.riverbed.com")
                return true;

            return false;
             */
        }

        static void Main(string[] args)
        {
            if (args.Length == 0 || string.IsNullOrWhiteSpace(args[0]))
            {
                Console.WriteLine("Usage: CascadeRestClient hostname");
                return;
            }
            try
            {
                //Code to allow run with self-signed certificates
                // validate cert by calling a function
                ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);

                //Starting to run rest 
                string rootUrl = "https://" + args[0];
                string requestUrl = rootUrl + "/api/profiler/1.0/reporting/reports.json";
                string location;

                int start = (int)((DateTime.Now - new DateTime(1970, 1, 1).ToLocalTime()).TotalSeconds) - 8*60; //8 minutes before in unix time
                int end = start + 5*60; //3 minutes before in unix time

                var jsondata = new
                {
                    template_id = 184,
                    criteria = new
                    {
                        time_frame = new
                        {
                            start = start,
                            end = end
                        },

                        traffic_expression = "app WEB",
                        query = new
                        {
                            realm = "traffic_summary",
                            group_by = "hos",
                            sort_column = 33,
                            columns = new List&lt;int&gt; { 6, 33, 34 }
                        }
                    }
                };

                //Serialize anomymous type to json
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                string postData = serializer.Serialize(jsondata);

                Console.WriteLine("Run report:");
                Console.WriteLine("POST " + requestUrl);
                Console.WriteLine(postData + Environment.NewLine);

                // Post to run the report
                var runReportResponse = MakeRequest&lt;ReportUpdate&gt;(requestUrl, WebRequestMethods.Http.Post, out location, postData);
                Console.WriteLine("Generated " + location + Environment.NewLine);
                requestUrl = rootUrl + location;
                Console.WriteLine("Please wait");
                while (runReportResponse.status != "completed")
                {
                    runReportResponse = MakeRequest&lt;ReportUpdate&gt;(requestUrl + ".json", WebRequestMethods.Http.Get, out location);
                    Console.WriteLine(string.Format("Percent completed {0}, seconds remaining {1}",runReportResponse.percent, runReportResponse.remaining_seconds));
                    Thread.Sleep(1000);
                }
                Console.WriteLine("Completed"+ Environment.NewLine);

                // Get all quesries (In this example it is only one)
                var getQueriesResponse = MakeRequest&lt;List&lt;QueryResult&gt;&gt;(requestUrl +"/queries.json", WebRequestMethods.Http.Get, out location);
                string columns = jsondata.criteria.query.columns.Select(c=&gt;c.ToString()).Aggregate((i, j) =&gt; i + "," + j);
                // Print the data from all queries
                foreach (var query in getQueriesResponse) {
                    var qr = MakeRequest&lt;QueryData&gt;(requestUrl + "/queries/" + query.id + ".json?offset=0&amp;limit=20&amp;columns=" + columns,
                                                   WebRequestMethods.Http.Get, out location);
                    string columnList = jsondata.criteria.query.columns.Select(c=&gt;query.columns.Where(col =&gt; col.id == c).First().name)
                                                              .Aggregate((l,r) =&gt; l + "," + r);
                    Console.WriteLine(columnList);

                    foreach (var dr in qr.data)
                    {
                        Console.WriteLine(dr.Aggregate((i, j) =&gt; i + ',' + j));
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }


        private static string Base64Encode(string toEncode)
        {
            byte[] toEncodeAsBytes
            = System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode);
            return System.Convert.ToBase64String(toEncodeAsBytes);
        }

        /// &lt;summary&gt;
        /// Make request
        /// &lt;/summary&gt;
        /// &lt;typeparam name="T"&gt;return type&lt;/typeparam&gt;
        /// &lt;param name="requestUrl"&gt;url for request&lt;/param&gt;
        /// &lt;param name="action"&gt;Http Verb, Get, Post etc&lt;/param&gt;
        /// &lt;param name="location"&gt;location returned from response header &lt;/param&gt;
        /// &lt;param name="requestData"&gt;Data posted&lt;/param&gt;
        /// &lt;returns&gt;&lt;/returns&gt;
        private static T MakeRequest&lt;T&gt;(string requestUrl, string action, out string location, string requestData = null) where T : class
        {
            HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
            request.Headers.Add("Authorization: Basic " + Base64Encode(BASIC_AUTH));
            request.ContentType = "application/json";
            request.Method = action;
            if (requestData == null)
            {
                request.ContentLength = 0;
            }
            else
            {
                ASCIIEncoding encoding = new ASCIIEncoding();
                byte[] byte1 = encoding.GetBytes(requestData);
                request.ContentLength = byte1.Length;
                using (Stream newStream = request.GetRequestStream())
                {
                    newStream.Write(byte1, 0, byte1.Length);
                }
            }

            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                if (response.StatusCode != HttpStatusCode.OK &amp;&amp; response.StatusCode != HttpStatusCode.Created)
                    throw new Exception(String.Format(
                    "Unable to run report! StatusCode={0}, Description={1}",
                    response.StatusCode,
                    response.StatusDescription));
                location = response.Headers[HttpResponseHeader.Location];
                DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(T));
                object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
                return objResponse as T;
            }
        }
    }
}

CascadeRestClient.csproj:

&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&gt;
  &lt;PropertyGroup&gt;
    &lt;Configuration Condition=" '$(Configuration)' == '' "&gt;Debug&lt;/Configuration&gt;
    &lt;Platform Condition=" '$(Platform)' == '' "&gt;x86&lt;/Platform&gt;
    &lt;ProductVersion&gt;8.0.30703&lt;/ProductVersion&gt;
    &lt;SchemaVersion&gt;2.0&lt;/SchemaVersion&gt;
    &lt;ProjectGuid&gt;{4ED69347-523B-46AB-B259-47EF60D4F13A}&lt;/ProjectGuid&gt;
    &lt;OutputType&gt;Exe&lt;/OutputType&gt;
    &lt;AppDesignerFolder&gt;Properties&lt;/AppDesignerFolder&gt;
    &lt;RootNamespace&gt;CascadeRestClient&lt;/RootNamespace&gt;
    &lt;AssemblyName&gt;CascadeRestClient&lt;/AssemblyName&gt;
    &lt;TargetFrameworkVersion&gt;v4.0&lt;/TargetFrameworkVersion&gt;
    &lt;TargetFrameworkProfile&gt;
    &lt;/TargetFrameworkProfile&gt;
    &lt;FileAlignment&gt;512&lt;/FileAlignment&gt;
  &lt;/PropertyGroup&gt;
  &lt;PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "&gt;
    &lt;PlatformTarget&gt;x86&lt;/PlatformTarget&gt;
    &lt;DebugSymbols&gt;true&lt;/DebugSymbols&gt;
    &lt;DebugType&gt;full&lt;/DebugType&gt;
    &lt;Optimize&gt;false&lt;/Optimize&gt;
    &lt;OutputPath&gt;bin\Debug\&lt;/OutputPath&gt;
    &lt;DefineConstants&gt;DEBUG;TRACE&lt;/DefineConstants&gt;
    &lt;ErrorReport&gt;prompt&lt;/ErrorReport&gt;
    &lt;WarningLevel&gt;4&lt;/WarningLevel&gt;
  &lt;/PropertyGroup&gt;
  &lt;PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "&gt;
    &lt;PlatformTarget&gt;x86&lt;/PlatformTarget&gt;
    &lt;DebugType&gt;pdbonly&lt;/DebugType&gt;
    &lt;Optimize&gt;true&lt;/Optimize&gt;
    &lt;OutputPath&gt;bin\Release\&lt;/OutputPath&gt;
    &lt;DefineConstants&gt;TRACE&lt;/DefineConstants&gt;
    &lt;ErrorReport&gt;prompt&lt;/ErrorReport&gt;
    &lt;WarningLevel&gt;4&lt;/WarningLevel&gt;
  &lt;/PropertyGroup&gt;
  &lt;ItemGroup&gt;
    &lt;Reference Include="System" /&gt;
    &lt;Reference Include="System.Core" /&gt;
    &lt;Reference Include="System.Runtime.Serialization" /&gt;
    &lt;Reference Include="System.Web.Extensions"&gt;
      &lt;HintPath&gt;..\..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.Extensions.dll&lt;/HintPath&gt;
    &lt;/Reference&gt;
    &lt;Reference Include="System.Xml.Linq" /&gt;
    &lt;Reference Include="System.Data.DataSetExtensions" /&gt;
    &lt;Reference Include="Microsoft.CSharp" /&gt;
    &lt;Reference Include="System.Data" /&gt;
    &lt;Reference Include="System.Xml" /&gt;
  &lt;/ItemGroup&gt;
  &lt;ItemGroup&gt;
    &lt;Compile Include="Program.cs" /&gt;
    &lt;Compile Include="Properties\AssemblyInfo.cs" /&gt;
  &lt;/ItemGroup&gt;
  &lt;Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /&gt;
  &lt;!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  &lt;Target Name="BeforeBuild"&gt;
  &lt;/Target&gt;
  &lt;Target Name="AfterBuild"&gt;
  &lt;/Target&gt;
  --&gt;
&lt;/Project&gt;

Resources

Protocols: Get protocol

Get information on one protocol.

GET https://{device}/api/profiler/1.4/protocols/{proto}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "name": string
  }
]

Example:
[
  {
    "id": 6, 
    "name": "tcp"
  }, 
  {
    "id": 17, 
    "name": "udp"
  }
]
Property Name Type Description Notes
CProtocols <array of <object>> List of Protocols objects.
CProtocols[CProtocol] <object> Object representing Protocol information. Optional
CProtocols[CProtocol].id <number> ID of the Protocol. Optional
CProtocols[CProtocol].name <string> Name of the Protocol. Optional

Protocols: List protocols

Get a list of all supported protocols.

GET https://{device}/api/profiler/1.4/protocols
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "name": string
  }
]

Example:
[
  {
    "id": 6, 
    "name": "tcp"
  }, 
  {
    "id": 17, 
    "name": "udp"
  }
]
Property Name Type Description Notes
CProtocols <array of <object>> List of Protocols objects.
CProtocols[CProtocol] <object> Object representing Protocol information. Optional
CProtocols[CProtocol].id <number> ID of the Protocol. Optional
CProtocols[CProtocol].name <string> Name of the Protocol. Optional

Services: Delete existing business service

Delete existing business service.

DELETE https://{device}/api/profiler/1.4/services/{service_id}
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Services: Create and commit a new business service

Create and commit a new business service.

POST https://{device}/api/profiler/1.4/services
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "alert_notification": {
    "high_enabled": string,
    "low_alert_recipient": string,
    "low_enabled": string,
    "high_alert_recipient": string
  },
  "components": [
    {
      "id": number,
      "definition": {
        "snat_type": string,
        "vips": [
          {
            "port": number,
            "protocol": number,
            "ipaddr": string
          }
        ],
        "load_balancer": number,
        "outside_hosts": [
          string
        ],
        "manual": string,
        "within_hosts": [
          string
        ],
        "snats": [
          string
        ]
      },
      "name": string,
      "type": string
    }
  ],
  "segments": [
    {
      "alert_notification": string,
      "id": number,
      "definition": [
        string
      ],
      "client_component_id": number,
      "status": string,
      "locations": [
        {
          "host_group_type_id": number,
          "host_group_id": number,
          "location_id": number
        }
      ],
      "server_component_name": string,
      "name": string,
      "type": string,
      "monitored_metrics": [
        {
          "id": number
        }
      ],
      "location_type": string,
      "server_component_id": number,
      "client_component_name": string
    }
  ],
  "id": number,
  "description": string,
  "name": string,
  "locked_by_user_id": number,
  "policies": [
    {
      "id": number,
      "tuning_parameters": {
        "id": number,
        "tolerance_high": number,
        "name": string,
        "tolerance_low": number,
        "noise_floor": string,
        "duration": number,
        "trigger_on_decreases": string,
        "trigger_on_increases": string
      },
      "name": string
    }
  ]
}

Example:
{
  "components": [
    {
      "definition": {
        "within_hosts": [
          "10.100.120.110", 
          "10.100.120.111", 
          "10.100.120.112"
        ]
      }, 
      "type": "LBRS", 
      "name": "WebFarm", 
      "id": 135
    }, 
    {
      "definition": {
        "within_hosts": [
          "0.0.0.0/0"
        ]
      }, 
      "type": "END_USERS", 
      "name": "EndUsers", 
      "id": 136
    }, 
    {
      "definition": {
        "within_hosts": [
          "10.100.203.130", 
          "10.100.203.131"
        ]
      }, 
      "type": "LBRS", 
      "name": "DBFarm", 
      "id": 137
    }, 
    {
      "definition": {
        "within_hosts": [
          "10.100.100.10"
        ]
      }, 
      "type": "SERVERS", 
      "name": "LDAP-Servers", 
      "id": 138
    }, 
    {
      "definition": {
        "load_balancer": 1, 
        "vips": [
          {
            "ipaddr": "10.100.120.100", 
            "protocol": 6, 
            "port": 80
          }, 
          {
            "ipaddr": "10.100.120.100", 
            "protocol": 6, 
            "port": 443
          }
        ], 
        "snat_type": "ALWAYS", 
        "manual": false, 
        "snats": [
          "10.100.120.108"
        ]
      }, 
      "type": "LBVS", 
      "name": "WebVIP", 
      "id": 139
    }, 
    {
      "definition": {
        "load_balancer": 1, 
        "vips": [
          {
            "ipaddr": "10.100.202.120", 
            "protocol": 0, 
            "port": 0
          }
        ], 
        "snat_type": "ALWAYS", 
        "manual": false, 
        "snats": [
          "10.100.202.128"
        ]
      }, 
      "type": "LBVS", 
      "name": "DB-VIP", 
      "id": 140
    }
  ], 
  "description": "Finance application", 
  "id": 192, 
  "alert_notification": {
    "low_alert_recipient": "* Log Only", 
    "high_alert_recipient": "* Log Only", 
    "high_enabled": false, 
    "low_enabled": false
  }, 
  "policies": [
    {
      "id": 352321689, 
      "name": "FinancePortal_Web-LB_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321690, 
      "name": "FinancePortal_Web-LB_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321691, 
      "name": "FinancePortal_Web-LB_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321692, 
      "name": "FinancePortal_Web-LB_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321721, 
      "name": "FinancePortal_DB-LB_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321722, 
      "name": "FinancePortal_DB-LB_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321723, 
      "name": "FinancePortal_DB-LB_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321724, 
      "name": "FinancePortal_DB-LB_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321725, 
      "name": "FinancePortal_Web_Seattle_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321726, 
      "name": "FinancePortal_Web_LosAngeles_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321727, 
      "name": "FinancePortal_Web_Phoenix_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321728, 
      "name": "FinancePortal_Web_Columbus_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321729, 
      "name": "FinancePortal_Web_Austin_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321730, 
      "name": "FinancePortal_Web_Philadelphia_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321731, 
      "name": "FinancePortal_Web_Hartford_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321732, 
      "name": "FinancePortal_Web_Seattle_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321733, 
      "name": "FinancePortal_Web_LosAngeles_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321734, 
      "name": "FinancePortal_Web_Phoenix_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321735, 
      "name": "FinancePortal_Web_Columbus_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321736, 
      "name": "FinancePortal_Web_Austin_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321737, 
      "name": "FinancePortal_Web_Philadelphia_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321738, 
      "name": "FinancePortal_Web_Hartford_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321739, 
      "name": "FinancePortal_Web_Seattle_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321740, 
      "name": "FinancePortal_Web_LosAngeles_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321741, 
      "name": "FinancePortal_Web_Phoenix_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321742, 
      "name": "FinancePortal_Web_Columbus_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321743, 
      "name": "FinancePortal_Web_Austin_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321744, 
      "name": "FinancePortal_Web_Philadelphia_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321745, 
      "name": "FinancePortal_Web_Hartford_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321746, 
      "name": "FinancePortal_Web_Seattle_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321747, 
      "name": "FinancePortal_Web_LosAngeles_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321748, 
      "name": "FinancePortal_Web_Phoenix_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321749, 
      "name": "FinancePortal_Web_Columbus_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321750, 
      "name": "FinancePortal_Web_Austin_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321751, 
      "name": "FinancePortal_Web_Philadelphia_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321752, 
      "name": "FinancePortal_Web_Hartford_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321753, 
      "name": "FinancePortal_DB_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321754, 
      "name": "FinancePortal_DB_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321755, 
      "name": "FinancePortal_DB_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321756, 
      "name": "FinancePortal_DB_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321757, 
      "name": "FinancePortal_LDAP_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321758, 
      "name": "FinancePortal_LDAP_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321759, 
      "name": "FinancePortal_LDAP_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321760, 
      "name": "FinancePortal_LDAP_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }
  ], 
  "segments": [
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "WebVIP", 
      "name": "Web-LB", 
      "server_component_name": "WebFarm", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 186, 
      "server_component_id": 135, 
      "alert_notification": false, 
      "client_component_id": 139
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "DB-VIP", 
      "name": "DB-LB", 
      "server_component_name": "DBFarm", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 141, 
      "server_component_id": 137, 
      "alert_notification": false, 
      "client_component_id": 140
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "EndUsers", 
      "name": "Web", 
      "server_component_name": "WebVIP", 
      "type": "FRONT_END", 
      "locations": [
        {
          "host_group_type_id": 102, 
          "location_id": 174, 
          "host_group_id": 0
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 175, 
          "host_group_id": 1
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 176, 
          "host_group_id": 2
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 177, 
          "host_group_id": 3
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 178, 
          "host_group_id": 5
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 179, 
          "host_group_id": 6
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 180, 
          "host_group_id": 7
        }
      ], 
      "monitored_metrics": [], 
      "id": 173, 
      "server_component_id": 139, 
      "alert_notification": false, 
      "client_component_id": 136, 
      "location_type": "SUBSET"
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "WebFarm", 
      "name": "DB", 
      "server_component_name": "DB-VIP", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 147, 
      "server_component_id": 140, 
      "alert_notification": false, 
      "client_component_id": 135
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "WebFarm", 
      "name": "LDAP", 
      "server_component_name": "LDAP-Servers", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 153, 
      "server_component_id": 138, 
      "alert_notification": false, 
      "client_component_id": 135
    }
  ], 
  "name": "Service_A"
}
Property Name Type Description Notes
ServiceConfig <object> Object representing a business service.
ServiceConfig.alert_notification <object> Alert notification flag.
ServiceConfig.alert_notification.
high_enabled
<string> High alert enabled flag.
ServiceConfig.alert_notification.
low_alert_recipient
<string> Low alert recipient.
ServiceConfig.alert_notification.
low_enabled
<string> Low alert enabled flag.
ServiceConfig.alert_notification.
high_alert_recipient
<string> High alert recipient.
ServiceConfig.components <array of <object>> Service components.
ServiceConfig.components
[ServiceComponent]
<object> Components defined for this business service. Optional
ServiceConfig.components
[ServiceComponent].id
<number> Service component id. Optional
ServiceConfig.components
[ServiceComponent].definition
<object> Service component definition.
ServiceConfig.components
[ServiceComponent].definition.
snat_type
<string> Snat type. Optional; Values: NOT_USED, SOMETIMES, ALWAYS
ServiceConfig.components
[ServiceComponent].definition.vips
<array of <object>> Vips if any. Optional
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer]
<object> Load balancer virtual server. Optional
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer].port
<number> Port.
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer].protocol
<number> Protocol.
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer].ipaddr
<string> IP address.
ServiceConfig.components
[ServiceComponent].definition.
load_balancer
<number> Load balancer if any. Optional
ServiceConfig.components
[ServiceComponent].definition.
outside_hosts
<array of <string>> Hosts/subnets excluded from component definition if any. Optional
ServiceConfig.components
[ServiceComponent].definition.
outside_hosts[item]
<string> Host/subnet string. Optional
ServiceConfig.components
[ServiceComponent].definition.manual
<string> Manual flag. Optional
ServiceConfig.components
[ServiceComponent].definition.
within_hosts
<array of <string>> Hosts/subnets included into component definition. Optional
ServiceConfig.components
[ServiceComponent].definition.
within_hosts[item]
<string> Host/subnet string. Optional
ServiceConfig.components
[ServiceComponent].definition.snats
<array of <string>> Snats if any. Optional
ServiceConfig.components
[ServiceComponent].definition.snats
[item]
<string> Host/subnet string. Optional
ServiceConfig.components
[ServiceComponent].name
<string> Service component name.
ServiceConfig.components
[ServiceComponent].type
<string> Service component type. Values: END_USERS, SERVERS, LBVS, LBRS
ServiceConfig.segments <array of <object>> Service segments.
ServiceConfig.segments[ServiceSegment] <object> Segments defined for this business service. Optional
ServiceConfig.segments[ServiceSegment].
alert_notification
<string> Alert notification flag.
ServiceConfig.segments[ServiceSegment].
id
<number> Service segment id. Optional
ServiceConfig.segments[ServiceSegment].
definition
<array of <string>> Segment definition.
ServiceConfig.segments[ServiceSegment].
definition[item]
<string> Service segment definition. Optional
ServiceConfig.segments[ServiceSegment].
client_component_id
<number> Client component id. Optional
ServiceConfig.segments[ServiceSegment].
status
<string> Service segment status. Optional; Values: ADDED, DROPPED, UNDECIDED
ServiceConfig.segments[ServiceSegment].
locations
<array of <object>> Segment locations. Optional
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation]
<object> Segment locations. Optional
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation].
host_group_type_id
<number> Host group type id.
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation].
host_group_id
<number> Host group id.
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation].location_id
<number> Location id. Optional
ServiceConfig.segments[ServiceSegment].
server_component_name
<string> Server component name.
ServiceConfig.segments[ServiceSegment].
name
<string> Service segment name.
ServiceConfig.segments[ServiceSegment].
type
<string> Service segment type. Optional; Values: FRONT_END, BACK_END
ServiceConfig.segments[ServiceSegment].
monitored_metrics
<array of <object>> Monitored segment metrics.
ServiceConfig.segments[ServiceSegment].
monitored_metrics[SegmentMetric]
<object> Segment metrics. Optional
ServiceConfig.segments[ServiceSegment].
monitored_metrics[SegmentMetric].id
<number> Metric id.
ServiceConfig.segments[ServiceSegment].
location_type
<string> Location type. Optional; Values: ALL, SUBSET
ServiceConfig.segments[ServiceSegment].
server_component_id
<number> Server component id. Optional
ServiceConfig.segments[ServiceSegment].
client_component_name
<string> Client component name.
ServiceConfig.id <number> Service id. Optional
ServiceConfig.description <string> Service description.
ServiceConfig.name <string> Service name.
ServiceConfig.locked_by_user_id <number> Account id of the user currently editing this Service if any. Optional
ServiceConfig.policies <array of <object>> Service policies.
ServiceConfig.policies[ServicePolicy] <object> Policies defined for this business service. Optional
ServiceConfig.policies[ServicePolicy].id <number> Service policy id. Optional
ServiceConfig.policies[ServicePolicy].
tuning_parameters
<object> Tuning parameters.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.id
<number> Service policy parameter id.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.tolerance_high
<number> Service policy high tolerance threshold.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.name
<string> Service policy parameter name.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.tolerance_low
<number> Service policy low tolerance threshold.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.noise_floor
<string> Service policy noise floor.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.duration
<number> Service policy duration.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.trigger_on_decreases
<string> Service policy trigger on decreases.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.trigger_on_increases
<string> Service policy trigger on increases.
ServiceConfig.policies[ServicePolicy].
name
<string> Service policy name.
Response Body

On success, the server does not provide any body in the responses.

Services: Get components

Manage components of one business service.

GET https://{device}/api/profiler/1.4/services/{service_id}/components?offset={number}&sortby={string}&sort={string}&limit={number}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
offset <number> Starting element number. Optional
sortby <string> Sorting field name. Optional
sort <string> Sorting direction: 'asc' or 'desc' (default: 'asc'). Optional
limit <number> Number of rows to be returned. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "definition": {
      "snat_type": string,
      "vips": [
        {
          "port": number,
          "protocol": number,
          "ipaddr": string
        }
      ],
      "load_balancer": number,
      "outside_hosts": [
        string
      ],
      "manual": string,
      "within_hosts": [
        string
      ],
      "snats": [
        string
      ]
    },
    "name": string,
    "type": string
  }
]

Example:
[
  {
    "definition": {
      "within_hosts": [
        "1.1.1.0/24"
      ]
    }, 
    "type": "END_USERS", 
    "name": "Comp-1", 
    "id": 1000
  }, 
  {
    "definition": {
      "load_balancer": 1000, 
      "vips": [
        {
          "ipaddr": "10.0.0.0/8", 
          "protocol": 0, 
          "port": 0
        }
      ], 
      "snat_type": "SOMETIMES", 
      "manual": false, 
      "snats": [
        "10.8.0.1", 
        "10.8.0.96", 
        "10.8.0.200", 
        "10.8.0.205", 
        "10.9.0.1", 
        "10.9.0.96", 
        "10.10.8.96"
      ]
    }, 
    "type": "LBVS", 
    "name": "Comp-2", 
    "id": 1001
  }, 
  {
    "definition": {
      "within_hosts": [
        "1.1.3.0/24"
      ]
    }, 
    "type": "LBRS", 
    "name": "Comp-3", 
    "id": 1002
  }
]
Property Name Type Description Notes
ServiceComponentsList <array of <object>> List of components defined for this business service.
ServiceComponentsList[ServiceComponent] <object> Components defined for this business service. Optional
ServiceComponentsList[ServiceComponent].
id
<number> Service component id. Optional
ServiceComponentsList[ServiceComponent].
definition
<object> Service component definition.
ServiceComponentsList[ServiceComponent].
definition.snat_type
<string> Snat type. Optional; Values: NOT_USED, SOMETIMES, ALWAYS
ServiceComponentsList[ServiceComponent].
definition.vips
<array of <object>> Vips if any. Optional
ServiceComponentsList[ServiceComponent].
definition.vips[LBVirtualServer]
<object> Load balancer virtual server. Optional
ServiceComponentsList[ServiceComponent].
definition.vips[LBVirtualServer].port
<number> Port.
ServiceComponentsList[ServiceComponent].
definition.vips[LBVirtualServer].
protocol
<number> Protocol.
ServiceComponentsList[ServiceComponent].
definition.vips[LBVirtualServer].
ipaddr
<string> IP address.
ServiceComponentsList[ServiceComponent].
definition.load_balancer
<number> Load balancer if any. Optional
ServiceComponentsList[ServiceComponent].
definition.outside_hosts
<array of <string>> Hosts/subnets excluded from component definition if any. Optional
ServiceComponentsList[ServiceComponent].
definition.outside_hosts[item]
<string> Host/subnet string. Optional
ServiceComponentsList[ServiceComponent].
definition.manual
<string> Manual flag. Optional
ServiceComponentsList[ServiceComponent].
definition.within_hosts
<array of <string>> Hosts/subnets included into component definition. Optional
ServiceComponentsList[ServiceComponent].
definition.within_hosts[item]
<string> Host/subnet string. Optional
ServiceComponentsList[ServiceComponent].
definition.snats
<array of <string>> Snats if any. Optional
ServiceComponentsList[ServiceComponent].
definition.snats[item]
<string> Host/subnet string. Optional
ServiceComponentsList[ServiceComponent].
name
<string> Service component name.
ServiceComponentsList[ServiceComponent].
type
<string> Service component type. Values: END_USERS, SERVERS, LBVS, LBRS

Services: List business services

List business services.

GET https://{device}/api/profiler/1.4/services?offset={number}&sortby={string}&sort={string}&limit={number}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
offset <number> Starting element number. Optional
sortby <string> Sorting field name. Optional
sort <string> Sorting direction: 'asc' or 'desc' (default: 'asc'). Optional
limit <number> Number of rows to be returned. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "status": string,
    "description": string,
    "name": string,
    "error": string
  }
]

Example:
[
  {
    "status": "MONITORED", 
    "id": 64, 
    "description": "Microsoft Exchange", 
    "name": "Exchange"
  }, 
  {
    "status": "COMMITTING", 
    "id": 128, 
    "description": "", 
    "name": "Sharepoint"
  }, 
  {
    "status": "DISABLED", 
    "id": 32, 
    "description": "Application", 
    "name": "ERP"
  }
]
Property Name Type Description Notes
ServiceList <array of <object>> List of business services defined on Profiler.
ServiceList[ServiceInfo] <object> Business service defined on Profiler. Optional
ServiceList[ServiceInfo].id <number> Service id.
ServiceList[ServiceInfo].status <string> Service state. Values: MONITORED, COMMITTING, ERROR, DISABLED
ServiceList[ServiceInfo].description <string> Service description.
ServiceList[ServiceInfo].name <string> Service name.
ServiceList[ServiceInfo].error <string> Commit error if any. Optional

Services: Update existing business service

Update existing business service.

PUT https://{device}/api/profiler/1.4/services/{service_id}
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "alert_notification": {
    "high_enabled": string,
    "low_alert_recipient": string,
    "low_enabled": string,
    "high_alert_recipient": string
  },
  "components": [
    {
      "id": number,
      "definition": {
        "snat_type": string,
        "vips": [
          {
            "port": number,
            "protocol": number,
            "ipaddr": string
          }
        ],
        "load_balancer": number,
        "outside_hosts": [
          string
        ],
        "manual": string,
        "within_hosts": [
          string
        ],
        "snats": [
          string
        ]
      },
      "name": string,
      "type": string
    }
  ],
  "segments": [
    {
      "alert_notification": string,
      "id": number,
      "definition": [
        string
      ],
      "client_component_id": number,
      "status": string,
      "locations": [
        {
          "host_group_type_id": number,
          "host_group_id": number,
          "location_id": number
        }
      ],
      "server_component_name": string,
      "name": string,
      "type": string,
      "monitored_metrics": [
        {
          "id": number
        }
      ],
      "location_type": string,
      "server_component_id": number,
      "client_component_name": string
    }
  ],
  "id": number,
  "description": string,
  "name": string,
  "locked_by_user_id": number,
  "policies": [
    {
      "id": number,
      "tuning_parameters": {
        "id": number,
        "tolerance_high": number,
        "name": string,
        "tolerance_low": number,
        "noise_floor": string,
        "duration": number,
        "trigger_on_decreases": string,
        "trigger_on_increases": string
      },
      "name": string
    }
  ]
}

Example:
{
  "components": [
    {
      "definition": {
        "within_hosts": [
          "10.100.120.110", 
          "10.100.120.111", 
          "10.100.120.112"
        ]
      }, 
      "type": "LBRS", 
      "name": "WebFarm", 
      "id": 135
    }, 
    {
      "definition": {
        "within_hosts": [
          "0.0.0.0/0"
        ]
      }, 
      "type": "END_USERS", 
      "name": "EndUsers", 
      "id": 136
    }, 
    {
      "definition": {
        "within_hosts": [
          "10.100.203.130", 
          "10.100.203.131"
        ]
      }, 
      "type": "LBRS", 
      "name": "DBFarm", 
      "id": 137
    }, 
    {
      "definition": {
        "within_hosts": [
          "10.100.100.10"
        ]
      }, 
      "type": "SERVERS", 
      "name": "LDAP-Servers", 
      "id": 138
    }, 
    {
      "definition": {
        "load_balancer": 1, 
        "vips": [
          {
            "ipaddr": "10.100.120.100", 
            "protocol": 6, 
            "port": 80
          }, 
          {
            "ipaddr": "10.100.120.100", 
            "protocol": 6, 
            "port": 443
          }
        ], 
        "snat_type": "ALWAYS", 
        "manual": false, 
        "snats": [
          "10.100.120.108"
        ]
      }, 
      "type": "LBVS", 
      "name": "WebVIP", 
      "id": 139
    }, 
    {
      "definition": {
        "load_balancer": 1, 
        "vips": [
          {
            "ipaddr": "10.100.202.120", 
            "protocol": 0, 
            "port": 0
          }
        ], 
        "snat_type": "ALWAYS", 
        "manual": false, 
        "snats": [
          "10.100.202.128"
        ]
      }, 
      "type": "LBVS", 
      "name": "DB-VIP", 
      "id": 140
    }
  ], 
  "description": "Finance application", 
  "id": 192, 
  "alert_notification": {
    "low_alert_recipient": "* Log Only", 
    "high_alert_recipient": "* Log Only", 
    "high_enabled": false, 
    "low_enabled": false
  }, 
  "policies": [
    {
      "id": 352321689, 
      "name": "FinancePortal_Web-LB_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321690, 
      "name": "FinancePortal_Web-LB_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321691, 
      "name": "FinancePortal_Web-LB_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321692, 
      "name": "FinancePortal_Web-LB_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321721, 
      "name": "FinancePortal_DB-LB_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321722, 
      "name": "FinancePortal_DB-LB_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321723, 
      "name": "FinancePortal_DB-LB_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321724, 
      "name": "FinancePortal_DB-LB_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321725, 
      "name": "FinancePortal_Web_Seattle_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321726, 
      "name": "FinancePortal_Web_LosAngeles_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321727, 
      "name": "FinancePortal_Web_Phoenix_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321728, 
      "name": "FinancePortal_Web_Columbus_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321729, 
      "name": "FinancePortal_Web_Austin_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321730, 
      "name": "FinancePortal_Web_Philadelphia_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321731, 
      "name": "FinancePortal_Web_Hartford_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321732, 
      "name": "FinancePortal_Web_Seattle_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321733, 
      "name": "FinancePortal_Web_LosAngeles_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321734, 
      "name": "FinancePortal_Web_Phoenix_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321735, 
      "name": "FinancePortal_Web_Columbus_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321736, 
      "name": "FinancePortal_Web_Austin_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321737, 
      "name": "FinancePortal_Web_Philadelphia_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321738, 
      "name": "FinancePortal_Web_Hartford_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321739, 
      "name": "FinancePortal_Web_Seattle_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321740, 
      "name": "FinancePortal_Web_LosAngeles_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321741, 
      "name": "FinancePortal_Web_Phoenix_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321742, 
      "name": "FinancePortal_Web_Columbus_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321743, 
      "name": "FinancePortal_Web_Austin_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321744, 
      "name": "FinancePortal_Web_Philadelphia_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321745, 
      "name": "FinancePortal_Web_Hartford_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321746, 
      "name": "FinancePortal_Web_Seattle_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321747, 
      "name": "FinancePortal_Web_LosAngeles_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321748, 
      "name": "FinancePortal_Web_Phoenix_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321749, 
      "name": "FinancePortal_Web_Columbus_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321750, 
      "name": "FinancePortal_Web_Austin_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321751, 
      "name": "FinancePortal_Web_Philadelphia_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321752, 
      "name": "FinancePortal_Web_Hartford_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321753, 
      "name": "FinancePortal_DB_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321754, 
      "name": "FinancePortal_DB_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321755, 
      "name": "FinancePortal_DB_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321756, 
      "name": "FinancePortal_DB_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321757, 
      "name": "FinancePortal_LDAP_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321758, 
      "name": "FinancePortal_LDAP_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321759, 
      "name": "FinancePortal_LDAP_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321760, 
      "name": "FinancePortal_LDAP_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }
  ], 
  "segments": [
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "WebVIP", 
      "name": "Web-LB", 
      "server_component_name": "WebFarm", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 186, 
      "server_component_id": 135, 
      "alert_notification": false, 
      "client_component_id": 139
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "DB-VIP", 
      "name": "DB-LB", 
      "server_component_name": "DBFarm", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 141, 
      "server_component_id": 137, 
      "alert_notification": false, 
      "client_component_id": 140
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "EndUsers", 
      "name": "Web", 
      "server_component_name": "WebVIP", 
      "type": "FRONT_END", 
      "locations": [
        {
          "host_group_type_id": 102, 
          "location_id": 174, 
          "host_group_id": 0
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 175, 
          "host_group_id": 1
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 176, 
          "host_group_id": 2
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 177, 
          "host_group_id": 3
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 178, 
          "host_group_id": 5
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 179, 
          "host_group_id": 6
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 180, 
          "host_group_id": 7
        }
      ], 
      "monitored_metrics": [], 
      "id": 173, 
      "server_component_id": 139, 
      "alert_notification": false, 
      "client_component_id": 136, 
      "location_type": "SUBSET"
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "WebFarm", 
      "name": "DB", 
      "server_component_name": "DB-VIP", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 147, 
      "server_component_id": 140, 
      "alert_notification": false, 
      "client_component_id": 135
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "WebFarm", 
      "name": "LDAP", 
      "server_component_name": "LDAP-Servers", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 153, 
      "server_component_id": 138, 
      "alert_notification": false, 
      "client_component_id": 135
    }
  ], 
  "name": "Service_A"
}
Property Name Type Description Notes
ServiceConfig <object> Object representing a business service.
ServiceConfig.alert_notification <object> Alert notification flag.
ServiceConfig.alert_notification.
high_enabled
<string> High alert enabled flag.
ServiceConfig.alert_notification.
low_alert_recipient
<string> Low alert recipient.
ServiceConfig.alert_notification.
low_enabled
<string> Low alert enabled flag.
ServiceConfig.alert_notification.
high_alert_recipient
<string> High alert recipient.
ServiceConfig.components <array of <object>> Service components.
ServiceConfig.components
[ServiceComponent]
<object> Components defined for this business service. Optional
ServiceConfig.components
[ServiceComponent].id
<number> Service component id. Optional
ServiceConfig.components
[ServiceComponent].definition
<object> Service component definition.
ServiceConfig.components
[ServiceComponent].definition.
snat_type
<string> Snat type. Optional; Values: NOT_USED, SOMETIMES, ALWAYS
ServiceConfig.components
[ServiceComponent].definition.vips
<array of <object>> Vips if any. Optional
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer]
<object> Load balancer virtual server. Optional
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer].port
<number> Port.
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer].protocol
<number> Protocol.
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer].ipaddr
<string> IP address.
ServiceConfig.components
[ServiceComponent].definition.
load_balancer
<number> Load balancer if any. Optional
ServiceConfig.components
[ServiceComponent].definition.
outside_hosts
<array of <string>> Hosts/subnets excluded from component definition if any. Optional
ServiceConfig.components
[ServiceComponent].definition.
outside_hosts[item]
<string> Host/subnet string. Optional
ServiceConfig.components
[ServiceComponent].definition.manual
<string> Manual flag. Optional
ServiceConfig.components
[ServiceComponent].definition.
within_hosts
<array of <string>> Hosts/subnets included into component definition. Optional
ServiceConfig.components
[ServiceComponent].definition.
within_hosts[item]
<string> Host/subnet string. Optional
ServiceConfig.components
[ServiceComponent].definition.snats
<array of <string>> Snats if any. Optional
ServiceConfig.components
[ServiceComponent].definition.snats
[item]
<string> Host/subnet string. Optional
ServiceConfig.components
[ServiceComponent].name
<string> Service component name.
ServiceConfig.components
[ServiceComponent].type
<string> Service component type. Values: END_USERS, SERVERS, LBVS, LBRS
ServiceConfig.segments <array of <object>> Service segments.
ServiceConfig.segments[ServiceSegment] <object> Segments defined for this business service. Optional
ServiceConfig.segments[ServiceSegment].
alert_notification
<string> Alert notification flag.
ServiceConfig.segments[ServiceSegment].
id
<number> Service segment id. Optional
ServiceConfig.segments[ServiceSegment].
definition
<array of <string>> Segment definition.
ServiceConfig.segments[ServiceSegment].
definition[item]
<string> Service segment definition. Optional
ServiceConfig.segments[ServiceSegment].
client_component_id
<number> Client component id. Optional
ServiceConfig.segments[ServiceSegment].
status
<string> Service segment status. Optional; Values: ADDED, DROPPED, UNDECIDED
ServiceConfig.segments[ServiceSegment].
locations
<array of <object>> Segment locations. Optional
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation]
<object> Segment locations. Optional
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation].
host_group_type_id
<number> Host group type id.
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation].
host_group_id
<number> Host group id.
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation].location_id
<number> Location id. Optional
ServiceConfig.segments[ServiceSegment].
server_component_name
<string> Server component name.
ServiceConfig.segments[ServiceSegment].
name
<string> Service segment name.
ServiceConfig.segments[ServiceSegment].
type
<string> Service segment type. Optional; Values: FRONT_END, BACK_END
ServiceConfig.segments[ServiceSegment].
monitored_metrics
<array of <object>> Monitored segment metrics.
ServiceConfig.segments[ServiceSegment].
monitored_metrics[SegmentMetric]
<object> Segment metrics. Optional
ServiceConfig.segments[ServiceSegment].
monitored_metrics[SegmentMetric].id
<number> Metric id.
ServiceConfig.segments[ServiceSegment].
location_type
<string> Location type. Optional; Values: ALL, SUBSET
ServiceConfig.segments[ServiceSegment].
server_component_id
<number> Server component id. Optional
ServiceConfig.segments[ServiceSegment].
client_component_name
<string> Client component name.
ServiceConfig.id <number> Service id. Optional
ServiceConfig.description <string> Service description.
ServiceConfig.name <string> Service name.
ServiceConfig.locked_by_user_id <number> Account id of the user currently editing this Service if any. Optional
ServiceConfig.policies <array of <object>> Service policies.
ServiceConfig.policies[ServicePolicy] <object> Policies defined for this business service. Optional
ServiceConfig.policies[ServicePolicy].id <number> Service policy id. Optional
ServiceConfig.policies[ServicePolicy].
tuning_parameters
<object> Tuning parameters.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.id
<number> Service policy parameter id.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.tolerance_high
<number> Service policy high tolerance threshold.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.name
<string> Service policy parameter name.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.tolerance_low
<number> Service policy low tolerance threshold.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.noise_floor
<string> Service policy noise floor.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.duration
<number> Service policy duration.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.trigger_on_decreases
<string> Service policy trigger on decreases.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.trigger_on_increases
<string> Service policy trigger on increases.
ServiceConfig.policies[ServicePolicy].
name
<string> Service policy name.
Response Body

On success, the server does not provide any body in the responses.

Services: List business service

List business service.

GET https://{device}/api/profiler/1.4/services/{service_id}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "alert_notification": {
    "high_enabled": string,
    "low_alert_recipient": string,
    "low_enabled": string,
    "high_alert_recipient": string
  },
  "components": [
    {
      "id": number,
      "definition": {
        "snat_type": string,
        "vips": [
          {
            "port": number,
            "protocol": number,
            "ipaddr": string
          }
        ],
        "load_balancer": number,
        "outside_hosts": [
          string
        ],
        "manual": string,
        "within_hosts": [
          string
        ],
        "snats": [
          string
        ]
      },
      "name": string,
      "type": string
    }
  ],
  "segments": [
    {
      "alert_notification": string,
      "id": number,
      "definition": [
        string
      ],
      "client_component_id": number,
      "status": string,
      "locations": [
        {
          "host_group_type_id": number,
          "host_group_id": number,
          "location_id": number
        }
      ],
      "server_component_name": string,
      "name": string,
      "type": string,
      "monitored_metrics": [
        {
          "id": number
        }
      ],
      "location_type": string,
      "server_component_id": number,
      "client_component_name": string
    }
  ],
  "id": number,
  "description": string,
  "name": string,
  "locked_by_user_id": number,
  "policies": [
    {
      "id": number,
      "tuning_parameters": {
        "id": number,
        "tolerance_high": number,
        "name": string,
        "tolerance_low": number,
        "noise_floor": string,
        "duration": number,
        "trigger_on_decreases": string,
        "trigger_on_increases": string
      },
      "name": string
    }
  ]
}

Example:
{
  "components": [
    {
      "definition": {
        "within_hosts": [
          "10.100.120.110", 
          "10.100.120.111", 
          "10.100.120.112"
        ]
      }, 
      "type": "LBRS", 
      "name": "WebFarm", 
      "id": 135
    }, 
    {
      "definition": {
        "within_hosts": [
          "0.0.0.0/0"
        ]
      }, 
      "type": "END_USERS", 
      "name": "EndUsers", 
      "id": 136
    }, 
    {
      "definition": {
        "within_hosts": [
          "10.100.203.130", 
          "10.100.203.131"
        ]
      }, 
      "type": "LBRS", 
      "name": "DBFarm", 
      "id": 137
    }, 
    {
      "definition": {
        "within_hosts": [
          "10.100.100.10"
        ]
      }, 
      "type": "SERVERS", 
      "name": "LDAP-Servers", 
      "id": 138
    }, 
    {
      "definition": {
        "load_balancer": 1, 
        "vips": [
          {
            "ipaddr": "10.100.120.100", 
            "protocol": 6, 
            "port": 80
          }, 
          {
            "ipaddr": "10.100.120.100", 
            "protocol": 6, 
            "port": 443
          }
        ], 
        "snat_type": "ALWAYS", 
        "manual": false, 
        "snats": [
          "10.100.120.108"
        ]
      }, 
      "type": "LBVS", 
      "name": "WebVIP", 
      "id": 139
    }, 
    {
      "definition": {
        "load_balancer": 1, 
        "vips": [
          {
            "ipaddr": "10.100.202.120", 
            "protocol": 0, 
            "port": 0
          }
        ], 
        "snat_type": "ALWAYS", 
        "manual": false, 
        "snats": [
          "10.100.202.128"
        ]
      }, 
      "type": "LBVS", 
      "name": "DB-VIP", 
      "id": 140
    }
  ], 
  "description": "Finance application", 
  "id": 192, 
  "alert_notification": {
    "low_alert_recipient": "* Log Only", 
    "high_alert_recipient": "* Log Only", 
    "high_enabled": false, 
    "low_enabled": false
  }, 
  "policies": [
    {
      "id": 352321689, 
      "name": "FinancePortal_Web-LB_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321690, 
      "name": "FinancePortal_Web-LB_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321691, 
      "name": "FinancePortal_Web-LB_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321692, 
      "name": "FinancePortal_Web-LB_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321721, 
      "name": "FinancePortal_DB-LB_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321722, 
      "name": "FinancePortal_DB-LB_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321723, 
      "name": "FinancePortal_DB-LB_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321724, 
      "name": "FinancePortal_DB-LB_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321725, 
      "name": "FinancePortal_Web_Seattle_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321726, 
      "name": "FinancePortal_Web_LosAngeles_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321727, 
      "name": "FinancePortal_Web_Phoenix_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321728, 
      "name": "FinancePortal_Web_Columbus_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321729, 
      "name": "FinancePortal_Web_Austin_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321730, 
      "name": "FinancePortal_Web_Philadelphia_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321731, 
      "name": "FinancePortal_Web_Hartford_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321732, 
      "name": "FinancePortal_Web_Seattle_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321733, 
      "name": "FinancePortal_Web_LosAngeles_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321734, 
      "name": "FinancePortal_Web_Phoenix_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321735, 
      "name": "FinancePortal_Web_Columbus_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321736, 
      "name": "FinancePortal_Web_Austin_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321737, 
      "name": "FinancePortal_Web_Philadelphia_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321738, 
      "name": "FinancePortal_Web_Hartford_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321739, 
      "name": "FinancePortal_Web_Seattle_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321740, 
      "name": "FinancePortal_Web_LosAngeles_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321741, 
      "name": "FinancePortal_Web_Phoenix_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321742, 
      "name": "FinancePortal_Web_Columbus_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321743, 
      "name": "FinancePortal_Web_Austin_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321744, 
      "name": "FinancePortal_Web_Philadelphia_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321745, 
      "name": "FinancePortal_Web_Hartford_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321746, 
      "name": "FinancePortal_Web_Seattle_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321747, 
      "name": "FinancePortal_Web_LosAngeles_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321748, 
      "name": "FinancePortal_Web_Phoenix_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321749, 
      "name": "FinancePortal_Web_Columbus_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321750, 
      "name": "FinancePortal_Web_Austin_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321751, 
      "name": "FinancePortal_Web_Philadelphia_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321752, 
      "name": "FinancePortal_Web_Hartford_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321753, 
      "name": "FinancePortal_DB_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321754, 
      "name": "FinancePortal_DB_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }, 
    {
      "id": 352321755, 
      "name": "FinancePortal_DB_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321756, 
      "name": "FinancePortal_DB_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321757, 
      "name": "FinancePortal_LDAP_Effncy_TCPRsts", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "rsts", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 5
      }
    }, 
    {
      "id": 352321758, 
      "name": "FinancePortal_LDAP_Effncy_TCPRetransBW", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "retransbw", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 9
      }
    }, 
    {
      "id": 352321759, 
      "name": "FinancePortal_LDAP_Conn_ActiveConns", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "conns_active", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 11
      }
    }, 
    {
      "id": 352321760, 
      "name": "FinancePortal_LDAP_UserExp_RspTime", 
      "tuning_parameters": {
        "noise_floor": 0, 
        "name": "resp", 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "duration": 1, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "id": 4
      }
    }
  ], 
  "segments": [
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "WebVIP", 
      "name": "Web-LB", 
      "server_component_name": "WebFarm", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 186, 
      "server_component_id": 135, 
      "alert_notification": false, 
      "client_component_id": 139
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "DB-VIP", 
      "name": "DB-LB", 
      "server_component_name": "DBFarm", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 141, 
      "server_component_id": 137, 
      "alert_notification": false, 
      "client_component_id": 140
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "EndUsers", 
      "name": "Web", 
      "server_component_name": "WebVIP", 
      "type": "FRONT_END", 
      "locations": [
        {
          "host_group_type_id": 102, 
          "location_id": 174, 
          "host_group_id": 0
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 175, 
          "host_group_id": 1
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 176, 
          "host_group_id": 2
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 177, 
          "host_group_id": 3
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 178, 
          "host_group_id": 5
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 179, 
          "host_group_id": 6
        }, 
        {
          "host_group_type_id": 102, 
          "location_id": 180, 
          "host_group_id": 7
        }
      ], 
      "monitored_metrics": [], 
      "id": 173, 
      "server_component_id": 139, 
      "alert_notification": false, 
      "client_component_id": 136, 
      "location_type": "SUBSET"
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "WebFarm", 
      "name": "DB", 
      "server_component_name": "DB-VIP", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 147, 
      "server_component_id": 140, 
      "alert_notification": false, 
      "client_component_id": 135
    }, 
    {
      "status": "ADDED", 
      "definition": [], 
      "client_component_name": "WebFarm", 
      "name": "LDAP", 
      "server_component_name": "LDAP-Servers", 
      "type": "BACK_END", 
      "monitored_metrics": [], 
      "id": 153, 
      "server_component_id": 138, 
      "alert_notification": false, 
      "client_component_id": 135
    }
  ], 
  "name": "Service_A"
}
Property Name Type Description Notes
ServiceConfig <object> Object representing a business service.
ServiceConfig.alert_notification <object> Alert notification flag.
ServiceConfig.alert_notification.
high_enabled
<string> High alert enabled flag.
ServiceConfig.alert_notification.
low_alert_recipient
<string> Low alert recipient.
ServiceConfig.alert_notification.
low_enabled
<string> Low alert enabled flag.
ServiceConfig.alert_notification.
high_alert_recipient
<string> High alert recipient.
ServiceConfig.components <array of <object>> Service components.
ServiceConfig.components
[ServiceComponent]
<object> Components defined for this business service. Optional
ServiceConfig.components
[ServiceComponent].id
<number> Service component id. Optional
ServiceConfig.components
[ServiceComponent].definition
<object> Service component definition.
ServiceConfig.components
[ServiceComponent].definition.
snat_type
<string> Snat type. Optional; Values: NOT_USED, SOMETIMES, ALWAYS
ServiceConfig.components
[ServiceComponent].definition.vips
<array of <object>> Vips if any. Optional
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer]
<object> Load balancer virtual server. Optional
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer].port
<number> Port.
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer].protocol
<number> Protocol.
ServiceConfig.components
[ServiceComponent].definition.vips
[LBVirtualServer].ipaddr
<string> IP address.
ServiceConfig.components
[ServiceComponent].definition.
load_balancer
<number> Load balancer if any. Optional
ServiceConfig.components
[ServiceComponent].definition.
outside_hosts
<array of <string>> Hosts/subnets excluded from component definition if any. Optional
ServiceConfig.components
[ServiceComponent].definition.
outside_hosts[item]
<string> Host/subnet string. Optional
ServiceConfig.components
[ServiceComponent].definition.manual
<string> Manual flag. Optional
ServiceConfig.components
[ServiceComponent].definition.
within_hosts
<array of <string>> Hosts/subnets included into component definition. Optional
ServiceConfig.components
[ServiceComponent].definition.
within_hosts[item]
<string> Host/subnet string. Optional
ServiceConfig.components
[ServiceComponent].definition.snats
<array of <string>> Snats if any. Optional
ServiceConfig.components
[ServiceComponent].definition.snats
[item]
<string> Host/subnet string. Optional
ServiceConfig.components
[ServiceComponent].name
<string> Service component name.
ServiceConfig.components
[ServiceComponent].type
<string> Service component type. Values: END_USERS, SERVERS, LBVS, LBRS
ServiceConfig.segments <array of <object>> Service segments.
ServiceConfig.segments[ServiceSegment] <object> Segments defined for this business service. Optional
ServiceConfig.segments[ServiceSegment].
alert_notification
<string> Alert notification flag.
ServiceConfig.segments[ServiceSegment].
id
<number> Service segment id. Optional
ServiceConfig.segments[ServiceSegment].
definition
<array of <string>> Segment definition.
ServiceConfig.segments[ServiceSegment].
definition[item]
<string> Service segment definition. Optional
ServiceConfig.segments[ServiceSegment].
client_component_id
<number> Client component id. Optional
ServiceConfig.segments[ServiceSegment].
status
<string> Service segment status. Optional; Values: ADDED, DROPPED, UNDECIDED
ServiceConfig.segments[ServiceSegment].
locations
<array of <object>> Segment locations. Optional
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation]
<object> Segment locations. Optional
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation].
host_group_type_id
<number> Host group type id.
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation].
host_group_id
<number> Host group id.
ServiceConfig.segments[ServiceSegment].
locations[SegmentLocation].location_id
<number> Location id. Optional
ServiceConfig.segments[ServiceSegment].
server_component_name
<string> Server component name.
ServiceConfig.segments[ServiceSegment].
name
<string> Service segment name.
ServiceConfig.segments[ServiceSegment].
type
<string> Service segment type. Optional; Values: FRONT_END, BACK_END
ServiceConfig.segments[ServiceSegment].
monitored_metrics
<array of <object>> Monitored segment metrics.
ServiceConfig.segments[ServiceSegment].
monitored_metrics[SegmentMetric]
<object> Segment metrics. Optional
ServiceConfig.segments[ServiceSegment].
monitored_metrics[SegmentMetric].id
<number> Metric id.
ServiceConfig.segments[ServiceSegment].
location_type
<string> Location type. Optional; Values: ALL, SUBSET
ServiceConfig.segments[ServiceSegment].
server_component_id
<number> Server component id. Optional
ServiceConfig.segments[ServiceSegment].
client_component_name
<string> Client component name.
ServiceConfig.id <number> Service id. Optional
ServiceConfig.description <string> Service description.
ServiceConfig.name <string> Service name.
ServiceConfig.locked_by_user_id <number> Account id of the user currently editing this Service if any. Optional
ServiceConfig.policies <array of <object>> Service policies.
ServiceConfig.policies[ServicePolicy] <object> Policies defined for this business service. Optional
ServiceConfig.policies[ServicePolicy].id <number> Service policy id. Optional
ServiceConfig.policies[ServicePolicy].
tuning_parameters
<object> Tuning parameters.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.id
<number> Service policy parameter id.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.tolerance_high
<number> Service policy high tolerance threshold.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.name
<string> Service policy parameter name.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.tolerance_low
<number> Service policy low tolerance threshold.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.noise_floor
<string> Service policy noise floor.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.duration
<number> Service policy duration.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.trigger_on_decreases
<string> Service policy trigger on decreases.
ServiceConfig.policies[ServicePolicy].
tuning_parameters.trigger_on_increases
<string> Service policy trigger on increases.
ServiceConfig.policies[ServicePolicy].
name
<string> Service policy name.

Services: Get service thumbnail

Get service diagram as a PNG image.

GET https://{device}/api/profiler/1.4/services/{service_id}/thumbnail
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Services: Get policies

Manage policies of one business service.

GET https://{device}/api/profiler/1.4/services/{service_id}/policies?offset={number}&sortby={string}&sort={string}&limit={number}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
offset <number> Starting element number. Optional
sortby <string> Sorting field name. Optional
sort <string> Sorting direction: 'asc' or 'desc' (default: 'asc'). Optional
limit <number> Number of rows to be returned. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "tuning_parameters": {
      "id": number,
      "tolerance_high": number,
      "name": string,
      "tolerance_low": number,
      "noise_floor": string,
      "duration": number,
      "trigger_on_decreases": string,
      "trigger_on_increases": string
    },
    "name": string
  }
]

Example:
[
  {
    "id": 352321572, 
    "name": "Srv-1_Seg-1_Conn_ActiveConns", 
    "tuning_parameters": {
      "noise_floor": 0, 
      "name": "conns_active", 
      "trigger_on_increases": true, 
      "trigger_on_decreases": false, 
      "duration": 1, 
      "tolerance_high": 8, 
      "tolerance_low": 7, 
      "id": 11
    }
  }, 
  {
    "id": 352321573, 
    "name": "Srv-1_Seg-1_Effncy_TCPRetransBW", 
    "tuning_parameters": {
      "noise_floor": 0, 
      "name": "retransbw", 
      "trigger_on_increases": true, 
      "trigger_on_decreases": false, 
      "duration": 1, 
      "tolerance_high": 8, 
      "tolerance_low": 7, 
      "id": 9
    }
  }, 
  {
    "id": 352321574, 
    "name": "Srv-1_Seg-2_Boston_Conn_ActiveConns", 
    "tuning_parameters": {
      "noise_floor": 0, 
      "name": "conns_active", 
      "trigger_on_increases": true, 
      "trigger_on_decreases": false, 
      "duration": 1, 
      "tolerance_high": 8, 
      "tolerance_low": 7, 
      "id": 11
    }
  }
]
Property Name Type Description Notes
ServicePoliciesList <array of <object>> List of service policies defined for this business service.
ServicePoliciesList[ServicePolicy] <object> Policies defined for this business service. Optional
ServicePoliciesList[ServicePolicy].id <number> Service policy id. Optional
ServicePoliciesList[ServicePolicy].
tuning_parameters
<object> Tuning parameters.
ServicePoliciesList[ServicePolicy].
tuning_parameters.id
<number> Service policy parameter id.
ServicePoliciesList[ServicePolicy].
tuning_parameters.tolerance_high
<number> Service policy high tolerance threshold.
ServicePoliciesList[ServicePolicy].
tuning_parameters.name
<string> Service policy parameter name.
ServicePoliciesList[ServicePolicy].
tuning_parameters.tolerance_low
<number> Service policy low tolerance threshold.
ServicePoliciesList[ServicePolicy].
tuning_parameters.noise_floor
<string> Service policy noise floor.
ServicePoliciesList[ServicePolicy].
tuning_parameters.duration
<number> Service policy duration.
ServicePoliciesList[ServicePolicy].
tuning_parameters.trigger_on_decreases
<string> Service policy trigger on decreases.
ServicePoliciesList[ServicePolicy].
tuning_parameters.trigger_on_increases
<string> Service policy trigger on increases.
ServicePoliciesList[ServicePolicy].name <string> Service policy name.

Services: Get segments

Manage segments of one business service.

GET https://{device}/api/profiler/1.4/services/{service_id}/segments?offset={number}&sortby={string}&sort={string}&limit={number}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
offset <number> Starting element number. Optional
sortby <string> Sorting field name. Optional
sort <string> Sorting direction: 'asc' or 'desc' (default: 'asc'). Optional
limit <number> Number of rows to be returned. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "alert_notification": string,
    "id": number,
    "definition": [
      string
    ],
    "client_component_id": number,
    "status": string,
    "locations": [
      {
        "host_group_type_id": number,
        "host_group_id": number,
        "location_id": number
      }
    ],
    "server_component_name": string,
    "name": string,
    "type": string,
    "monitored_metrics": [
      {
        "id": number
      }
    ],
    "location_type": string,
    "server_component_id": number,
    "client_component_name": string
  }
]

Example:
[
  {
    "status": "ADDED", 
    "definition": [], 
    "client_component_name": "Comp-2", 
    "name": "Seg-1", 
    "server_component_name": "Comp-3", 
    "type": "BACK_END", 
    "monitored_metrics": [
      {
        "id": 11
      }, 
      {
        "id": 9
      }
    ], 
    "id": 1003, 
    "server_component_id": 1002, 
    "alert_notification": true, 
    "client_component_id": 1001
  }, 
  {
    "status": "ADDED", 
    "definition": [], 
    "client_component_name": "Comp-1", 
    "name": "Seg-2", 
    "server_component_name": "Comp-2", 
    "type": "FRONT_END", 
    "locations": [
      {
        "host_group_type_id": 102, 
        "location_id": 1010, 
        "host_group_id": 0
      }
    ], 
    "monitored_metrics": [
      {
        "id": 11
      }
    ], 
    "id": 1009, 
    "server_component_id": 1001, 
    "alert_notification": false, 
    "client_component_id": 1000, 
    "location_type": "SUBSET"
  }
]
Property Name Type Description Notes
ServiceSegmentsList <array of <object>> List of segments defined for this business service.
ServiceSegmentsList[ServiceSegment] <object> Segments defined for this business service. Optional
ServiceSegmentsList[ServiceSegment].
alert_notification
<string> Alert notification flag.
ServiceSegmentsList[ServiceSegment].id <number> Service segment id. Optional
ServiceSegmentsList[ServiceSegment].
definition
<array of <string>> Segment definition.
ServiceSegmentsList[ServiceSegment].
definition[item]
<string> Service segment definition. Optional
ServiceSegmentsList[ServiceSegment].
client_component_id
<number> Client component id. Optional
ServiceSegmentsList[ServiceSegment].
status
<string> Service segment status. Optional; Values: ADDED, DROPPED, UNDECIDED
ServiceSegmentsList[ServiceSegment].
locations
<array of <object>> Segment locations. Optional
ServiceSegmentsList[ServiceSegment].
locations[SegmentLocation]
<object> Segment locations. Optional
ServiceSegmentsList[ServiceSegment].
locations[SegmentLocation].
host_group_type_id
<number> Host group type id.
ServiceSegmentsList[ServiceSegment].
locations[SegmentLocation].
host_group_id
<number> Host group id.
ServiceSegmentsList[ServiceSegment].
locations[SegmentLocation].location_id
<number> Location id. Optional
ServiceSegmentsList[ServiceSegment].
server_component_name
<string> Server component name.
ServiceSegmentsList[ServiceSegment].name <string> Service segment name.
ServiceSegmentsList[ServiceSegment].type <string> Service segment type. Optional; Values: FRONT_END, BACK_END
ServiceSegmentsList[ServiceSegment].
monitored_metrics
<array of <object>> Monitored segment metrics.
ServiceSegmentsList[ServiceSegment].
monitored_metrics[SegmentMetric]
<object> Segment metrics. Optional
ServiceSegmentsList[ServiceSegment].
monitored_metrics[SegmentMetric].id
<number> Metric id.
ServiceSegmentsList[ServiceSegment].
location_type
<string> Location type. Optional; Values: ALL, SUBSET
ServiceSegmentsList[ServiceSegment].
server_component_id
<number> Server component id. Optional
ServiceSegmentsList[ServiceSegment].
client_component_name
<string> Client component name.

Vnis: List VNIs

Get a list of Virtual Network Identifiers.

GET https://{device}/api/profiler/1.4/vnis
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "description": string,
    "name": string
  }
]

Example:
[
  {
    "description": "Customer A. Blue Network.", 
    "name": "Blue_Network", 
    "id": 100
  }, 
  {
    "description": "Customer B. Blue Network.", 
    "name": "Red_Network", 
    "id": 200
  }
]
Property Name Type Description Notes
VNIs <array of <object>> List of VNIs (Virtual Network Identifiers of SDN setup).
VNIs[VNI] <object> Object representing a VNI. Optional
VNIs[VNI].id <number> ID of the VNI.
VNIs[VNI].description <string> Description of the VNI. Optional
VNIs[VNI].name <string> Name of the VNI. Optional

Vnis: Delete VNI

Delete a Virtual Network Identifier.

DELETE https://{device}/api/profiler/1.4/vnis/{vni_id}
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Vnis: Update VNIs

Update one or many Virtual Network Identifiers.

PUT https://{device}/api/profiler/1.4/vnis
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "id": number,
    "description": string,
    "name": string
  }
]

Example:
[
  {
    "description": "Customer A. Blue Network.", 
    "name": "Blue_Network", 
    "id": 100
  }, 
  {
    "description": "Customer B. Blue Network.", 
    "name": "Red_Network", 
    "id": 200
  }
]
Property Name Type Description Notes
VNIs <array of <object>> List of VNIs (Virtual Network Identifiers of SDN setup).
VNIs[VNI] <object> Object representing a VNI. Optional
VNIs[VNI].id <number> ID of the VNI.
VNIs[VNI].description <string> Description of the VNI. Optional
VNIs[VNI].name <string> Name of the VNI. Optional
Response Body

On success, the server does not provide any body in the responses.

Vnis: Get VNI

Get a Virtual Network Identifier.

GET https://{device}/api/profiler/1.4/vnis/{vni_id}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "id": number,
  "description": string,
  "name": string
}

Example:
{
  "description": "Customer A. Blue Network.", 
  "name": "Blue_Network", 
  "id": 100
}
Property Name Type Description Notes
VNI <object> Object representing a VNI.
VNI.id <number> ID of the VNI.
VNI.description <string> Description of the VNI. Optional
VNI.name <string> Name of the VNI. Optional

Vnis: Update VNI

Update one Virtual Network Identifier.

PUT https://{device}/api/profiler/1.4/vnis/{vni_id}
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "id": number,
  "description": string,
  "name": string
}

Example:
{
  "description": "Customer A. Blue Network.", 
  "name": "Blue_Network", 
  "id": 100
}
Property Name Type Description Notes
VNI <object> Object representing a VNI.
VNI.id <number> ID of the VNI.
VNI.description <string> Description of the VNI. Optional
VNI.name <string> Name of the VNI. Optional
Response Body

On success, the server does not provide any body in the responses.

Recipients: List recipients

Get a list of recipients.

GET https://{device}/api/profiler/1.4/recipients
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "snmp_trap": {
      "snmp_trap_addresses": [
        {
          "port": number,
          "ipaddr": string
        }
      ],
      "version": string
    },
    "name": string,
    "email": {
      "format": string,
      "address": string
    }
  }
]

Example:
[
  {
    "id": -1, 
    "name": "* Log Only"
  }, 
  {
    "id": 1, 
    "name": "Default"
  }, 
  {
    "id": 2, 
    "snmp_trap": {
      "snmp_trap_addresses": [
        {
          "ipaddr": "10.0.0.1", 
          "port": 10
        }, 
        {
          "ipaddr": "10.1.1.2", 
          "port": 20
        }
      ], 
      "version": "V1"
    }, 
    "email": {
      "address": "example@riverbed.com", 
      "format": "EMAIL_FORMAT_PDF"
    }, 
    "name": "example_name"
  }
]
Property Name Type Description Notes
RecipientList <array of <object>> List of recipient.
RecipientList[Recipient] <object> Object representing a recipient. Optional
RecipientList[Recipient].id <number> Recipient Number.
RecipientList[Recipient].snmp_trap <object> Snmp trap recipient. Optional
RecipientList[Recipient].snmp_trap.
snmp_trap_addresses
<array of <object>> List of SNMPtrapAddress.
RecipientList[Recipient].snmp_trap.
snmp_trap_addresses[SNMPTrapAddress]
<object> Object representing a snmp trap address. Optional
RecipientList[Recipient].snmp_trap.
snmp_trap_addresses[SNMPTrapAddress].
port
<number> Port number for the IP address.
RecipientList[Recipient].snmp_trap.
snmp_trap_addresses[SNMPTrapAddress].
ipaddr
<string> IP address of a snmp trap recipient.
RecipientList[Recipient].snmp_trap.
version
<string> snmp trap version, V1, V2, V3. Values: V1, V2C, V3
RecipientList[Recipient].name <string> Recipient Notification Label.
RecipientList[Recipient].email <object> Email recipient. Optional
RecipientList[Recipient].email.format <string> Format of a recipient's email, PDF or HTML. Values: EMAIL_FORMAT_PDF, EMAIL_FORMAT_HTML
RecipientList[Recipient].email.address <string> Email address of a recipient.

Recipients: Get recipient

Get a recipient by id.

GET https://{device}/api/profiler/1.4/recipients/{id}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "id": number,
  "snmp_trap": {
    "snmp_trap_addresses": [
      {
        "port": number,
        "ipaddr": string
      }
    ],
    "version": string
  },
  "name": string,
  "email": {
    "format": string,
    "address": string
  }
}

Example:
{
  "id": 128, 
  "snmp_trap": {
    "snmp_trap_addresses": [
      {
        "ipaddr": "10.0.0.1", 
        "port": 10
      }, 
      {
        "ipaddr": "10.1.1.2", 
        "port": 20
      }
    ], 
    "version": "V1"
  }, 
  "email": {
    "address": "example@riverbed.com", 
    "format": "EMAIL_FORMAT_PDF"
  }, 
  "name": "example_name"
}
Property Name Type Description Notes
Recipient <object> Object representing a recipient.
Recipient.id <number> Recipient Number.
Recipient.snmp_trap <object> Snmp trap recipient. Optional
Recipient.snmp_trap.snmp_trap_addresses <array of <object>> List of SNMPtrapAddress.
Recipient.snmp_trap.snmp_trap_addresses
[SNMPTrapAddress]
<object> Object representing a snmp trap address. Optional
Recipient.snmp_trap.snmp_trap_addresses
[SNMPTrapAddress].port
<number> Port number for the IP address.
Recipient.snmp_trap.snmp_trap_addresses
[SNMPTrapAddress].ipaddr
<string> IP address of a snmp trap recipient.
Recipient.snmp_trap.version <string> snmp trap version, V1, V2, V3. Values: V1, V2C, V3
Recipient.name <string> Recipient Notification Label.
Recipient.email <object> Email recipient. Optional
Recipient.email.format <string> Format of a recipient's email, PDF or HTML. Values: EMAIL_FORMAT_PDF, EMAIL_FORMAT_HTML
Recipient.email.address <string> Email address of a recipient.

Steelheads: Disable Steelhead polling

Disables data polling from Steelheads.

POST https://{device}/api/profiler/1.4/steelheads/sync/disable
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "ipaddr": string
  }
]

Example:
[
  {
    "ipaddr": "10.99.16.252"
  }, 
  {
    "ipaddr": "10.99.15.252"
  }, 
  {
    "ipaddr": "10.99.14.252"
  }
]
Property Name Type Description Notes
SteelheadIPAddrs <array of <object>> IP addresses object representing the list of Steelheads.
SteelheadIPAddrs[SteelheadIPAddr] <object> IP address collection object representing the list of Steelheads. Optional
SteelheadIPAddrs[SteelheadIPAddr].ipaddr <string> IP address representing a Steelhead.
Response Body

On success, the server does not provide any body in the responses.

Steelheads: Enable Steelhead polling

Enables data polling from Steelheads.

POST https://{device}/api/profiler/1.4/steelheads/sync/enable
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "ipaddr": string
  }
]

Example:
[
  {
    "ipaddr": "10.99.16.252"
  }, 
  {
    "ipaddr": "10.99.15.252"
  }, 
  {
    "ipaddr": "10.99.14.252"
  }
]
Property Name Type Description Notes
SteelheadIPAddrs <array of <object>> IP addresses object representing the list of Steelheads.
SteelheadIPAddrs[SteelheadIPAddr] <object> IP address collection object representing the list of Steelheads. Optional
SteelheadIPAddrs[SteelheadIPAddr].ipaddr <string> IP address representing a Steelhead.
Response Body

On success, the server does not provide any body in the responses.

Steelheads: Delete Steelheads global OAuth

Deletes global OAuth code.

DELETE https://{device}/api/profiler/1.4/steelheads/oauth_code/global
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Steelheads: Get Steelheads OAuth codes

Get a list of steelheads CIDRs with OAuth code configured.

GET https://{device}/api/profiler/1.4/steelheads/oauth_code
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "cidr": string
  }
]

Example:
[
  {
    "cidr": "10.10.0.60"
  }, 
  {
    "cidr": "0/0"
  }, 
  {
    "cidr": "10/8"
  }
]
Property Name Type Description Notes
Cidrs <array of <object>> List of Cidr Objects.
Cidrs[Cidr] <object> Object representing an IP address, CIDR. Optional
Cidrs[Cidr].cidr <string> IP address, CIDR.

Steelheads: Update Steelheads OAuth codes

Creates or Updates Oauth Codes for a list of Steelheads.

PUT https://{device}/api/profiler/1.4/steelheads/oauth_code
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "code": string,
    "cidr": string
  }
]

Example:
[
  {
    "cidr": "10.20.0.60", 
    "code": "code_ip"
  }, 
  {
    "cidr": "0/0", 
    "code": "code_global"
  }, 
  {
    "cidr": "10/8", 
    "code": "code_region"
  }
]
Property Name Type Description Notes
Oauthcodes <array of <object>> List of OAuth code Objects.
Oauthcodes[Oauthcode] <object> Object representing an IP address, CIDR and its OAuth code. Optional
Oauthcodes[Oauthcode].code <string> OAuth code.
Oauthcodes[Oauthcode].cidr <string> IP address, CIDR.
Response Body

On success, the server does not provide any body in the responses.

Steelheads: Sync Steelheads QoS data

Retrieves QoS data from Steelheads on which polling is enabled.

POST https://{device}/api/profiler/1.4/steelheads/qos/sync
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "ipaddr": string
  }
]

Example:
[
  {
    "ipaddr": "10.99.16.252"
  }, 
  {
    "ipaddr": "10.99.15.252"
  }, 
  {
    "ipaddr": "10.99.14.252"
  }
]
Property Name Type Description Notes
SteelheadIPAddrs <array of <object>> IP addresses object representing the list of Steelheads.
SteelheadIPAddrs[SteelheadIPAddr] <object> IP address collection object representing the list of Steelheads. Optional
SteelheadIPAddrs[SteelheadIPAddr].ipaddr <string> IP address representing a Steelhead.
Response Body

On success, the server does not provide any body in the responses.

Steelheads: Sync Steelhead apps

Retrieves application data from Steelheads on which polling is enabled.

POST https://{device}/api/profiler/1.4/steelheads/apps/sync
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "ipaddr": string
  }
]

Example:
[
  {
    "ipaddr": "10.99.16.252"
  }, 
  {
    "ipaddr": "10.99.15.252"
  }, 
  {
    "ipaddr": "10.99.14.252"
  }
]
Property Name Type Description Notes
SteelheadIPAddrs <array of <object>> IP addresses object representing the list of Steelheads.
SteelheadIPAddrs[SteelheadIPAddr] <object> IP address collection object representing the list of Steelheads. Optional
SteelheadIPAddrs[SteelheadIPAddr].ipaddr <string> IP address representing a Steelhead.
Response Body

On success, the server does not provide any body in the responses.

Steelheads: Get Steelheads

Get a Steelhead QoS Global Configuration by IP address.

GET https://{device}/api/profiler/1.4/steelheads/{steelhead_ip}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "dpi": string,
  "marking": string,
  "sync": {
    "apps": {
      "enabled": string,
      "error_text": string,
      "last_sync_ts": number,
      "last_success_ts": number,
      "error_id": number,
      "state": string
    },
    "qos": {
      "enabled": string,
      "error_text": string,
      "last_sync_ts": number,
      "last_success_ts": number,
      "error_id": number,
      "state": string
    }
  },
  "ipaddr": string,
  "name": string,
  "oauth_custom": string,
  "hier_mode": string,
  "shaping": string,
  "easy_mode": string,
  "bw_overcommit": string
}

Example:
{
  "marking": false, 
  "name": "SH-DataCenter", 
  "ipaddr": "10.100.100.252", 
  "bw_overcommit": false, 
  "sync": {
    "qos": {
      "last_sync_ts": 1370967843, 
      "enabled": true, 
      "last_success_ts": 0, 
      "state": "SYNC_FAILED", 
      "error_id": 720897, 
      "error_text": "28: Timeout was reached"
    }, 
    "apps": {
      "last_sync_ts": 1370967843, 
      "enabled": true, 
      "last_success_ts": 0, 
      "state": "SYNC_FAILED", 
      "error_id": 720897, 
      "error_text": "28: Timeout was reached"
    }
  }, 
  "shaping": true, 
  "hier_mode": true, 
  "oauth_custom": false, 
  "dpi": true, 
  "easy_mode": false
}
Property Name Type Description Notes
Steelhead <object> Object representing a steelhead.
Steelhead.dpi <string> Flag indicating if Deep Packet Inspection (DPI) is enabled on this Steelhead. Optional
Steelhead.marking <string> Flag indicating if QoS Marking is enabled on this Steelhead. Optional
Steelhead.sync <object> Object representing Steelhead syncronization information.
Steelhead.sync.apps <object> Object representing Steelhead application syncronization information.
Steelhead.sync.apps.enabled <string> Flag - Enable application synchronization.
Steelhead.sync.apps.error_text <string> Error description.
Steelhead.sync.apps.last_sync_ts <number> Last attempted application synchronization time.
Steelhead.sync.apps.last_success_ts <number> Last successful application synchronization time.
Steelhead.sync.apps.error_id <number> Error ID.
Steelhead.sync.apps.state <string> Synchronization status. Values: SYNC_INITIALIZING, SYNC_FAILED, SYNC_SUCCEEDED, SYNC_DISABLED, SYNC_NA
Steelhead.sync.qos <object> Object representing Steelhead QoS syncronization information.
Steelhead.sync.qos.enabled <string> Flag indicating if QoS synchronization is enabled on this Steelhead.
Steelhead.sync.qos.error_text <string> Error description.
Steelhead.sync.qos.last_sync_ts <number> Last attempted QoS syncronization time.
Steelhead.sync.qos.last_success_ts <number> Last successful QoS syncronization time.
Steelhead.sync.qos.error_id <number> Error ID.
Steelhead.sync.qos.state <string> Synchronization status. Values: SYNC_INITIALIZING, SYNC_FAILED, SYNC_SUCCEEDED, SYNC_DISABLED, SYNC_NA
Steelhead.ipaddr <string> Steelhead IP address.
Steelhead.name <string> Steelhead name.
Steelhead.oauth_custom <string> Flag indicating if Custom OAuth code is configured on this Steelhead.
Steelhead.hier_mode <string> Flag indicating if QoS Hierarchical Mode is enabled on this Steelhead. Optional
Steelhead.shaping <string> Flag indicating if QoS Shaping is enabled on this Steelhead. Optional
Steelhead.easy_mode <string> Flag indicating which QoS Configuration Mode (Basic/Advanced) is set (Basic if true). Optional
Steelhead.bw_overcommit <string> Flag indicating if QoS Bandwidth Overcommit is enabled on this Steelhead. Optional

Steelheads: Delete Steelheads OAuth codes

Deletes OAuth codes for a list of Steelheads.

DELETE https://{device}/api/profiler/1.4/steelheads/oauth_code
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "cidr": string
  }
]

Example:
[
  {
    "cidr": "10.10.0.60"
  }, 
  {
    "cidr": "0/0"
  }, 
  {
    "cidr": "10/8"
  }
]
Property Name Type Description Notes
Cidrs <array of <object>> List of Cidr Objects.
Cidrs[Cidr] <object> Object representing an IP address, CIDR. Optional
Cidrs[Cidr].cidr <string> IP address, CIDR.
Response Body

On success, the server does not provide any body in the responses.

Steelheads: Update Steelheads global OAuth

Creates or Updates global OAuth code.

PUT https://{device}/api/profiler/1.4/steelheads/oauth_code/global
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "code": string
}

Example:
{
  "code": "code_global"
}
Property Name Type Description Notes
Globalcode <object> Global OAuth code object.
Globalcode.code <string> OAuth Code.
Response Body

On success, the server does not provide any body in the responses.

Steelheads: List Steelheads

Get a list of Steelheads and their QoS global and application configuration.

GET https://{device}/api/profiler/1.4/steelheads
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "dpi": string,
    "marking": string,
    "sync": {
      "apps": {
        "enabled": string,
        "error_text": string,
        "last_sync_ts": number,
        "last_success_ts": number,
        "error_id": number,
        "state": string
      },
      "qos": {
        "enabled": string,
        "error_text": string,
        "last_sync_ts": number,
        "last_success_ts": number,
        "error_id": number,
        "state": string
      }
    },
    "ipaddr": string,
    "name": string,
    "oauth_custom": string,
    "hier_mode": string,
    "shaping": string,
    "easy_mode": string,
    "bw_overcommit": string
  }
]

Example:
[
  {
    "marking": false, 
    "name": "10.99.15.252", 
    "ipaddr": "10.99.15.252", 
    "bw_overcommit": false, 
    "sync": {
      "qos": {
        "last_sync_ts": 1370967813, 
        "enabled": true, 
        "last_success_ts": 0, 
        "state": "SYNC_FAILED", 
        "error_id": 720897, 
        "error_text": "28: Timeout was reached"
      }, 
      "apps": {
        "last_sync_ts": 1370967813, 
        "enabled": true, 
        "last_success_ts": 0, 
        "state": "SYNC_FAILED", 
        "error_id": 720897, 
        "error_text": "28: Timeout was reached"
      }
    }, 
    "shaping": true, 
    "hier_mode": true, 
    "oauth_custom": false, 
    "dpi": false, 
    "easy_mode": true
  }, 
  {
    "marking": false, 
    "name": "SH-DataCenter", 
    "ipaddr": "10.100.100.252", 
    "bw_overcommit": false, 
    "sync": {
      "qos": {
        "last_sync_ts": 1370967843, 
        "enabled": true, 
        "last_success_ts": 0, 
        "state": "SYNC_FAILED", 
        "error_id": 720897, 
        "error_text": "28: Timeout was reached"
      }, 
      "apps": {
        "last_sync_ts": 1370967843, 
        "enabled": true, 
        "last_success_ts": 0, 
        "state": "SYNC_FAILED", 
        "error_id": 720897, 
        "error_text": "28: Timeout was reached"
      }
    }, 
    "shaping": true, 
    "hier_mode": true, 
    "oauth_custom": false, 
    "dpi": true, 
    "easy_mode": false
  }, 
  {
    "marking": false, 
    "name": "SH-LosAngeles", 
    "ipaddr": "10.99.12.252", 
    "bw_overcommit": false, 
    "sync": {
      "qos": {
        "last_sync_ts": 1371583559, 
        "enabled": true, 
        "last_success_ts": 0, 
        "state": "SYNC_FAILED", 
        "error_id": 720897, 
        "error_text": "28: Timeout was reached"
      }, 
      "apps": {
        "last_sync_ts": 1371583559, 
        "enabled": true, 
        "last_success_ts": 0, 
        "state": "SYNC_FAILED", 
        "error_id": 720897, 
        "error_text": "28: Timeout was reached"
      }
    }, 
    "shaping": true, 
    "hier_mode": true, 
    "oauth_custom": false, 
    "dpi": false, 
    "easy_mode": true
  }
]
Property Name Type Description Notes
Steelheads <array of <object>> List of Steelheads and their QoS and Application configuration data.
Steelheads[Steelhead] <object> Steelhead QoS and Application Configuration Data. Optional
Steelheads[Steelhead].dpi <string> Flag indicating if Deep Packet Inspection (DPI) is enabled on this Steelhead. Optional
Steelheads[Steelhead].marking <string> Flag indicating if QoS Marking is enabled on this Steelhead. Optional
Steelheads[Steelhead].sync <object> Object representing Steelhead syncronization information.
Steelheads[Steelhead].sync.apps <object> Object representing Steelhead application syncronization information.
Steelheads[Steelhead].sync.apps.enabled <string> Flag - Enable application synchronization.
Steelheads[Steelhead].sync.apps.
error_text
<string> Error description.
Steelheads[Steelhead].sync.apps.
last_sync_ts
<number> Last attempted application synchronization time.
Steelheads[Steelhead].sync.apps.
last_success_ts
<number> Last successful application synchronization time.
Steelheads[Steelhead].sync.apps.error_id <number> Error ID.
Steelheads[Steelhead].sync.apps.state <string> Synchronization status. Values: SYNC_INITIALIZING, SYNC_FAILED, SYNC_SUCCEEDED, SYNC_DISABLED, SYNC_NA
Steelheads[Steelhead].sync.qos <object> Object representing Steelhead QoS syncronization information.
Steelheads[Steelhead].sync.qos.enabled <string> Flag indicating if QoS synchronization is enabled on this Steelhead.
Steelheads[Steelhead].sync.qos.
error_text
<string> Error description.
Steelheads[Steelhead].sync.qos.
last_sync_ts
<number> Last attempted QoS syncronization time.
Steelheads[Steelhead].sync.qos.
last_success_ts
<number> Last successful QoS syncronization time.
Steelheads[Steelhead].sync.qos.error_id <number> Error ID.
Steelheads[Steelhead].sync.qos.state <string> Synchronization status. Values: SYNC_INITIALIZING, SYNC_FAILED, SYNC_SUCCEEDED, SYNC_DISABLED, SYNC_NA
Steelheads[Steelhead].ipaddr <string> Steelhead IP address.
Steelheads[Steelhead].name <string> Steelhead name.
Steelheads[Steelhead].oauth_custom <string> Flag indicating if Custom OAuth code is configured on this Steelhead.
Steelheads[Steelhead].hier_mode <string> Flag indicating if QoS Hierarchical Mode is enabled on this Steelhead. Optional
Steelheads[Steelhead].shaping <string> Flag indicating if QoS Shaping is enabled on this Steelhead. Optional
Steelheads[Steelhead].easy_mode <string> Flag indicating which QoS Configuration Mode (Basic/Advanced) is set (Basic if true). Optional
Steelheads[Steelhead].bw_overcommit <string> Flag indicating if QoS Bandwidth Overcommit is enabled on this Steelhead. Optional

Steelheads: Ping Steelhead

Pings a Steelhead by IP address.

GET https://{device}/api/profiler/1.4/steelheads/{steelhead_ip}/ping
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Steelheads: Check Steelheads global OAuth

Checks if the global OAuth code is configured.

GET https://{device}/api/profiler/1.4/steelheads/oauth_code/global
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "configured": string
}

Example:
{
  "configured": true
}
Property Name Type Description Notes
Oauthcodeglobal <object> Object representing the global OAuth code is configured.
Oauthcodeglobal.configured <string> True if the global ouath code is configured.

Devices: Enable REST polling

Globally disable REST polling for all devices.

POST https://{device}/api/profiler/1.4/devices/restsync/enable
Authorization

This request requires authorization.

Request Body

Do not provide a request body.

Response Body

On success, the server does not provide any body in the responses.

Devices: Get device

Get a device by IP Address.

GET https://{device}/api/profiler/1.4/devices/{device_ip}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "id": number,
  "type_id": number,
  "ipaddr": string,
  "name": string,
  "type": string,
  "version": string
}

Example:
{
  "name": "MyNetflowDevice", 
  "type_id": 2, 
  "ipaddr": "10.0.0.1", 
  "version": "N/A", 
  "type": "Netflow", 
  "id": 123
}
Property Name Type Description Notes
Device <object> Object representing a device.
Device.id <number> Device identifier (ID). Used internally in the product and in the API.
Device.type_id <number> Device type ID; a way to represent device type that is more friendly to programs.
Device.ipaddr <string> Device IP address.
Device.name <string> Device name, which usually comes from SNMP or DNS.
Device.type <string> Device type, e.g. Cascade Gateway, Cascade Shark or Netflow device.
Device.version <string> Version of the protocol used to communicate with the device.

Devices: List devices

Get a list of devices.

GET https://{device}/api/profiler/1.4/devices?type_id={number}&cidr={string}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
type_id <number> Filter devices by device type. Optional
cidr <string> Filter devices by IP or Subnet (e.g. 10.0.0.0/8). Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "type_id": number,
    "ipaddr": string,
    "name": string,
    "type": string,
    "version": string
  }
]

Example:
[
  {
    "name": "MyNetflowDevice", 
    "type_id": 2, 
    "ipaddr": "10.0.0.1", 
    "version": "N/A", 
    "type": "Netflow", 
    "id": 123
  }, 
  {
    "name": "MySensorDevice", 
    "type_id": 1, 
    "ipaddr": "10.0.0.2", 
    "version": "M8.4", 
    "type": "Sensor", 
    "id": 124
  }
]
Property Name Type Description Notes
Devices <array of <object>> List of network devices that report data to Profiler.
Devices[Device] <object> One device from the list of devices that report data. Optional
Devices[Device].id <number> Device identifier (ID). Used internally in the product and in the API.
Devices[Device].type_id <number> Device type ID; a way to represent device type that is more friendly to programs.
Devices[Device].ipaddr <string> Device IP address.
Devices[Device].name <string> Device name, which usually comes from SNMP or DNS.
Devices[Device].type <string> Device type, e.g. Cascade Gateway, Cascade Shark or Netflow device.
Devices[Device].version <string> Version of the protocol used to communicate with the device.

Devices: Check REST polling

Get global flag showing whether REST polling is enabled for all devices.

GET https://{device}/api/profiler/1.4/devices/restsync
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "enabled": string
}
Property Name Type Description Notes
DevicesRestSyncEnabled <object> Object representing global REST sync enabled flag for devices on Profiler.
DevicesRestSyncEnabled.enabled <string> Global REST sync enabled flag for devices on Profiler.

Devices: Delete device

Delete a device by IP Address. The operation is asynchronous. The device will be deleted within few minutes to hours depending on how busy is the system.

DELETE https://{device}/api/profiler/1.4/devices/{device_ip}
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Devices: Disable REST polling

Globally enable REST polling for all devices.

POST https://{device}/api/profiler/1.4/devices/restsync/disable
Authorization

This request requires authorization.

Request Body

Do not provide a request body.

Response Body

On success, the server does not provide any body in the responses.

Dscps: List DSCPs

Get complete DSCP configuration.

GET https://{device}/api/profiler/1.4/dscps
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "description": string,
    "name": string
  }
]

Example:
[
  {
    "description": "Assured Forwarding Class 1 Medium Drop", 
    "name": "AF12", 
    "id": 12
  }, 
  {
    "description": "", 
    "name": "", 
    "id": 13
  }, 
  {
    "description": "Assured Forwarding Class 1 High Drop", 
    "name": "AF13", 
    "id": 14
  }
]
Property Name Type Description Notes
CDSCPDefs <array of <object>> List of DSCP objects.
CDSCPDefs[DSCPDef] <object> Object representing DSCP information. Optional
CDSCPDefs[DSCPDef].id <number> ID of the DSCP.
CDSCPDefs[DSCPDef].description <string> Description of the DSCP.
CDSCPDefs[DSCPDef].name <string> Name of the DSCP.

Dscps: Get DSCP

Get information about a specific DSCP.

GET https://{device}/api/profiler/1.4/dscps/{dscp_id}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "id": number,
  "description": string,
  "name": string
}

Example:
{
  "description": "Assured Forwarding Class 1 Low Drop", 
  "name": "AF11", 
  "id": 10
}
Property Name Type Description Notes
DSCPDef <object> Object representing DSCP information.
DSCPDef.id <number> ID of the DSCP.
DSCPDef.description <string> Description of the DSCP.
DSCPDef.name <string> Name of the DSCP.

Dscps: Update DSCPs

Update DSCP configuration (only name and description can be updated).

PUT https://{device}/api/profiler/1.4/dscps
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "id": number,
    "description": string,
    "name": string
  }
]

Example:
[
  {
    "description": "Assured Forwarding Class 1 Medium Drop", 
    "name": "AF12", 
    "id": 12
  }, 
  {
    "description": "", 
    "name": "", 
    "id": 13
  }, 
  {
    "description": "Assured Forwarding Class 1 High Drop", 
    "name": "AF13", 
    "id": 14
  }
]
Property Name Type Description Notes
CDSCPDefs <array of <object>> List of DSCP objects.
CDSCPDefs[DSCPDef] <object> Object representing DSCP information. Optional
CDSCPDefs[DSCPDef].id <number> ID of the DSCP.
CDSCPDefs[DSCPDef].description <string> Description of the DSCP.
CDSCPDefs[DSCPDef].name <string> Name of the DSCP.
Response Body

On success, the server does not provide any body in the responses.

Dscps: Update DSCP

Update information for a specific DSCP.

PUT https://{device}/api/profiler/1.4/dscps/{dscp_id}
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "id": number,
  "description": string,
  "name": string
}

Example:
{
  "description": "Assured Forwarding Class 1 Low Drop", 
  "name": "AF11", 
  "id": 10
}
Property Name Type Description Notes
DSCPDef <object> Object representing DSCP information.
DSCPDef.id <number> ID of the DSCP.
DSCPDef.description <string> Description of the DSCP.
DSCPDef.name <string> Name of the DSCP.
Response Body

On success, the server does not provide any body in the responses.

Load_Balancers: Import load balancers

.

POST https://{device}/api/profiler/1.4/load_balancers/import?overwrite={string}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
overwrite <string> If it is true, existing load balancer is overwritten (default is false). Optional
Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "password": string,
    "id": number,
    "username": string,
    "status": {
      "last_attempt_query": string,
      "last_status": number,
      "last_success_time": number,
      "last_attempt_time": number
    },
    "virtualservers": [
      {
        "port": number,
        "lbname": string,
        "protocol": number,
        "id": number,
        "vsname": string,
        "iplist": [
          string
        ]
      }
    ],
    "name": string,
    "type": string,
    "hostportlist": [
      {
        "port": number,
        "ipaddr": string,
        "name": string
      }
    ]
  }
]

Example:
[
  {
    "status": {
      "last_attempt_query": "list query via 10.0.0.1", 
      "last_success_time": 1395081752, 
      "last_status": 0, 
      "last_attempt_time": 1395081752
    }, 
    "username": "admin", 
    "name": "web server load_balancer", 
    "hostportlist": [
      {
        "ipaddr": "10.0.0.1"
      }, 
      {
        "ipaddr": "10.0.0.2"
      }
    ], 
    "password": "string", 
    "type": "F5_LTM"
  }
]
Property Name Type Description Notes
LoadBalancers <array of <object>> List of network load balancers data.
LoadBalancers[LoadBalancer] <object> Load balancer data. Optional
LoadBalancers[LoadBalancer].password <string> Password. Optional
LoadBalancers[LoadBalancer].id <number> Load balancer id assigned by the profiler. Optional
LoadBalancers[LoadBalancer].username <string> User name. Optional
LoadBalancers[LoadBalancer].status <object> Object representing a load balancer status data. Optional
LoadBalancers[LoadBalancer].status.
last_attempt_query
<string> Description of last query: load balancer target IP, query type. Optional
LoadBalancers[LoadBalancer].status.
last_status
<number> Last retrieved load balancer status. Optional
LoadBalancers[LoadBalancer].status.
last_success_time
<number> Last time when load balancer status is successfully queried. Optional
LoadBalancers[LoadBalancer].status.
last_attempt_time
<number> Time stamp when the last query is conducted. Optional
LoadBalancers[LoadBalancer].
virtualservers
<array of <object>> Object representing a collection of virtual servers. This object is only available in load balancers export. Optional
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer]
<object> Virtual server configuration information. Optional
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].port
<number> Virtual server port.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].lbname
<string> Load balancer name.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].protocol
<number> Virtual server protocol.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].id
<number> Load balancer database ID.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].vsname
<string> Virtual server name.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].iplist
<array of <string>> Virtual server IP list.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].iplist
[item]
<string> IP Address. Optional
LoadBalancers[LoadBalancer].name <string> Load balancer name.
LoadBalancers[LoadBalancer].type <string> Load balancer type. Note: type SIMULATED is reserved for internal use only. Values: OTHER, SIMULATED, F5_LTM, STEELAPP
LoadBalancers[LoadBalancer].hostportlist <array of <object>> Load balancer management IP addresses and their ports. If used as a UI input, it could be either a DNS name or IP address. For SteelApp load balancer, a configurable network port is available. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort]
<object> Object representing IP address, its DNS name, and network port. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort].port
<number> Network port number. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort].ipaddr
<string> IP address. When used for input, it can be either IP address or DNS name. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort].name
<string> DNS name of an IP address. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "imported": number,
  "parsed": number
}
Property Name Type Description Notes
LBImportRestuls <object> Object representing the result of importing load balancers.
LBImportRestuls.imported <number> number of load balancers imported into the database.
LBImportRestuls.parsed <number> number of load balancers found in the input text.

Load_Balancers: List virtual servers

.

GET https://{device}/api/profiler/1.4/load_balancers/virtual_servers?offset={number}&lbid={number}&vs_name={string}&sortby={string}&sort={string}&vs_protocol={number}&vs_host={string}&vs_port={number}&limit={number}&exact_name={string}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
offset <number> Starting row number. Optional
lbid <number> load balancer id. If provided, all virtual servers of the requested load balancer are returned. Optional
vs_name <string> virtual server name. Optional
sortby <string> Sort by one of the following options: id (default), vs_name, vs_ip, vs_proto, and vs_port. Optional
sort <string> Sort order: asc or desc (default). Optional
vs_protocol <number> virtual server protocol id (value range: 1 - 255). Optional
vs_host <string> virtual server host IP address or CIDR notation; DNS name is not supported. Optional
vs_port <number> virtual server port number (value range: 0 - 65535). If a zero is given, it is for all ports. Optional
limit <number> Number of rows to be returned. Optional
exact_name <string> if it is true, exact vs_name match is performed. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "port": number,
    "lbname": string,
    "protocol": number,
    "id": number,
    "vsname": string,
    "iplist": [
      string
    ]
  }
]

Example:
[
  {
    "protocol": 6, 
    "vsname": "tcp_all_ports", 
    "port": 0, 
    "lbname": "f5", 
    "iplist": [
      "10.8.0.41"
    ], 
    "id": 1000
  }, 
  {
    "protocol": 6, 
    "vsname": "vs_http_perf", 
    "port": 80, 
    "lbname": "stingray", 
    "iplist": [
      "10.9.0.39", 
      "10.9.0.40"
    ], 
    "id": 1001
  }
]
Property Name Type Description Notes
VirtualServers <array of <object>> Object representing a collection of virtual servers.
VirtualServers[VirtualServer] <object> Virtual server configuration information. Optional
VirtualServers[VirtualServer].port <number> Virtual server port.
VirtualServers[VirtualServer].lbname <string> Load balancer name.
VirtualServers[VirtualServer].protocol <number> Virtual server protocol.
VirtualServers[VirtualServer].id <number> Load balancer database ID.
VirtualServers[VirtualServer].vsname <string> Virtual server name.
VirtualServers[VirtualServer].iplist <array of <string>> Virtual server IP list.
VirtualServers[VirtualServer].iplist
[item]
<string> IP Address. Optional

Load_Balancers: Delete a load_balancer_id

Delete a network load balancer.

DELETE https://{device}/api/profiler/1.4/load_balancers/{load_balancer_id}
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Load_Balancers: List of load balancers

Get a list of load balancers.

GET https://{device}/api/profiler/1.4/load_balancers?offset={number}&sortby={string}&sort={string}&limit={number}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
offset <number> Starting row number. Optional
sortby <string> Sort by one of the following options: id (default), name, iplist and type. Optional
sort <string> Sort order: asc or desc (default). Optional
limit <number> Number of rows to be returned. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "password": string,
    "id": number,
    "username": string,
    "status": {
      "last_attempt_query": string,
      "last_status": number,
      "last_success_time": number,
      "last_attempt_time": number
    },
    "virtualservers": [
      {
        "port": number,
        "lbname": string,
        "protocol": number,
        "id": number,
        "vsname": string,
        "iplist": [
          string
        ]
      }
    ],
    "name": string,
    "type": string,
    "hostportlist": [
      {
        "port": number,
        "ipaddr": string,
        "name": string
      }
    ]
  }
]

Example:
[
  {
    "status": {
      "last_attempt_query": "list query via 10.0.0.1", 
      "last_success_time": 1395081752, 
      "last_status": 0, 
      "last_attempt_time": 1395081752
    }, 
    "username": "admin", 
    "name": "web server load_balancer", 
    "hostportlist": [
      {
        "ipaddr": "10.0.0.1"
      }, 
      {
        "ipaddr": "10.0.0.2"
      }
    ], 
    "password": "string", 
    "type": "F5_LTM"
  }
]
Property Name Type Description Notes
LoadBalancers <array of <object>> List of network load balancers data.
LoadBalancers[LoadBalancer] <object> Load balancer data. Optional
LoadBalancers[LoadBalancer].password <string> Password. Optional
LoadBalancers[LoadBalancer].id <number> Load balancer id assigned by the profiler. Optional
LoadBalancers[LoadBalancer].username <string> User name. Optional
LoadBalancers[LoadBalancer].status <object> Object representing a load balancer status data. Optional
LoadBalancers[LoadBalancer].status.
last_attempt_query
<string> Description of last query: load balancer target IP, query type. Optional
LoadBalancers[LoadBalancer].status.
last_status
<number> Last retrieved load balancer status. Optional
LoadBalancers[LoadBalancer].status.
last_success_time
<number> Last time when load balancer status is successfully queried. Optional
LoadBalancers[LoadBalancer].status.
last_attempt_time
<number> Time stamp when the last query is conducted. Optional
LoadBalancers[LoadBalancer].
virtualservers
<array of <object>> Object representing a collection of virtual servers. This object is only available in load balancers export. Optional
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer]
<object> Virtual server configuration information. Optional
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].port
<number> Virtual server port.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].lbname
<string> Load balancer name.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].protocol
<number> Virtual server protocol.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].id
<number> Load balancer database ID.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].vsname
<string> Virtual server name.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].iplist
<array of <string>> Virtual server IP list.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].iplist
[item]
<string> IP Address. Optional
LoadBalancers[LoadBalancer].name <string> Load balancer name.
LoadBalancers[LoadBalancer].type <string> Load balancer type. Note: type SIMULATED is reserved for internal use only. Values: OTHER, SIMULATED, F5_LTM, STEELAPP
LoadBalancers[LoadBalancer].hostportlist <array of <object>> Load balancer management IP addresses and their ports. If used as a UI input, it could be either a DNS name or IP address. For SteelApp load balancer, a configurable network port is available. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort]
<object> Object representing IP address, its DNS name, and network port. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort].port
<number> Network port number. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort].ipaddr
<string> IP address. When used for input, it can be either IP address or DNS name. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort].name
<string> DNS name of an IP address. Optional

Load_Balancers: Create a network load balancer

Create a network balancer.

POST https://{device}/api/profiler/1.4/load_balancers
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "password": string,
  "id": number,
  "username": string,
  "status": {
    "last_attempt_query": string,
    "last_status": number,
    "last_success_time": number,
    "last_attempt_time": number
  },
  "virtualservers": [
    {
      "port": number,
      "lbname": string,
      "protocol": number,
      "id": number,
      "vsname": string,
      "iplist": [
        string
      ]
    }
  ],
  "name": string,
  "type": string,
  "hostportlist": [
    {
      "port": number,
      "ipaddr": string,
      "name": string
    }
  ]
}

Example:
{
  "status": {
    "last_attempt_query": "list query via 10.0.0.1", 
    "last_success_time": 1395081752, 
    "last_status": 0, 
    "last_attempt_time": 1395081752
  }, 
  "username": "admin", 
  "name": "web server load_balancer", 
  "hostportlist": [
    {
      "ipaddr": "10.0.0.1", 
      "port": 9070
    }, 
    {
      "ipaddr": "10.0.0.2", 
      "port": 9071
    }
  ], 
  "password": "string", 
  "type": "STEELAPP"
}
Property Name Type Description Notes
LoadBalancer <object> Object representing a load balancer.
LoadBalancer.password <string> Password. Optional
LoadBalancer.id <number> Load balancer id assigned by the profiler. Optional
LoadBalancer.username <string> User name. Optional
LoadBalancer.status <object> Object representing a load balancer status data. Optional
LoadBalancer.status.last_attempt_query <string> Description of last query: load balancer target IP, query type. Optional
LoadBalancer.status.last_status <number> Last retrieved load balancer status. Optional
LoadBalancer.status.last_success_time <number> Last time when load balancer status is successfully queried. Optional
LoadBalancer.status.last_attempt_time <number> Time stamp when the last query is conducted. Optional
LoadBalancer.virtualservers <array of <object>> Object representing a collection of virtual servers. This object is only available in load balancers export. Optional
LoadBalancer.virtualservers
[VirtualServer]
<object> Virtual server configuration information. Optional
LoadBalancer.virtualservers
[VirtualServer].port
<number> Virtual server port.
LoadBalancer.virtualservers
[VirtualServer].lbname
<string> Load balancer name.
LoadBalancer.virtualservers
[VirtualServer].protocol
<number> Virtual server protocol.
LoadBalancer.virtualservers
[VirtualServer].id
<number> Load balancer database ID.
LoadBalancer.virtualservers
[VirtualServer].vsname
<string> Virtual server name.
LoadBalancer.virtualservers
[VirtualServer].iplist
<array of <string>> Virtual server IP list.
LoadBalancer.virtualservers
[VirtualServer].iplist[item]
<string> IP Address. Optional
LoadBalancer.name <string> Load balancer name.
LoadBalancer.type <string> Load balancer type. Note: type SIMULATED is reserved for internal use only. Values: OTHER, SIMULATED, F5_LTM, STEELAPP
LoadBalancer.hostportlist <array of <object>> Load balancer management IP addresses and their ports. If used as a UI input, it could be either a DNS name or IP address. For SteelApp load balancer, a configurable network port is available. Optional
LoadBalancer.hostportlist[HostPort] <object> Object representing IP address, its DNS name, and network port. Optional
LoadBalancer.hostportlist[HostPort].port <number> Network port number. Optional
LoadBalancer.hostportlist[HostPort].
ipaddr
<string> IP address. When used for input, it can be either IP address or DNS name. Optional
LoadBalancer.hostportlist[HostPort].name <string> DNS name of an IP address. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "password": string,
  "id": number,
  "username": string,
  "status": {
    "last_attempt_query": string,
    "last_status": number,
    "last_success_time": number,
    "last_attempt_time": number
  },
  "virtualservers": [
    {
      "port": number,
      "lbname": string,
      "protocol": number,
      "id": number,
      "vsname": string,
      "iplist": [
        string
      ]
    }
  ],
  "name": string,
  "type": string,
  "hostportlist": [
    {
      "port": number,
      "ipaddr": string,
      "name": string
    }
  ]
}

Example:
{
  "status": {
    "last_attempt_query": "list query via 10.0.0.1", 
    "last_success_time": 1395081752, 
    "last_status": 0, 
    "last_attempt_time": 1395081752
  }, 
  "username": "admin", 
  "name": "web server load_balancer", 
  "hostportlist": [
    {
      "ipaddr": "10.0.0.1", 
      "port": 9070
    }, 
    {
      "ipaddr": "10.0.0.2", 
      "port": 9071
    }
  ], 
  "password": "string", 
  "type": "STEELAPP"
}
Property Name Type Description Notes
LoadBalancer <object> Object representing a load balancer.
LoadBalancer.password <string> Password. Optional
LoadBalancer.id <number> Load balancer id assigned by the profiler. Optional
LoadBalancer.username <string> User name. Optional
LoadBalancer.status <object> Object representing a load balancer status data. Optional
LoadBalancer.status.last_attempt_query <string> Description of last query: load balancer target IP, query type. Optional
LoadBalancer.status.last_status <number> Last retrieved load balancer status. Optional
LoadBalancer.status.last_success_time <number> Last time when load balancer status is successfully queried. Optional
LoadBalancer.status.last_attempt_time <number> Time stamp when the last query is conducted. Optional
LoadBalancer.virtualservers <array of <object>> Object representing a collection of virtual servers. This object is only available in load balancers export. Optional
LoadBalancer.virtualservers
[VirtualServer]
<object> Virtual server configuration information. Optional
LoadBalancer.virtualservers
[VirtualServer].port
<number> Virtual server port.
LoadBalancer.virtualservers
[VirtualServer].lbname
<string> Load balancer name.
LoadBalancer.virtualservers
[VirtualServer].protocol
<number> Virtual server protocol.
LoadBalancer.virtualservers
[VirtualServer].id
<number> Load balancer database ID.
LoadBalancer.virtualservers
[VirtualServer].vsname
<string> Virtual server name.
LoadBalancer.virtualservers
[VirtualServer].iplist
<array of <string>> Virtual server IP list.
LoadBalancer.virtualservers
[VirtualServer].iplist[item]
<string> IP Address. Optional
LoadBalancer.name <string> Load balancer name.
LoadBalancer.type <string> Load balancer type. Note: type SIMULATED is reserved for internal use only. Values: OTHER, SIMULATED, F5_LTM, STEELAPP
LoadBalancer.hostportlist <array of <object>> Load balancer management IP addresses and their ports. If used as a UI input, it could be either a DNS name or IP address. For SteelApp load balancer, a configurable network port is available. Optional
LoadBalancer.hostportlist[HostPort] <object> Object representing IP address, its DNS name, and network port. Optional
LoadBalancer.hostportlist[HostPort].port <number> Network port number. Optional
LoadBalancer.hostportlist[HostPort].
ipaddr
<string> IP address. When used for input, it can be either IP address or DNS name. Optional
LoadBalancer.hostportlist[HostPort].name <string> DNS name of an IP address. Optional

Load_Balancers: Update load_balancers

Update network a load balancer (fields that can be updated are name, type, primary ip, secondary ip, user name, and password).

PUT https://{device}/api/profiler/1.4/load_balancers/{load_balancer_id}
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "password": string,
  "id": number,
  "username": string,
  "status": {
    "last_attempt_query": string,
    "last_status": number,
    "last_success_time": number,
    "last_attempt_time": number
  },
  "virtualservers": [
    {
      "port": number,
      "lbname": string,
      "protocol": number,
      "id": number,
      "vsname": string,
      "iplist": [
        string
      ]
    }
  ],
  "name": string,
  "type": string,
  "hostportlist": [
    {
      "port": number,
      "ipaddr": string,
      "name": string
    }
  ]
}

Example:
{
  "status": {
    "last_attempt_query": "list query via 10.0.0.1", 
    "last_success_time": 1395081752, 
    "last_status": 0, 
    "last_attempt_time": 1395081752
  }, 
  "username": "admin", 
  "name": "web server load_balancer", 
  "hostportlist": [
    {
      "ipaddr": "10.0.0.1", 
      "port": 9070
    }, 
    {
      "ipaddr": "10.0.0.2", 
      "port": 9071
    }
  ], 
  "password": "string", 
  "type": "STEELAPP"
}
Property Name Type Description Notes
LoadBalancer <object> Object representing a load balancer.
LoadBalancer.password <string> Password. Optional
LoadBalancer.id <number> Load balancer id assigned by the profiler. Optional
LoadBalancer.username <string> User name. Optional
LoadBalancer.status <object> Object representing a load balancer status data. Optional
LoadBalancer.status.last_attempt_query <string> Description of last query: load balancer target IP, query type. Optional
LoadBalancer.status.last_status <number> Last retrieved load balancer status. Optional
LoadBalancer.status.last_success_time <number> Last time when load balancer status is successfully queried. Optional
LoadBalancer.status.last_attempt_time <number> Time stamp when the last query is conducted. Optional
LoadBalancer.virtualservers <array of <object>> Object representing a collection of virtual servers. This object is only available in load balancers export. Optional
LoadBalancer.virtualservers
[VirtualServer]
<object> Virtual server configuration information. Optional
LoadBalancer.virtualservers
[VirtualServer].port
<number> Virtual server port.
LoadBalancer.virtualservers
[VirtualServer].lbname
<string> Load balancer name.
LoadBalancer.virtualservers
[VirtualServer].protocol
<number> Virtual server protocol.
LoadBalancer.virtualservers
[VirtualServer].id
<number> Load balancer database ID.
LoadBalancer.virtualservers
[VirtualServer].vsname
<string> Virtual server name.
LoadBalancer.virtualservers
[VirtualServer].iplist
<array of <string>> Virtual server IP list.
LoadBalancer.virtualservers
[VirtualServer].iplist[item]
<string> IP Address. Optional
LoadBalancer.name <string> Load balancer name.
LoadBalancer.type <string> Load balancer type. Note: type SIMULATED is reserved for internal use only. Values: OTHER, SIMULATED, F5_LTM, STEELAPP
LoadBalancer.hostportlist <array of <object>> Load balancer management IP addresses and their ports. If used as a UI input, it could be either a DNS name or IP address. For SteelApp load balancer, a configurable network port is available. Optional
LoadBalancer.hostportlist[HostPort] <object> Object representing IP address, its DNS name, and network port. Optional
LoadBalancer.hostportlist[HostPort].port <number> Network port number. Optional
LoadBalancer.hostportlist[HostPort].
ipaddr
<string> IP address. When used for input, it can be either IP address or DNS name. Optional
LoadBalancer.hostportlist[HostPort].name <string> DNS name of an IP address. Optional
Response Body

On success, the server does not provide any body in the responses.

Load_Balancers: Detect a load balancer's SNATs that match a list of IP protocol port or CIDR notation specified by user

Detect a load balancer's SNATs that match a list of IP protocol port or CIDR notation specified by user.

POST https://{device}/api/profiler/1.4/load_balancers/{load_balancer_id}/detect_snats
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "cidr": string,
    "ipprotoport": {
      "port": number,
      "protocol": number,
      "ipaddr": string
    }
  }
]

Example:
[
  {
    "ipprotoport": {
      "ipaddr": "1.1.1.1"
    }
  }, 
  {
    "ipprotoport": {
      "ipaddr": "2.2.2.2", 
      "protocol": 6, 
      "port": 80
    }
  }, 
  {
    "cidr": "10/8"
  }
]
Property Name Type Description Notes
IPProtoPortCidrList <array of <object>> Object representing a list of ip protocol port or cidr.
IPProtoPortCidrList[IPProtoPortCidr] <object> Object representing ip protocol port or cidr. Optional
IPProtoPortCidrList[IPProtoPortCidr].
cidr
<string> Network CIDR (string). Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport
<object> Object representing ip protocol port. Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport.port
<number> Network port number. Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport.protocol
<number> Network protocol. Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport.ipaddr
<string> Network IP address.
Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "type": string,
  "snats": [
    string
  ],
  "warning": string
}

Example:
{
  "type": "SOMETIMES", 
  "snats": [
    "1.1.1.1", 
    "2.2.2.2"
  ]
}
Property Name Type Description Notes
SNATInfo <object> Object representing SNATs info and a possible operation related warning message.
SNATInfo.type <string> SNAT type that could be either NOT_USED, SOMETIMES, or ALWAYS. Optional; Values: NOT_USED, SOMETIMES, ALWAYS
SNATInfo.snats <array of <string>> Object representing a list of SNATs IP addresses. Optional
SNATInfo.snats[item] <string> IP Address. Optional
SNATInfo.warning <string> A possible warning message providing more details on the requested operation. Optional

Load_Balancers: Detect load balancer's real servers that match a list of IP protocol port or CIDR notation specified by user

Detect load balancer's real servers that match a list of IP protocol port or CIDR notation specified by user.

POST https://{device}/api/profiler/1.4/load_balancers/{load_balancer_id}/detect_realservers
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "cidr": string,
    "ipprotoport": {
      "port": number,
      "protocol": number,
      "ipaddr": string
    }
  }
]

Example:
[
  {
    "ipprotoport": {
      "ipaddr": "1.1.1.1"
    }
  }, 
  {
    "ipprotoport": {
      "ipaddr": "2.2.2.2", 
      "protocol": 6, 
      "port": 80
    }
  }, 
  {
    "cidr": "10/8"
  }
]
Property Name Type Description Notes
IPProtoPortCidrList <array of <object>> Object representing a list of ip protocol port or cidr.
IPProtoPortCidrList[IPProtoPortCidr] <object> Object representing ip protocol port or cidr. Optional
IPProtoPortCidrList[IPProtoPortCidr].
cidr
<string> Network CIDR (string). Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport
<object> Object representing ip protocol port. Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport.port
<number> Network port number. Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport.protocol
<number> Network protocol. Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport.ipaddr
<string> Network IP address.
Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "realservers": [
    {
      "port": number,
      "protocol": number,
      "ipaddr": string
    }
  ],
  "warning": string
}

Example:
[]
Property Name Type Description Notes
RealServerListInfo <object> Object representing real server list info and a possible operation related warning message.
RealServerListInfo.realservers <array of <object>> Object representing real servers. Optional
RealServerListInfo.realservers
[IPProtoPort]
<object> Object representing a real server which is an IPProtoPort. Optional
RealServerListInfo.realservers
[IPProtoPort].port
<number> Network port number. Optional
RealServerListInfo.realservers
[IPProtoPort].protocol
<number> Network protocol. Optional
RealServerListInfo.realservers
[IPProtoPort].ipaddr
<string> Network IP address.
RealServerListInfo.warning <string> A possible warning message providing more details on the requested operation. Optional

Load_Balancers: Refresh load balancer virtual servers

Refresh load balancer virtual servers.

POST https://{device}/api/profiler/1.4/load_balancers/{load_balancer_id}/refresh
Authorization

This request requires authorization.

Request Body

Do not provide a request body.

Response Body

On success, the server does not provide any body in the responses.

Load_Balancers: List of virtual servers

.

GET https://{device}/api/profiler/1.4/load_balancers/{load_balancer_id}/virtual_servers?offset={number}&vs_name={string}&sortby={string}&sort={string}&vs_protocol={number}&vs_host={string}&vs_port={number}&limit={number}&exact_name={string}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
offset <number> Starting row number. Optional
vs_name <string> virtual server name. Optional
sortby <string> Sort by one of the following options: id (default), vs_name, vs_ip, vs_proto, and vs_port. Optional
sort <string> Sort order: asc or desc (default). Optional
vs_protocol <number> virtual server protocol id (value range: 1 - 255). Optional
vs_host <string> virtual server host IP address or CIDR notation; DNS name is not supported. Optional
vs_port <number> virtual server port number (value range: 0 - 65535). If a zero is given, it is for all ports. Optional
limit <number> Number of rows to be returned. Optional
exact_name <string> if it is true, exact vs_name match is performed. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "port": number,
    "lbname": string,
    "protocol": number,
    "id": number,
    "vsname": string,
    "iplist": [
      string
    ]
  }
]

Example:
[
  {
    "protocol": 6, 
    "vsname": "tcp_all_ports", 
    "port": 0, 
    "lbname": "f5", 
    "iplist": [
      "10.8.0.41"
    ], 
    "id": 1000
  }, 
  {
    "protocol": 6, 
    "vsname": "vs_http_perf", 
    "port": 80, 
    "lbname": "stingray", 
    "iplist": [
      "10.9.0.39", 
      "10.9.0.40"
    ], 
    "id": 1001
  }
]
Property Name Type Description Notes
VirtualServers <array of <object>> Object representing a collection of virtual servers.
VirtualServers[VirtualServer] <object> Virtual server configuration information. Optional
VirtualServers[VirtualServer].port <number> Virtual server port.
VirtualServers[VirtualServer].lbname <string> Load balancer name.
VirtualServers[VirtualServer].protocol <number> Virtual server protocol.
VirtualServers[VirtualServer].id <number> Load balancer database ID.
VirtualServers[VirtualServer].vsname <string> Virtual server name.
VirtualServers[VirtualServer].iplist <array of <string>> Virtual server IP list.
VirtualServers[VirtualServer].iplist
[item]
<string> IP Address. Optional

Load_Balancers: Get a load balancer

.

GET https://{device}/api/profiler/1.4/load_balancers/{load_balancer_id}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "password": string,
  "id": number,
  "username": string,
  "status": {
    "last_attempt_query": string,
    "last_status": number,
    "last_success_time": number,
    "last_attempt_time": number
  },
  "virtualservers": [
    {
      "port": number,
      "lbname": string,
      "protocol": number,
      "id": number,
      "vsname": string,
      "iplist": [
        string
      ]
    }
  ],
  "name": string,
  "type": string,
  "hostportlist": [
    {
      "port": number,
      "ipaddr": string,
      "name": string
    }
  ]
}

Example:
{
  "status": {
    "last_attempt_query": "list query via 10.0.0.1", 
    "last_success_time": 1395081752, 
    "last_status": 0, 
    "last_attempt_time": 1395081752
  }, 
  "username": "admin", 
  "name": "web server load_balancer", 
  "hostportlist": [
    {
      "ipaddr": "10.0.0.1", 
      "port": 9070
    }, 
    {
      "ipaddr": "10.0.0.2", 
      "port": 9071
    }
  ], 
  "password": "string", 
  "type": "STEELAPP"
}
Property Name Type Description Notes
LoadBalancer <object> Object representing a load balancer.
LoadBalancer.password <string> Password. Optional
LoadBalancer.id <number> Load balancer id assigned by the profiler. Optional
LoadBalancer.username <string> User name. Optional
LoadBalancer.status <object> Object representing a load balancer status data. Optional
LoadBalancer.status.last_attempt_query <string> Description of last query: load balancer target IP, query type. Optional
LoadBalancer.status.last_status <number> Last retrieved load balancer status. Optional
LoadBalancer.status.last_success_time <number> Last time when load balancer status is successfully queried. Optional
LoadBalancer.status.last_attempt_time <number> Time stamp when the last query is conducted. Optional
LoadBalancer.virtualservers <array of <object>> Object representing a collection of virtual servers. This object is only available in load balancers export. Optional
LoadBalancer.virtualservers
[VirtualServer]
<object> Virtual server configuration information. Optional
LoadBalancer.virtualservers
[VirtualServer].port
<number> Virtual server port.
LoadBalancer.virtualservers
[VirtualServer].lbname
<string> Load balancer name.
LoadBalancer.virtualservers
[VirtualServer].protocol
<number> Virtual server protocol.
LoadBalancer.virtualservers
[VirtualServer].id
<number> Load balancer database ID.
LoadBalancer.virtualservers
[VirtualServer].vsname
<string> Virtual server name.
LoadBalancer.virtualservers
[VirtualServer].iplist
<array of <string>> Virtual server IP list.
LoadBalancer.virtualservers
[VirtualServer].iplist[item]
<string> IP Address. Optional
LoadBalancer.name <string> Load balancer name.
LoadBalancer.type <string> Load balancer type. Note: type SIMULATED is reserved for internal use only. Values: OTHER, SIMULATED, F5_LTM, STEELAPP
LoadBalancer.hostportlist <array of <object>> Load balancer management IP addresses and their ports. If used as a UI input, it could be either a DNS name or IP address. For SteelApp load balancer, a configurable network port is available. Optional
LoadBalancer.hostportlist[HostPort] <object> Object representing IP address, its DNS name, and network port. Optional
LoadBalancer.hostportlist[HostPort].port <number> Network port number. Optional
LoadBalancer.hostportlist[HostPort].
ipaddr
<string> IP address. When used for input, it can be either IP address or DNS name. Optional
LoadBalancer.hostportlist[HostPort].name <string> DNS name of an IP address. Optional

Load_Balancers: Export load balancers

.

GET https://{device}/api/profiler/1.4/load_balancers/export
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "password": string,
    "id": number,
    "username": string,
    "status": {
      "last_attempt_query": string,
      "last_status": number,
      "last_success_time": number,
      "last_attempt_time": number
    },
    "virtualservers": [
      {
        "port": number,
        "lbname": string,
        "protocol": number,
        "id": number,
        "vsname": string,
        "iplist": [
          string
        ]
      }
    ],
    "name": string,
    "type": string,
    "hostportlist": [
      {
        "port": number,
        "ipaddr": string,
        "name": string
      }
    ]
  }
]

Example:
[
  {
    "status": {
      "last_attempt_query": "list query via 10.0.0.1", 
      "last_success_time": 1395081752, 
      "last_status": 0, 
      "last_attempt_time": 1395081752
    }, 
    "username": "admin", 
    "name": "web server load_balancer", 
    "hostportlist": [
      {
        "ipaddr": "10.0.0.1"
      }, 
      {
        "ipaddr": "10.0.0.2"
      }
    ], 
    "password": "string", 
    "type": "F5_LTM"
  }
]
Property Name Type Description Notes
LoadBalancers <array of <object>> List of network load balancers data.
LoadBalancers[LoadBalancer] <object> Load balancer data. Optional
LoadBalancers[LoadBalancer].password <string> Password. Optional
LoadBalancers[LoadBalancer].id <number> Load balancer id assigned by the profiler. Optional
LoadBalancers[LoadBalancer].username <string> User name. Optional
LoadBalancers[LoadBalancer].status <object> Object representing a load balancer status data. Optional
LoadBalancers[LoadBalancer].status.
last_attempt_query
<string> Description of last query: load balancer target IP, query type. Optional
LoadBalancers[LoadBalancer].status.
last_status
<number> Last retrieved load balancer status. Optional
LoadBalancers[LoadBalancer].status.
last_success_time
<number> Last time when load balancer status is successfully queried. Optional
LoadBalancers[LoadBalancer].status.
last_attempt_time
<number> Time stamp when the last query is conducted. Optional
LoadBalancers[LoadBalancer].
virtualservers
<array of <object>> Object representing a collection of virtual servers. This object is only available in load balancers export. Optional
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer]
<object> Virtual server configuration information. Optional
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].port
<number> Virtual server port.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].lbname
<string> Load balancer name.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].protocol
<number> Virtual server protocol.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].id
<number> Load balancer database ID.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].vsname
<string> Virtual server name.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].iplist
<array of <string>> Virtual server IP list.
LoadBalancers[LoadBalancer].
virtualservers[VirtualServer].iplist
[item]
<string> IP Address. Optional
LoadBalancers[LoadBalancer].name <string> Load balancer name.
LoadBalancers[LoadBalancer].type <string> Load balancer type. Note: type SIMULATED is reserved for internal use only. Values: OTHER, SIMULATED, F5_LTM, STEELAPP
LoadBalancers[LoadBalancer].hostportlist <array of <object>> Load balancer management IP addresses and their ports. If used as a UI input, it could be either a DNS name or IP address. For SteelApp load balancer, a configurable network port is available. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort]
<object> Object representing IP address, its DNS name, and network port. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort].port
<number> Network port number. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort].ipaddr
<string> IP address. When used for input, it can be either IP address or DNS name. Optional
LoadBalancers[LoadBalancer].hostportlist
[HostPort].name
<string> DNS name of an IP address. Optional

Load_Balancers: Detect load balancers that match a list of IP protocol port or CIDR notation specified by user

Detect load balancers that match a list of IP protocol port or CIDR notation specified by user.

POST https://{device}/api/profiler/1.4/load_balancers/detect
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "cidr": string,
    "ipprotoport": {
      "port": number,
      "protocol": number,
      "ipaddr": string
    }
  }
]

Example:
[
  {
    "ipprotoport": {
      "ipaddr": "1.1.1.1"
    }
  }, 
  {
    "ipprotoport": {
      "ipaddr": "2.2.2.2", 
      "protocol": 6, 
      "port": 80
    }
  }, 
  {
    "cidr": "10/8"
  }
]
Property Name Type Description Notes
IPProtoPortCidrList <array of <object>> Object representing a list of ip protocol port or cidr.
IPProtoPortCidrList[IPProtoPortCidr] <object> Object representing ip protocol port or cidr. Optional
IPProtoPortCidrList[IPProtoPortCidr].
cidr
<string> Network CIDR (string). Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport
<object> Object representing ip protocol port. Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport.port
<number> Network port number. Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport.protocol
<number> Network protocol. Optional
IPProtoPortCidrList[IPProtoPortCidr].
ipprotoport.ipaddr
<string> Network IP address.
Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "lb_ipprotoport_cidr_lists": [
    {
      "id": number,
      "name": string,
      "type": string,
      "ipprotoport_cidr_list": [
        {
          "cidr": string,
          "ipprotoport": {
            "port": number,
            "protocol": number,
            "ipaddr": string
          }
        }
      ]
    }
  ],
  "warning": string
}

Example:
{
  "lb_ipprotoport_cidr_lists": [
    {
      "ipprotoport_cidr_list": [
        {
          "ipprotoport": {
            "ipaddr": "1.1.1.1"
          }
        }
      ], 
      "id": 0
    }, 
    {
      "ipprotoport_cidr_list": [
        {
          "ipprotoport": {
            "ipaddr": "2.2.2.2", 
            "protocol": 6, 
            "port": 80
          }
        }
      ], 
      "type": "STEELAPP", 
      "id": 1
    }
  ]
}
Property Name Type Description Notes
LBIPProtoPortCidrListsInfo <object> Object representing a list of LBIPProtoPortCidrList and a possible operation related warning message.
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
<array of <object>> Object representing LBIPProtoPortCidrLists. Optional
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
[LBIPProtoPortCidrList]
<object> a list of load balancer ip protocol port or cidr. Optional
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
[LBIPProtoPortCidrList].id
<number> Load balancer database ID.
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
[LBIPProtoPortCidrList].name
<string> Load balancer name. Optional
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
[LBIPProtoPortCidrList].type
<string> Load balancer type. Optional; Values: OTHER, SIMULATED, F5_LTM, STEELAPP
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
[LBIPProtoPortCidrList].
ipprotoport_cidr_list
<array of <object>> A list of ip protocol port or cidr notation.
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
[LBIPProtoPortCidrList].
ipprotoport_cidr_list[IPProtoPortCidr]
<object> Object representing ip protocol port or cidr. Optional
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
[LBIPProtoPortCidrList].
ipprotoport_cidr_list[IPProtoPortCidr].
cidr
<string> Network CIDR (string). Optional
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
[LBIPProtoPortCidrList].
ipprotoport_cidr_list[IPProtoPortCidr].
ipprotoport
<object> Object representing ip protocol port. Optional
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
[LBIPProtoPortCidrList].
ipprotoport_cidr_list[IPProtoPortCidr].
ipprotoport.port
<number> Network port number. Optional
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
[LBIPProtoPortCidrList].
ipprotoport_cidr_list[IPProtoPortCidr].
ipprotoport.protocol
<number> Network protocol. Optional
LBIPProtoPortCidrListsInfo.
lb_ipprotoport_cidr_lists
[LBIPProtoPortCidrList].
ipprotoport_cidr_list[IPProtoPortCidr].
ipprotoport.ipaddr
<string> Network IP address.
LBIPProtoPortCidrListsInfo.warning <string> A possible warning message providing more details on the requested operation. Optional

Port_Groups: Get port group

Get one port group.

GET https://{device}/api/profiler/1.4/port_groups/{group_id}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "id": number,
  "definitions": [
    {
      "port": number,
      "proto": number
    }
  ],
  "name": string
}

Example:
{
  "definitions": [
    {
      "port": 137, 
      "proto": 6
    }, 
    {
      "port": 137, 
      "proto": 17
    }, 
    {
      "port": 138, 
      "proto": 6
    }, 
    {
      "port": 138, 
      "proto": 17
    }, 
    {
      "port": 139, 
      "proto": 6
    }, 
    {
      "port": 139, 
      "proto": 17
    }
  ], 
  "id": 3, 
  "name": "netbios"
}
Property Name Type Description Notes
CPortGroupDef <object> Object representing port group information.
CPortGroupDef.id <number> ID of the port group. To be used in the API. Optional
CPortGroupDef.definitions <array of <object>> Object with port group's definitions.
CPortGroupDef.definitions
[CPortGroupProtoPort]
<object> Port associated with port group. Optional
CPortGroupDef.definitions
[CPortGroupProtoPort].port
<number> Port associated with port group.
CPortGroupDef.definitions
[CPortGroupProtoPort].proto
<number> Protocol that corresponds to the port of the port group.
CPortGroupDef.name <string> Name of the port group.

Port_Groups: Create port group

Create a new port group.

POST https://{device}/api/profiler/1.4/port_groups
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "id": number,
  "definitions": [
    {
      "port": number,
      "proto": number
    }
  ],
  "name": string
}

Example:
{
  "definitions": [
    {
      "port": 137, 
      "proto": 6
    }, 
    {
      "port": 137, 
      "proto": 17
    }, 
    {
      "port": 138, 
      "proto": 6
    }, 
    {
      "port": 138, 
      "proto": 17
    }, 
    {
      "port": 139, 
      "proto": 6
    }, 
    {
      "port": 139, 
      "proto": 17
    }
  ], 
  "id": 3, 
  "name": "netbios"
}
Property Name Type Description Notes
CPortGroupDef <object> Object representing port group information.
CPortGroupDef.id <number> ID of the port group. To be used in the API. Optional
CPortGroupDef.definitions <array of <object>> Object with port group's definitions.
CPortGroupDef.definitions
[CPortGroupProtoPort]
<object> Port associated with port group. Optional
CPortGroupDef.definitions
[CPortGroupProtoPort].port
<number> Port associated with port group.
CPortGroupDef.definitions
[CPortGroupProtoPort].proto
<number> Protocol that corresponds to the port of the port group.
CPortGroupDef.name <string> Name of the port group.
Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "id": number,
  "definitions": [
    {
      "port": number,
      "proto": number
    }
  ],
  "name": string
}

Example:
{
  "definitions": [
    {
      "port": 137, 
      "proto": 6
    }, 
    {
      "port": 137, 
      "proto": 17
    }, 
    {
      "port": 138, 
      "proto": 6
    }, 
    {
      "port": 138, 
      "proto": 17
    }, 
    {
      "port": 139, 
      "proto": 6
    }, 
    {
      "port": 139, 
      "proto": 17
    }
  ], 
  "id": 3, 
  "name": "netbios"
}
Property Name Type Description Notes
CPortGroupDef <object> Object representing port group information.
CPortGroupDef.id <number> ID of the port group. To be used in the API. Optional
CPortGroupDef.definitions <array of <object>> Object with port group's definitions.
CPortGroupDef.definitions
[CPortGroupProtoPort]
<object> Port associated with port group. Optional
CPortGroupDef.definitions
[CPortGroupProtoPort].port
<number> Port associated with port group.
CPortGroupDef.definitions
[CPortGroupProtoPort].proto
<number> Protocol that corresponds to the port of the port group.
CPortGroupDef.name <string> Name of the port group.

Port_Groups: List port groups

Get a list of all configured port groups.

GET https://{device}/api/profiler/1.4/port_groups
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "definitions": [
      {
        "port": number,
        "proto": number
      }
    ],
    "name": string
  }
]

Example:
[
  {
    "definitions": [
      {
        "port": 25, 
        "proto": 6
      }, 
      {
        "port": 995, 
        "proto": 6
      }, 
      {
        "port": 995, 
        "proto": 17
      }, 
      {
        "port": 1109, 
        "proto": 6
      }
    ], 
    "id": 2, 
    "name": "mail"
  }, 
  {
    "definitions": [
      {
        "port": 137, 
        "proto": 6
      }, 
      {
        "port": 137, 
        "proto": 17
      }, 
      {
        "port": 138, 
        "proto": 6
      }, 
      {
        "port": 138, 
        "proto": 17
      }, 
      {
        "port": 139, 
        "proto": 6
      }, 
      {
        "port": 139, 
        "proto": 17
      }
    ], 
    "id": 3, 
    "name": "netbios"
  }
]
Property Name Type Description Notes
CPortGroupDefs <array of <object>> List of Port Group objects.
CPortGroupDefs[CPortGroupDef] <object> Object representing port group information. Optional
CPortGroupDefs[CPortGroupDef].id <number> ID of the port group. To be used in the API. Optional
CPortGroupDefs[CPortGroupDef].
definitions
<array of <object>> Object with port group's definitions.
CPortGroupDefs[CPortGroupDef].
definitions[CPortGroupProtoPort]
<object> Port associated with port group. Optional
CPortGroupDefs[CPortGroupDef].
definitions[CPortGroupProtoPort].port
<number> Port associated with port group.
CPortGroupDefs[CPortGroupDef].
definitions[CPortGroupProtoPort].proto
<number> Protocol that corresponds to the port of the port group.
CPortGroupDefs[CPortGroupDef].name <string> Name of the port group.

Port_Groups: Update port group

Update one port group.

PUT https://{device}/api/profiler/1.4/port_groups/{group_id}
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "id": number,
  "definitions": [
    {
      "port": number,
      "proto": number
    }
  ],
  "name": string
}

Example:
{
  "definitions": [
    {
      "port": 137, 
      "proto": 6
    }, 
    {
      "port": 137, 
      "proto": 17
    }, 
    {
      "port": 138, 
      "proto": 6
    }, 
    {
      "port": 138, 
      "proto": 17
    }, 
    {
      "port": 139, 
      "proto": 6
    }, 
    {
      "port": 139, 
      "proto": 17
    }
  ], 
  "id": 3, 
  "name": "netbios"
}
Property Name Type Description Notes
CPortGroupDef <object> Object representing port group information.
CPortGroupDef.id <number> ID of the port group. To be used in the API. Optional
CPortGroupDef.definitions <array of <object>> Object with port group's definitions.
CPortGroupDef.definitions
[CPortGroupProtoPort]
<object> Port associated with port group. Optional
CPortGroupDef.definitions
[CPortGroupProtoPort].port
<number> Port associated with port group.
CPortGroupDef.definitions
[CPortGroupProtoPort].proto
<number> Protocol that corresponds to the port of the port group.
CPortGroupDef.name <string> Name of the port group.
Response Body

On success, the server does not provide any body in the responses.

Port_Groups: Delete

Delete one port group.

DELETE https://{device}/api/profiler/1.4/port_groups/{group_id}
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Ping: Ping

Simple test of service availability.

GET https://{device}/api/profiler/1.4/ping
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Hns: Resolve IP addresses to names

Resolve IP addresses to names.

POST https://{device}/api/profiler/1.4/hns/ip2name
Authorization

This request does not require authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  string
]

Example:
[
  "10.99.16.252", 
  "10.100.5.12", 
  "10.99.16.253"
]
Property Name Type Description Notes
IPAddrs <array of <string>> List of IP addresses.
IPAddrs[item] <string> IP address. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  [prop]: string
}

Example:
{
  "10.100.5.12": "DCCluster1-EH3", 
  "10.99.16.252": "SH-Austin", 
  "10.99.16.253": "shark-Austin"
}
Property Name Type Description Notes
IP2NameMap <object> IP address to name map.
IP2NameMap[prop] <string> Name resolved from IP address. Optional

Sharks: Enable Sharks polling

Enables data polling from Sharks.

POST https://{device}/api/profiler/1.4/sharks/sync/enable
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "ipaddr": string
  }
]

Example:
[
  {
    "ipaddr": "10.99.16.252"
  }, 
  {
    "ipaddr": "10.99.15.252"
  }, 
  {
    "ipaddr": "10.99.14.252"
  }
]
Property Name Type Description Notes
SharkIPAddrs <array of <object>> IP addresses object representing the list of all Sharks.
SharkIPAddrs[SharkIPAddr] <object> IP address collection object representing the list of all Sharks. Optional
SharkIPAddrs[SharkIPAddr].ipaddr <string> IP address representing a Shark.
Response Body

On success, the server does not provide any body in the responses.

Sharks: Sync Sharks apps

Retrieves application data from Sharks on which polling is enabled.

POST https://{device}/api/profiler/1.4/sharks/apps/sync
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "ipaddr": string
  }
]

Example:
[
  {
    "ipaddr": "10.99.16.252"
  }, 
  {
    "ipaddr": "10.99.15.252"
  }, 
  {
    "ipaddr": "10.99.14.252"
  }
]
Property Name Type Description Notes
SharkIPAddrs <array of <object>> IP addresses object representing the list of all Sharks.
SharkIPAddrs[SharkIPAddr] <object> IP address collection object representing the list of all Sharks. Optional
SharkIPAddrs[SharkIPAddr].ipaddr <string> IP address representing a Shark.
Response Body

On success, the server does not provide any body in the responses.

Sharks: Get Shark apps

Get configuration of a Shark by IP address.

GET https://{device}/api/profiler/1.4/sharks/{shark_ip}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "sync": {
    "apps": {
      "enabled": string,
      "error_text": string,
      "last_sync_ts": number,
      "last_success_ts": number,
      "error_id": number,
      "state": string
    }
  },
  "ipaddr": string
}
Property Name Type Description Notes
Shark <object> Object representing a Shark.
Shark.sync <object> Object representing Shark syncronization information.
Shark.sync.apps <object> Object representing Shark application syncronization information.
Shark.sync.apps.enabled <string> Flag indicating if application synchronization is enabled on this Shark.
Shark.sync.apps.error_text <string> Error description.
Shark.sync.apps.last_sync_ts <number> Last attempted application syncronization time.
Shark.sync.apps.last_success_ts <number> Last successful application syncronization time.
Shark.sync.apps.error_id <number> Error ID.
Shark.sync.apps.state <string> Synchronization status. Values: SYNC_INITIALIZING, SYNC_FAILED, SYNC_SUCCEEDED, SYNC_DISABLED, SYNC_NA
Shark.ipaddr <string> Shark IP address.

Sharks: Ping Shark

Ping a Shark by IP address.

GET https://{device}/api/profiler/1.4/sharks/{shark_ip}/ping
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Sharks: Disable Sharks polling

Disables data polling from Sharks.

POST https://{device}/api/profiler/1.4/sharks/sync/disable
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "ipaddr": string
  }
]

Example:
[
  {
    "ipaddr": "10.99.16.252"
  }, 
  {
    "ipaddr": "10.99.15.252"
  }, 
  {
    "ipaddr": "10.99.14.252"
  }
]
Property Name Type Description Notes
SharkIPAddrs <array of <object>> IP addresses object representing the list of all Sharks.
SharkIPAddrs[SharkIPAddr] <object> IP address collection object representing the list of all Sharks. Optional
SharkIPAddrs[SharkIPAddr].ipaddr <string> IP address representing a Shark.
Response Body

On success, the server does not provide any body in the responses.

Sharks: List Sharks

Get a list of Sharks and their application configuration data.

GET https://{device}/api/profiler/1.4/sharks
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "sync": {
      "apps": {
        "enabled": string,
        "error_text": string,
        "last_sync_ts": number,
        "last_success_ts": number,
        "error_id": number,
        "state": string
      }
    },
    "ipaddr": string
  }
]

Example:
[]
Property Name Type Description Notes
Sharks <array of <object>> List of Sharks and their configuration data.
Sharks[Shark] <object> Shark configuration data. Optional
Sharks[Shark].sync <object> Object representing Shark syncronization information.
Sharks[Shark].sync.apps <object> Object representing Shark application syncronization information.
Sharks[Shark].sync.apps.enabled <string> Flag indicating if application synchronization is enabled on this Shark.
Sharks[Shark].sync.apps.error_text <string> Error description.
Sharks[Shark].sync.apps.last_sync_ts <number> Last attempted application syncronization time.
Sharks[Shark].sync.apps.last_success_ts <number> Last successful application syncronization time.
Sharks[Shark].sync.apps.error_id <number> Error ID.
Sharks[Shark].sync.apps.state <string> Synchronization status. Values: SYNC_INITIALIZING, SYNC_FAILED, SYNC_SUCCEEDED, SYNC_DISABLED, SYNC_NA
Sharks[Shark].ipaddr <string> Shark IP address.

Interfaces: Delete interfaces

Delete network interfaces with the given field values.

DELETE https://{device}/api/profiler/1.4/interfaces
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "ipaddr": string,
    "ifindex": number
  }
]

Example:
[
  {
    "ifindex": 2, 
    "ipaddr": "10.2.3.5"
  }, 
  {
    "ifindex": 3, 
    "ipaddr": "10.2.3.5"
  }
]
Property Name Type Description Notes
CInterfaceDeleteDefs <array of <object>> List of interfaces to delete.
CInterfaceDeleteDefs
[CInterfaceDeleteDef]
<object> object representing interface to delete. Optional
CInterfaceDeleteDefs
[CInterfaceDeleteDef].ipaddr
<string> IP address of interface to delete.
CInterfaceDeleteDefs
[CInterfaceDeleteDef].ifindex
<number> interface's index of interface to delete.
Response Body

On success, the server does not provide any body in the responses.

Interfaces: List silent interfaces

Get all silent interafces by excluding all active interfaces listed in the given report.

GET https://{device}/api/profiler/1.4/interfaces/silent?include_modified={string}&report_id={string}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
include_modified <string> if it is false, no modified interfaces will be considered silent (default is true). Optional
report_id <string> ID of the report containing all active interafces.
Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "mac": string,
    "id": number,
    "ifdescr": string,
    "outbound_speed": number,
    "user_inbound_speed": number,
    "ipaddr": string,
    "name": string,
    "label": string,
    "user_outbound_speed": number,
    "ifalias": string,
    "inbound_speed": number,
    "ifindex": number
  }
]

Example:
[
  {
    "name": "Router1", 
    "ipaddr": "10.2.5.5", 
    "ifalias": "5", 
    "user_inbound_speed": 140736208929648, 
    "inbound_speed": 140736208929120, 
    "label": "4", 
    "mac": "08:00:2b:01:02:04", 
    "ifdescr": "6", 
    "ifindex": 2, 
    "outbound_speed": 140736208929104, 
    "user_outbound_speed": 44153724, 
    "id": 3
  }, 
  {
    "name": "Router2", 
    "ipaddr": "10.2.5.5", 
    "ifalias": "5", 
    "user_inbound_speed": 140736208929648, 
    "inbound_speed": 140736208929120, 
    "label": "unique", 
    "mac": "08:00:2b:01:02:05", 
    "ifdescr": "6", 
    "ifindex": 2, 
    "outbound_speed": 140736208929104, 
    "user_outbound_speed": 44153724, 
    "id": 4
  }
]
Property Name Type Description Notes
CInterfaceDefs <array of <object>> List of interfaces.
CInterfaceDefs[CInterfaceDef] <object> Object representing an interface. Optional
CInterfaceDefs[CInterfaceDef].mac <string> Interface's mac address.
CInterfaceDefs[CInterfaceDef].id <number> Interface's ID.
CInterfaceDefs[CInterfaceDef].ifdescr <string> Name (ifDescr).
CInterfaceDefs[CInterfaceDef].
outbound_speed
<number> Interface's reported outbound speed. Optional
CInterfaceDefs[CInterfaceDef].
user_inbound_speed
<number> Interface's inbound speed declared by the user. Optional
CInterfaceDefs[CInterfaceDef].ipaddr <string> IP address of the interface.
CInterfaceDefs[CInterfaceDef].name <string> Device name.
CInterfaceDefs[CInterfaceDef].label <string> Interface's label.
CInterfaceDefs[CInterfaceDef].
user_outbound_speed
<number> Interface's outbound speed declared by the user. Optional
CInterfaceDefs[CInterfaceDef].ifalias <string> Description (ifAlias).
CInterfaceDefs[CInterfaceDef].
inbound_speed
<number> Interface's reported inbound speed. Optional
CInterfaceDefs[CInterfaceDef].ifindex <number> Interface's index.

Interfaces: Delete interface

Delete one network interface. The operation is asynchronous. The interface will be deleted within few minutes to hours depending on how busy is the system.

DELETE https://{device}/api/profiler/1.4/interfaces/{ip:ifindex}
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Interfaces: Update interfaces

Update network interfaces (fields that can be update: label, inbound speed, outbound speed).

PUT https://{device}/api/profiler/1.4/interfaces
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "user_inbound_speed": number,
    "ipaddr": string,
    "label": string,
    "user_outbound_speed": number,
    "ifindex": number
  }
]

Example:
[
  {
    "ifindex": 2, 
    "user_outbound_speed": 44153724, 
    "ipaddr": "10.2.3.5", 
    "user_inbound_speed": 140736208929648, 
    "label": "hsdgs"
  }, 
  {
    "ifindex": 3, 
    "user_outbound_speed": 44153724, 
    "ipaddr": "10.2.3.5", 
    "user_inbound_speed": 140736208929648, 
    "label": "jhgvas"
  }
]
Property Name Type Description Notes
CInterfaceUpdateDefs <array of <object>> List of update interfaces.
CInterfaceUpdateDefs
[CInterfaceUpdateDef]
<object> object representing update interface. Optional
CInterfaceUpdateDefs
[CInterfaceUpdateDef].
user_inbound_speed
<number> update interface's inbound speed declared by the user. Optional
CInterfaceUpdateDefs
[CInterfaceUpdateDef].ipaddr
<string> update interface's IP address.
CInterfaceUpdateDefs
[CInterfaceUpdateDef].label
<string> update interface's label.
CInterfaceUpdateDefs
[CInterfaceUpdateDef].
user_outbound_speed
<number> update interface's outbound speed declared by the user. Optional
CInterfaceUpdateDefs
[CInterfaceUpdateDef].ifindex
<number> update interface's index.
Response Body

On success, the server does not provide any body in the responses.

Interfaces: Get interface

Get one network interface.

GET https://{device}/api/profiler/1.4/interfaces/{ip:ifindex}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "mac": string,
  "id": number,
  "ifdescr": string,
  "outbound_speed": number,
  "user_inbound_speed": number,
  "ipaddr": string,
  "name": string,
  "label": string,
  "user_outbound_speed": number,
  "ifalias": string,
  "inbound_speed": number,
  "ifindex": number
}

Example:
{
  "name": "Device1", 
  "ipaddr": "10.2.3.5", 
  "ifalias": "5", 
  "user_inbound_speed": 140736208929648, 
  "inbound_speed": 140736208929120, 
  "label": "4", 
  "mac": "08:00:2b:01:02:04", 
  "ifdescr": "6", 
  "ifindex": 2, 
  "outbound_speed": 140736208929104, 
  "user_outbound_speed": 44153724, 
  "id": 2
}
Property Name Type Description Notes
CInterfaceDef <object> Object representing an interface.
CInterfaceDef.mac <string> Interface's mac address.
CInterfaceDef.id <number> Interface's ID.
CInterfaceDef.ifdescr <string> Name (ifDescr).
CInterfaceDef.outbound_speed <number> Interface's reported outbound speed. Optional
CInterfaceDef.user_inbound_speed <number> Interface's inbound speed declared by the user. Optional
CInterfaceDef.ipaddr <string> IP address of the interface.
CInterfaceDef.name <string> Device name.
CInterfaceDef.label <string> Interface's label.
CInterfaceDef.user_outbound_speed <number> Interface's outbound speed declared by the user. Optional
CInterfaceDef.ifalias <string> Description (ifAlias).
CInterfaceDef.inbound_speed <number> Interface's reported inbound speed. Optional
CInterfaceDef.ifindex <number> Interface's index.

Interfaces: List interfaces

Get a list of all known network interfaces.

GET https://{device}/api/profiler/1.4/interfaces?offset={number}&ipaddr={string}&limit={number}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
offset <number> Starting element number. Optional
ipaddr <string> Filter network interfaces by an IP address. Optional
limit <number> Number of rows to be returned. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "mac": string,
    "id": number,
    "ifdescr": string,
    "outbound_speed": number,
    "user_inbound_speed": number,
    "ipaddr": string,
    "name": string,
    "label": string,
    "user_outbound_speed": number,
    "ifalias": string,
    "inbound_speed": number,
    "ifindex": number
  }
]

Example:
[
  {
    "name": "Router1", 
    "ipaddr": "10.2.5.5", 
    "ifalias": "5", 
    "user_inbound_speed": 140736208929648, 
    "inbound_speed": 140736208929120, 
    "label": "4", 
    "mac": "08:00:2b:01:02:04", 
    "ifdescr": "6", 
    "ifindex": 2, 
    "outbound_speed": 140736208929104, 
    "user_outbound_speed": 44153724, 
    "id": 3
  }, 
  {
    "name": "Router2", 
    "ipaddr": "10.2.5.5", 
    "ifalias": "5", 
    "user_inbound_speed": 140736208929648, 
    "inbound_speed": 140736208929120, 
    "label": "unique", 
    "mac": "08:00:2b:01:02:05", 
    "ifdescr": "6", 
    "ifindex": 2, 
    "outbound_speed": 140736208929104, 
    "user_outbound_speed": 44153724, 
    "id": 4
  }
]
Property Name Type Description Notes
CInterfaceDefs <array of <object>> List of interfaces.
CInterfaceDefs[CInterfaceDef] <object> Object representing an interface. Optional
CInterfaceDefs[CInterfaceDef].mac <string> Interface's mac address.
CInterfaceDefs[CInterfaceDef].id <number> Interface's ID.
CInterfaceDefs[CInterfaceDef].ifdescr <string> Name (ifDescr).
CInterfaceDefs[CInterfaceDef].
outbound_speed
<number> Interface's reported outbound speed. Optional
CInterfaceDefs[CInterfaceDef].
user_inbound_speed
<number> Interface's inbound speed declared by the user. Optional
CInterfaceDefs[CInterfaceDef].ipaddr <string> IP address of the interface.
CInterfaceDefs[CInterfaceDef].name <string> Device name.
CInterfaceDefs[CInterfaceDef].label <string> Interface's label.
CInterfaceDefs[CInterfaceDef].
user_outbound_speed
<number> Interface's outbound speed declared by the user. Optional
CInterfaceDefs[CInterfaceDef].ifalias <string> Description (ifAlias).
CInterfaceDefs[CInterfaceDef].
inbound_speed
<number> Interface's reported inbound speed. Optional
CInterfaceDefs[CInterfaceDef].ifindex <number> Interface's index.

Autonomous_Systems: Delete autonomous_system

Delete a private Autonomous System. The data is cached, please do a system restart after using this operation .../system/restart.

DELETE https://{device}/api/profiler/1.4/autonomous_systems/{number}
Authorization

This request requires authorization.

Response Body

On success, the server does not provide any body in the responses.

Autonomous_Systems: Get autonomous_system

Get a Autonomous System by AS Number.

GET https://{device}/api/profiler/1.4/autonomous_systems/{number}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "id": number,
  "is_public": string,
  "name": string
}

Example:
{
  "is_public": false, 
  "name": "RVBD-AS", 
  "id": 64530
}
Property Name Type Description Notes
BGPAS <object> Object representing a Autonomous System.
BGPAS.id <number> Autonomous System Number.
BGPAS.is_public <string> Flag indicating if the Autonomous System is public.
BGPAS.name <string> Autonomous System Name.

Autonomous_Systems: List autonomous_systems

Get a list of Autonomous Systems.

GET https://{device}/api/profiler/1.4/autonomous_systems?offset={number}&limit={number}
Authorization

This request requires authorization.

Parameters
Property Name Type Description Notes
offset <number> Starting row number. Optional
limit <number> Number of rows to be returned. Optional
Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "id": number,
    "is_public": string,
    "name": string
  }
]

Example:
[
  {
    "is_public": true, 
    "name": "IANA-RSVD-0", 
    "id": 0
  }, 
  {
    "is_public": true, 
    "name": "LVLT-1", 
    "id": 1
  }, 
  {
    "is_public": true, 
    "name": "UDEL-DCN", 
    "id": 2
  }, 
  {
    "is_public": true, 
    "name": "MIT-GATEWAYS", 
    "id": 3
  }, 
  {
    "is_public": true, 
    "name": "ISI-AS", 
    "id": 4
  }
]
Property Name Type Description Notes
BGPASList <array of <object>> List of Autonomous Systems.
BGPASList[BGPAS] <object> Object representing a Autonomous System. Optional
BGPASList[BGPAS].id <number> Autonomous System Number.
BGPASList[BGPAS].is_public <string> Flag indicating if the Autonomous System is public.
BGPASList[BGPAS].name <string> Autonomous System Name.

Autonomous_Systems: Update autonomous_system

Update a private Autonomous System. The data is cached, please do a system restart after using this operation .../system/restart.

PUT https://{device}/api/profiler/1.4/autonomous_systems/{number}
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "id": number,
  "is_public": string,
  "name": string
}

Example:
{
  "is_public": false, 
  "name": "RVBD-AS", 
  "id": 64530
}
Property Name Type Description Notes
BGPAS <object> Object representing a Autonomous System.
BGPAS.id <number> Autonomous System Number.
BGPAS.is_public <string> Flag indicating if the Autonomous System is public.
BGPAS.name <string> Autonomous System Name.
Response Body

On success, the server does not provide any body in the responses.

Autonomous_Systems: Create autonomous_systems

Create a new private Autonomous System. The data is cached, please do a system restart after using this operation .../system/restart.

POST https://{device}/api/profiler/1.4/autonomous_systems
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "id": number,
  "is_public": string,
  "name": string
}

Example:
{
  "is_public": false, 
  "name": "RVBD-AS", 
  "id": 64530
}
Property Name Type Description Notes
BGPAS <object> Object representing a Autonomous System.
BGPAS.id <number> Autonomous System Number.
BGPAS.is_public <string> Flag indicating if the Autonomous System is public.
BGPAS.name <string> Autonomous System Name.
Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "id": number,
  "is_public": string,
  "name": string
}

Example:
{
  "is_public": false, 
  "name": "RVBD-AS", 
  "id": 64530
}
Property Name Type Description Notes
BGPAS <object> Object representing a Autonomous System.
BGPAS.id <number> Autonomous System Number.
BGPAS.is_public <string> Flag indicating if the Autonomous System is public.
BGPAS.name <string> Autonomous System Name.

User_Defined_Policies: Enable policy

Enable a user defined policy.

POST https://{device}/api/profiler/1.4/user_defined_policies/{id}/enable
Authorization

This request requires authorization.

Request Body

Do not provide a request body.

Response Body

On success, the server does not provide any body in the responses.

User_Defined_Policies: Export all policies

Export all user defined policies in one operation.

GET https://{device}/api/profiler/1.4/user_defined_policies/export
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "enabled": string,
    "alert_notification": {
      "low_alert_recipient": string,
      "medium_alert_recipient_id": number,
      "high_alert_recipient_id": number,
      "low_alert_recipient_id": number,
      "high_alert_recipient": string,
      "medium_alert_recipient": string
    },
    "id": number,
    "schedule": {
      "time_zone_name": string,
      "days": [
        string
      ],
      "time_start": number,
      "time_end": number,
      "time_zone_id": number
    },
    "deleted": string,
    "revision_id": number,
    "filters": {
      "server_hosts_count": string,
      "ports": {
        "ports": [
          {
            "port": number,
            "protocol": number,
            "name": string
          }
        ],
        "negated": string,
        "groups": [
          {
            "name": string,
            "group_id": number
          }
        ],
        "protocols": [
          {
            "id": number,
            "name": string
          }
        ]
      },
      "client_hosts": {
        "role": string,
        "negated": string,
        "hosts": [
          {
            "mac": string,
            "ipaddr": string,
            "name": string
          }
        ],
        "cidrs": [
          string
        ],
        "host_groups": [
          {
            "group_type_id": number,
            "group_name": string,
            "group_id": number,
            "group_type_name": string
          }
        ]
      },
      "interfaces_path": {
        "devices": [
          {
            "ipaddr": string,
            "name": string
          }
        ],
        "negated": string,
        "groups": [
          {
            "path": string,
            "group_id": number
          }
        ],
        "interfaces": [
          {
            "ipaddr": string,
            "name": string,
            "direction": string,
            "ifindex": number
          }
        ]
      },
      "client_hosts_count": string,
      "server_hosts": {
        "role": string,
        "negated": string,
        "hosts": [
          {
            "mac": string,
            "ipaddr": string,
            "name": string
          }
        ],
        "cidrs": [
          string
        ],
        "host_groups": [
          {
            "group_type_id": number,
            "group_name": string,
            "group_id": number,
            "group_type_name": string
          }
        ]
      },
      "interfaces": {
        "devices": [
          {
            "ipaddr": string,
            "name": string
          }
        ],
        "negated": string,
        "groups": [
          {
            "path": string,
            "group_id": number
          }
        ],
        "interfaces": [
          {
            "ipaddr": string,
            "name": string,
            "direction": string,
            "ifindex": number
          }
        ]
      },
      "dscps": {
        "negated": string,
        "dscps": [
          {
            "name": string,
            "code_point": number
          }
        ]
      },
      "applications": {
        "negated": string,
        "applications": [
          {
            "id": number,
            "code": string,
            "name": string,
            "tunneled": string
          }
        ]
      }
    },
    "description": string,
    "name": string,
    "type": string,
    "threshold": {
      "metric": string,
      "severity": number,
      "scope": string,
      "type": string,
      "direction": string,
      "value": string,
      "duration": number,
      "rate": string
    }
  }
]

Example:
[
  {
    "name": "HostPolicy1", 
    "schedule": {
      "time_zone_id": 160, 
      "time_zone_name": "America/New_York", 
      "time_start": 0, 
      "time_end": 86399, 
      "days": [
        "SUNDAY", 
        "MONDAY", 
        "TUESDAY", 
        "WEDNESDAY", 
        "THURSDAY", 
        "FRIDAY", 
        "SATURDAY"
      ]
    }, 
    "deleted": false, 
    "description": "Description text", 
    "enabled": true, 
    "filters": {
      "server_hosts": {
        "negated": true, 
        "role": "SERVER", 
        "hosts": [
          {
            "ipaddr": "10.0.0.1"
          }
        ]
      }, 
      "dscps": {
        "dscps": [
          {
            "code_point": 10, 
            "name": "AF11"
          }, 
          {
            "code_point": 14, 
            "name": "AF13"
          }
        ], 
        "negated": false
      }, 
      "interfaces": {
        "negated": false, 
        "interfaces": [
          {
            "ifindex": 1, 
            "direction": "INBOUND", 
            "ipaddr": "10.99.11.252"
          }
        ], 
        "devices": [
          {
            "ipaddr": "10.38.8.71"
          }
        ], 
        "groups": [
          {
            "path": "/WAN", 
            "group_id": 2
          }
        ]
      }, 
      "server_hosts_count": "PERHOST", 
      "applications": {
        "negated": false, 
        "applications": [
          {
            "tunneled": false, 
            "id": 617, 
            "name": "Facebook"
          }, 
          {
            "tunneled": false, 
            "id": 603, 
            "name": "WEB"
          }
        ]
      }, 
      "interfaces_path": {
        "negated": true, 
        "groups": [
          {
            "path": "/WAN/Optimized", 
            "group_id": 3
          }
        ]
      }, 
      "client_hosts_count": "AGGREGATE", 
      "client_hosts": {
        "negated": false, 
        "role": "CLIENT", 
        "hosts": [
          {
            "ipaddr": "100.0.0.2"
          }, 
          {
            "ipaddr": "100.0.0.1"
          }
        ], 
        "cidrs": [
          "10.0.0.0/8"
        ], 
        "host_groups": [
          {
            "group_type_id": 102, 
            "group_id": 5, 
            "group_type_name": "ByLocation", 
            "group_name": "Boston"
          }, 
          {
            "group_type_id": 102, 
            "group_id": 4, 
            "group_type_name": "ByLocation", 
            "group_name": "Dallas"
          }
        ]
      }, 
      "ports": {
        "negated": false, 
        "protocols": [
          {
            "id": 6, 
            "name": "tcp"
          }
        ], 
        "ports": [
          {
            "protocol": 17, 
            "name": "udp/80", 
            "port": 80
          }
        ], 
        "groups": [
          {
            "group_id": 2, 
            "name": "Email"
          }
        ]
      }
    }, 
    "threshold": {
      "direction": "EITHER_A2B_OR_B2A", 
      "severity": 100, 
      "metric": "BYTES", 
      "value": 1, 
      "rate": "PERSEC", 
      "duration": 1, 
      "type": "ABOVE"
    }, 
    "revision_id": 12023, 
    "type": "HOST", 
    "id": 12024, 
    "alert_notification": {
      "low_alert_recipient": "Default", 
      "high_alert_recipient": "Mark", 
      "high_alert_recipient_id": 65, 
      "medium_alert_recipient": "* Owner", 
      "medium_alert_recipient_id": 2, 
      "low_alert_recipient_id": 1
    }
  }
]
Property Name Type Description Notes
RuleDetailList <array of <object>> List/Export of User defined policy objects.
RuleDetailList[RuleDetail] <object> User defined policy object, includes traffic filters. Optional
RuleDetailList[RuleDetail].enabled <string> When true the policy is enabled and it will be monitored by the system.
RuleDetailList[RuleDetail].
alert_notification
<object> Object that includes an alert notification information.
RuleDetailList[RuleDetail].
alert_notification.low_alert_recipient
<string> Low recipient name. Optional
RuleDetailList[RuleDetail].
alert_notification.
medium_alert_recipient_id
<number> Medium recipient id. Optional
RuleDetailList[RuleDetail].
alert_notification.
high_alert_recipient_id
<number> High recipient id. Optional
RuleDetailList[RuleDetail].
alert_notification.
low_alert_recipient_id
<number> Low recipient id. Optional
RuleDetailList[RuleDetail].
alert_notification.
high_alert_recipient
<string> High recipient name. Optional
RuleDetailList[RuleDetail].
alert_notification.
medium_alert_recipient
<string> Medium recipient name. Optional
RuleDetailList[RuleDetail].id <number> Policy identifier. Optional
RuleDetailList[RuleDetail].schedule <object> Object that includes policy schedule information (when to track and fire events).
RuleDetailList[RuleDetail].schedule.
time_zone_name
<string> Time zone name. Optional
RuleDetailList[RuleDetail].schedule.days <array of <string>> List of days.
RuleDetailList[RuleDetail].schedule.days
[item]
<string> Day of the week. Optional; Values: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
RuleDetailList[RuleDetail].schedule.
time_start
<number> Start time.
RuleDetailList[RuleDetail].schedule.
time_end
<number> End time.
RuleDetailList[RuleDetail].schedule.
time_zone_id
<number> Time zone id. Optional
RuleDetailList[RuleDetail].deleted <string> When true the policy is marked deleted. Deleted policies are kept for historical reasons and can be retrieved using the API. Optional
RuleDetailList[RuleDetail].revision_id <number> When the policy is edited, this id is incremented. Optional
RuleDetailList[RuleDetail].filters <object> Object that includes all traffic filters.
RuleDetailList[RuleDetail].filters.
server_hosts_count
<string> Statistics: flag to indicate how to count the server hosts ('per host' or 'in aggregate'). Optional; Values: AGGREGATE, PERHOST
RuleDetailList[RuleDetail].filters.ports <object> Object that includes all traffic port/protocol/port group filters. Optional
RuleDetailList[RuleDetail].filters.ports.
ports
<array of <object>> List of port objects (Protocol/port). Optional
RuleDetailList[RuleDetail].filters.ports.
ports[CProtoPort]
<object> One CProtoPort object. Optional
RuleDetailList[RuleDetail].filters.ports.
ports[CProtoPort].port
<number> Port specification. Optional
RuleDetailList[RuleDetail].filters.ports.
ports[CProtoPort].protocol
<number> Protocol specification. Optional
RuleDetailList[RuleDetail].filters.ports.
ports[CProtoPort].name
<string> Protocol + port combination name. Optional
RuleDetailList[RuleDetail].filters.ports.
negated
<string> Boolean flag indication whether the ports/protocols/port groups should be included (false) or excluded (true). Optional
RuleDetailList[RuleDetail].filters.ports.
groups
<array of <object>> List of port group objects. Optional
RuleDetailList[RuleDetail].filters.ports.
groups[CPortGroup]
<object> One CPortGroup object. Optional
RuleDetailList[RuleDetail].filters.ports.
groups[CPortGroup].name
<string> Name of the port group. Optional
RuleDetailList[RuleDetail].filters.ports.
groups[CPortGroup].group_id
<number> ID of the port group. Optional
RuleDetailList[RuleDetail].filters.ports.
protocols
<array of <object>> List of protocol objects. Optional
RuleDetailList[RuleDetail].filters.ports.
protocols[CProtocol]
<object> Object representing Protocol information. Optional
RuleDetailList[RuleDetail].filters.ports.
protocols[CProtocol].id
<number> ID of the Protocol. Optional
RuleDetailList[RuleDetail].filters.ports.
protocols[CProtocol].name
<string> Name of the Protocol. Optional
RuleDetailList[RuleDetail].filters.
client_hosts
<object> Object that includes all traffic client host/cidr/host group filters. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.role
<string> flag indicating if the hosts/cidrs/groups should be treated as client or server or both. Optional; Values: CLIENT_SERVER, CLIENT, SERVER
RuleDetailList[RuleDetail].filters.
client_hosts.negated
<string> Boolean flag indication whether the hosts/cidrs/groups should be included (false) or excluded (true). Optional
RuleDetailList[RuleDetail].filters.
client_hosts.hosts
<array of <object>> List of Hosts objects. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.hosts[CHost]
<object> One CHost object. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.hosts[CHost].mac
<string> Host MAC address. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.hosts[CHost].ipaddr
<string> Host IP address. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.hosts[CHost].name
<string> Host name. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.cidrs
<array of <string>> List of CIDR objects. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.cidrs[item]
<string> CIDR object. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.host_groups
<array of <object>> List of Host Groups objects. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.host_groups
[CFullHostGroup]
<object> Object representing host group type and host group. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.host_groups
[CFullHostGroup].group_type_id
<number> Host Group type id. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.host_groups
[CFullHostGroup].group_name
<string> Host Group name. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.host_groups
[CFullHostGroup].group_id
<number> Host Group id. Optional
RuleDetailList[RuleDetail].filters.
client_hosts.host_groups
[CFullHostGroup].group_type_name
<string> Host Group type name. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path
<object> Object that includes all traffic interface/device/interface group in network path filters. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.devices
<array of <object>> List of Device objects. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.devices[CDevice]
<object> One CDevice object. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.devices[CDevice].
ipaddr
<string> Device IP address. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.devices[CDevice].name
<string> Device name. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.negated
<string> flag indicating if the interfaces/devices/interface groups should be included (false) or excluded (true). Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.groups
<array of <object>> List of interface groups objects. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.groups
[CInterfaceGroup]
<object> Interface group object. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.groups
[CInterfaceGroup].path
<string> Full interface group path, e.g. /MyViews/Boston/Cambridge/subgroup1. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.groups
[CInterfaceGroup].group_id
<number> Interface group id. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.interfaces
<array of <object>> List of interface objects. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.interfaces
[CInterfaceDirection]
<object> Interface object. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.interfaces
[CInterfaceDirection].ipaddr
<string> IP Address of the interface. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.interfaces
[CInterfaceDirection].name
<string> Name of the interface, DNS and interface label can be used, e.g. myinterface:port1. Optional
RuleDetailList[RuleDetail].filters.
interfaces_path.interfaces
[CInterfaceDirection].direction
<string> Direction of the interface. Optional; Values: INBOUND, OUTBOUND, BOTH
RuleDetailList[RuleDetail].filters.
interfaces_path.interfaces
[CInterfaceDirection].ifindex
<number> Ifindex. Optional
RuleDetailList[RuleDetail].filters.
client_hosts_count
<string> Statistics: flag to indicate how to count the client hosts ('per host' or 'in aggregate'). Optional; Values: AGGREGATE, PERHOST
RuleDetailList[RuleDetail].filters.
server_hosts
<object> Object that includes all traffic server host/cidr/host group filters. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.role
<string> flag indicating if the hosts/cidrs/groups should be treated as client or server or both. Optional; Values: CLIENT_SERVER, CLIENT, SERVER
RuleDetailList[RuleDetail].filters.
server_hosts.negated
<string> Boolean flag indication whether the hosts/cidrs/groups should be included (false) or excluded (true). Optional
RuleDetailList[RuleDetail].filters.
server_hosts.hosts
<array of <object>> List of Hosts objects. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.hosts[CHost]
<object> One CHost object. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.hosts[CHost].mac
<string> Host MAC address. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.hosts[CHost].ipaddr
<string> Host IP address. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.hosts[CHost].name
<string> Host name. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.cidrs
<array of <string>> List of CIDR objects. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.cidrs[item]
<string> CIDR object. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.host_groups
<array of <object>> List of Host Groups objects. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.host_groups
[CFullHostGroup]
<object> Object representing host group type and host group. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.host_groups
[CFullHostGroup].group_type_id
<number> Host Group type id. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.host_groups
[CFullHostGroup].group_name
<string> Host Group name. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.host_groups
[CFullHostGroup].group_id
<number> Host Group id. Optional
RuleDetailList[RuleDetail].filters.
server_hosts.host_groups
[CFullHostGroup].group_type_name
<string> Host Group type name. Optional
RuleDetailList[RuleDetail].filters.
interfaces
<object> Object that includes all traffic interface/device/interface group filters. Optional
RuleDetailList[RuleDetail].filters.
interfaces.devices
<array of <object>> List of Device objects. Optional
RuleDetailList[RuleDetail].filters.
interfaces.devices[CDevice]
<object> One CDevice object. Optional
RuleDetailList[RuleDetail].filters.
interfaces.devices[CDevice].ipaddr
<string> Device IP address. Optional
RuleDetailList[RuleDetail].filters.
interfaces.devices[CDevice].name
<string> Device name. Optional
RuleDetailList[RuleDetail].filters.
interfaces.negated
<string> flag indicating if the interfaces/devices/interface groups should be included (false) or excluded (true). Optional
RuleDetailList[RuleDetail].filters.
interfaces.groups
<array of <object>> List of interface groups objects. Optional
RuleDetailList[RuleDetail].filters.
interfaces.groups[CInterfaceGroup]
<object> Interface group object. Optional
RuleDetailList[RuleDetail].filters.
interfaces.groups[CInterfaceGroup].
path
<string> Full interface group path, e.g. /MyViews/Boston/Cambridge/subgroup1. Optional
RuleDetailList[RuleDetail].filters.
interfaces.groups[CInterfaceGroup].
group_id
<number> Interface group id. Optional
RuleDetailList[RuleDetail].filters.
interfaces.interfaces
<array of <object>> List of interface objects. Optional
RuleDetailList[RuleDetail].filters.
interfaces.interfaces
[CInterfaceDirection]
<object> Interface object. Optional
RuleDetailList[RuleDetail].filters.
interfaces.interfaces
[CInterfaceDirection].ipaddr
<string> IP Address of the interface. Optional
RuleDetailList[RuleDetail].filters.
interfaces.interfaces
[CInterfaceDirection].name
<string> Name of the interface, DNS and interface label can be used, e.g. myinterface:port1. Optional
RuleDetailList[RuleDetail].filters.
interfaces.interfaces
[CInterfaceDirection].direction
<string> Direction of the interface. Optional; Values: INBOUND, OUTBOUND, BOTH
RuleDetailList[RuleDetail].filters.
interfaces.interfaces
[CInterfaceDirection].ifindex
<number> Ifindex. Optional
RuleDetailList[RuleDetail].filters.dscps <object> Object that includes all traffic dscp filters. Optional
RuleDetailList[RuleDetail].filters.dscps.
negated
<string> Boolean flag indication whether the DSCPs should be included (false) or excluded (true). Optional
RuleDetailList[RuleDetail].filters.dscps.
dscps
<array of <object>> List of DSCP objects. Optional
RuleDetailList[RuleDetail].filters.dscps.
dscps[CDSCP]
<object> One CDSCP object. Optional
RuleDetailList[RuleDetail].filters.dscps.
dscps[CDSCP].name
<string> DSCP name. Optional
RuleDetailList[RuleDetail].filters.dscps.
dscps[CDSCP].code_point
<number> DSCP code point. Optional
RuleDetailList[RuleDetail].filters.
applications
<object> Object that includes all traffic application filters. Optional
RuleDetailList[RuleDetail].filters.
applications.negated
<string> Boolean flag indication whether the applications should be included (false) or excluded (true). Optional
RuleDetailList[RuleDetail].filters.
applications.applications
<array of <object>> List of application objects. Optional
RuleDetailList[RuleDetail].filters.
applications.applications
[CApplication]
<object> One CApplication object. Optional
RuleDetailList[RuleDetail].filters.
applications.applications
[CApplication].id
<number> Application id. Optional
RuleDetailList[RuleDetail].filters.
applications.applications
[CApplication].code
<string> Application code. Optional
RuleDetailList[RuleDetail].filters.
applications.applications
[CApplication].name
<string> Application name. Optional
RuleDetailList[RuleDetail].filters.
applications.applications
[CApplication].tunneled
<string> Flag: is the application tunneled. Optional
RuleDetailList[RuleDetail].description <string> Policy description.
RuleDetailList[RuleDetail].name <string> Policy name. Must be unique in the system.
RuleDetailList[RuleDetail].type <string> Policy type. Values: HOST, INTERFACE, RESPONSE_TIME
RuleDetailList[RuleDetail].threshold <object> Object that includes threshold information (what metric to be tracked and how).
RuleDetailList[RuleDetail].threshold.
metric
<string> Metric to be tracked. Values: BYTES, PACKETS, CONNS_NEW, UTILIZATION, SRV_DELAY, RESP_RTT, NET_RTT, RETRANS_BYTES, RETRANS_PACKETS, RETRANS_BYTES_PCT, RETRANS_PACKETS_PCT, RESETS, CONNS_ACTIVE, CONNS_DURATION, APP_THRUPUT_PERSECCONN, MOS, RFACTOR, JITTER, LOSS, LOSS_PCT
RuleDetailList[RuleDetail].threshold.
severity
<number> Threshold severity - the bigger the number the more serious the events would be considered (min 0, max 100, default 100). Optional
RuleDetailList[RuleDetail].threshold.
scope
<string> Threshold scope: INDIVIDUAL: the threshold violates if any individual host violates; AVERAGE: the threshold violates if the average for the group violates (applies for response type policies only, default INDIVIDUAL). Optional; Values: INDIVIDUAL, AVERAGE
RuleDetailList[RuleDetail].threshold.
type
<string> Set to Below when the policy needs to trigger when the metric value goes below the threshold otherwise the policy triggers when the metric value goes above the threshold. Values: ABOVE, BELOW
RuleDetailList[RuleDetail].threshold.
direction
<string> Tracked direction. Optional; Values: A2B, B2A, EITHER_A2B_OR_B2A, A2B_PLUS_B2A, IN, OUT, IN_OR_OUT
RuleDetailList[RuleDetail].threshold.
value
<string> Threshold value.
RuleDetailList[RuleDetail].threshold.
duration
<number> Number of consecutive minutes that metric must violate before an event is triggered (min 1, default 1). Optional
RuleDetailList[RuleDetail].threshold.
rate
<string> Threshold rate (seconds, minutes, milliseconds). Optional; Values: PERMS, PERSEC, PERMIN

User_Defined_Policies: Get policy

Get a user defined policy.

GET https://{device}/api/profiler/1.4/user_defined_policies/{id}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "enabled": string,
  "alert_notification": {
    "low_alert_recipient": string,
    "medium_alert_recipient_id": number,
    "high_alert_recipient_id": number,
    "low_alert_recipient_id": number,
    "high_alert_recipient": string,
    "medium_alert_recipient": string
  },
  "id": number,
  "schedule": {
    "time_zone_name": string,
    "days": [
      string
    ],
    "time_start": number,
    "time_end": number,
    "time_zone_id": number
  },
  "deleted": string,
  "revision_id": number,
  "filters": {
    "server_hosts_count": string,
    "ports": {
      "ports": [
        {
          "port": number,
          "protocol": number,
          "name": string
        }
      ],
      "negated": string,
      "groups": [
        {
          "name": string,
          "group_id": number
        }
      ],
      "protocols": [
        {
          "id": number,
          "name": string
        }
      ]
    },
    "client_hosts": {
      "role": string,
      "negated": string,
      "hosts": [
        {
          "mac": string,
          "ipaddr": string,
          "name": string
        }
      ],
      "cidrs": [
        string
      ],
      "host_groups": [
        {
          "group_type_id": number,
          "group_name": string,
          "group_id": number,
          "group_type_name": string
        }
      ]
    },
    "interfaces_path": {
      "devices": [
        {
          "ipaddr": string,
          "name": string
        }
      ],
      "negated": string,
      "groups": [
        {
          "path": string,
          "group_id": number
        }
      ],
      "interfaces": [
        {
          "ipaddr": string,
          "name": string,
          "direction": string,
          "ifindex": number
        }
      ]
    },
    "client_hosts_count": string,
    "server_hosts": {
      "role": string,
      "negated": string,
      "hosts": [
        {
          "mac": string,
          "ipaddr": string,
          "name": string
        }
      ],
      "cidrs": [
        string
      ],
      "host_groups": [
        {
          "group_type_id": number,
          "group_name": string,
          "group_id": number,
          "group_type_name": string
        }
      ]
    },
    "interfaces": {
      "devices": [
        {
          "ipaddr": string,
          "name": string
        }
      ],
      "negated": string,
      "groups": [
        {
          "path": string,
          "group_id": number
        }
      ],
      "interfaces": [
        {
          "ipaddr": string,
          "name": string,
          "direction": string,
          "ifindex": number
        }
      ]
    },
    "dscps": {
      "negated": string,
      "dscps": [
        {
          "name": string,
          "code_point": number
        }
      ]
    },
    "applications": {
      "negated": string,
      "applications": [
        {
          "id": number,
          "code": string,
          "name": string,
          "tunneled": string
        }
      ]
    }
  },
  "description": string,
  "name": string,
  "type": string,
  "threshold": {
    "metric": string,
    "severity": number,
    "scope": string,
    "type": string,
    "direction": string,
    "value": string,
    "duration": number,
    "rate": string
  }
}

Example:
{
  "name": "HostPolicy1", 
  "schedule": {
    "time_zone_id": 160, 
    "time_zone_name": "America/New_York", 
    "time_start": 0, 
    "time_end": 86399, 
    "days": [
      "SUNDAY", 
      "MONDAY", 
      "TUESDAY", 
      "WEDNESDAY", 
      "THURSDAY", 
      "FRIDAY", 
      "SATURDAY"
    ]
  }, 
  "deleted": false, 
  "description": "Description text", 
  "enabled": true, 
  "filters": {
    "server_hosts": {
      "negated": true, 
      "role": "SERVER", 
      "hosts": [
        {
          "ipaddr": "10.0.0.1"
        }
      ]
    }, 
    "dscps": {
      "dscps": [
        {
          "code_point": 10, 
          "name": "AF11"
        }, 
        {
          "code_point": 14, 
          "name": "AF13"
        }
      ], 
      "negated": false
    }, 
    "interfaces": {
      "negated": false, 
      "interfaces": [
        {
          "ifindex": 1, 
          "direction": "INBOUND", 
          "ipaddr": "10.99.11.252"
        }
      ], 
      "devices": [
        {
          "ipaddr": "10.38.8.71"
        }
      ], 
      "groups": [
        {
          "path": "/WAN", 
          "group_id": 2
        }
      ]
    }, 
    "server_hosts_count": "PERHOST", 
    "applications": {
      "negated": false, 
      "applications": [
        {
          "tunneled": false, 
          "id": 617, 
          "name": "Facebook"
        }, 
        {
          "tunneled": false, 
          "id": 603, 
          "name": "WEB"
        }
      ]
    }, 
    "interfaces_path": {
      "negated": true, 
      "groups": [
        {
          "path": "/WAN/Optimized", 
          "group_id": 3
        }
      ]
    }, 
    "client_hosts_count": "AGGREGATE", 
    "client_hosts": {
      "negated": false, 
      "role": "CLIENT", 
      "hosts": [
        {
          "ipaddr": "100.0.0.2"
        }, 
        {
          "ipaddr": "100.0.0.1"
        }
      ], 
      "cidrs": [
        "10.0.0.0/8"
      ], 
      "host_groups": [
        {
          "group_type_id": 102, 
          "group_id": 5, 
          "group_type_name": "ByLocation", 
          "group_name": "Boston"
        }, 
        {
          "group_type_id": 102, 
          "group_id": 4, 
          "group_type_name": "ByLocation", 
          "group_name": "Dallas"
        }
      ]
    }, 
    "ports": {
      "negated": false, 
      "protocols": [
        {
          "id": 6, 
          "name": "tcp"
        }
      ], 
      "ports": [
        {
          "protocol": 17, 
          "name": "udp/80", 
          "port": 80
        }
      ], 
      "groups": [
        {
          "group_id": 2, 
          "name": "Email"
        }
      ]
    }
  }, 
  "threshold": {
    "direction": "EITHER_A2B_OR_B2A", 
    "severity": 100, 
    "metric": "BYTES", 
    "value": 1, 
    "rate": "PERSEC", 
    "duration": 1, 
    "type": "ABOVE"
  }, 
  "revision_id": 12023, 
  "type": "HOST", 
  "id": 12024, 
  "alert_notification": {
    "low_alert_recipient": "Default", 
    "high_alert_recipient": "Mark", 
    "high_alert_recipient_id": 65, 
    "medium_alert_recipient": "* Owner", 
    "medium_alert_recipient_id": 2, 
    "low_alert_recipient_id": 1
  }
}
Property Name Type Description Notes
RuleDetail <object> Object representing a User defined policy, includes traffic filters.
RuleDetail.enabled <string> When true the policy is enabled and it will be monitored by the system.
RuleDetail.alert_notification <object> Object that includes an alert notification information.
RuleDetail.alert_notification.
low_alert_recipient
<string> Low recipient name. Optional
RuleDetail.alert_notification.
medium_alert_recipient_id
<number> Medium recipient id. Optional
RuleDetail.alert_notification.
high_alert_recipient_id
<number> High recipient id. Optional
RuleDetail.alert_notification.
low_alert_recipient_id
<number> Low recipient id. Optional
RuleDetail.alert_notification.
high_alert_recipient
<string> High recipient name. Optional
RuleDetail.alert_notification.
medium_alert_recipient
<string> Medium recipient name. Optional
RuleDetail.id <number> Policy identifier. Optional
RuleDetail.schedule <object> Object that includes policy schedule information (when to track and fire events).
RuleDetail.schedule.time_zone_name <string> Time zone name. Optional
RuleDetail.schedule.days <array of <string>> List of days.
RuleDetail.schedule.days[item] <string> Day of the week. Optional; Values: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
RuleDetail.schedule.time_start <number> Start time.
RuleDetail.schedule.time_end <number> End time.
RuleDetail.schedule.time_zone_id <number> Time zone id. Optional
RuleDetail.deleted <string> When true the policy is marked deleted. Deleted policies are kept for historical reasons and can be retrieved using the API. Optional
RuleDetail.revision_id <number> When the policy is edited, this id is incremented. Optional
RuleDetail.filters <object> Object that includes all traffic filters.
RuleDetail.filters.server_hosts_count <string> Statistics: flag to indicate how to count the server hosts ('per host' or 'in aggregate'). Optional; Values: AGGREGATE, PERHOST
RuleDetail.filters.ports <object> Object that includes all traffic port/protocol/port group filters. Optional
RuleDetail.filters.ports.ports <array of <object>> List of port objects (Protocol/port). Optional
RuleDetail.filters.ports.ports
[CProtoPort]
<object> One CProtoPort object. Optional
RuleDetail.filters.ports.ports
[CProtoPort].port
<number> Port specification. Optional
RuleDetail.filters.ports.ports
[CProtoPort].protocol
<number> Protocol specification. Optional
RuleDetail.filters.ports.ports
[CProtoPort].name
<string> Protocol + port combination name. Optional
RuleDetail.filters.ports.negated <string> Boolean flag indication whether the ports/protocols/port groups should be included (false) or excluded (true). Optional
RuleDetail.filters.ports.groups <array of <object>> List of port group objects. Optional
RuleDetail.filters.ports.groups
[CPortGroup]
<object> One CPortGroup object. Optional
RuleDetail.filters.ports.groups
[CPortGroup].name
<string> Name of the port group. Optional
RuleDetail.filters.ports.groups
[CPortGroup].group_id
<number> ID of the port group. Optional
RuleDetail.filters.ports.protocols <array of <object>> List of protocol objects. Optional
RuleDetail.filters.ports.protocols
[CProtocol]
<object> Object representing Protocol information. Optional
RuleDetail.filters.ports.protocols
[CProtocol].id
<number> ID of the Protocol. Optional
RuleDetail.filters.ports.protocols
[CProtocol].name
<string> Name of the Protocol. Optional
RuleDetail.filters.client_hosts <object> Object that includes all traffic client host/cidr/host group filters. Optional
RuleDetail.filters.client_hosts.role <string> flag indicating if the hosts/cidrs/groups should be treated as client or server or both. Optional; Values: CLIENT_SERVER, CLIENT, SERVER
RuleDetail.filters.client_hosts.negated <string> Boolean flag indication whether the hosts/cidrs/groups should be included (false) or excluded (true). Optional
RuleDetail.filters.client_hosts.hosts <array of <object>> List of Hosts objects. Optional
RuleDetail.filters.client_hosts.hosts
[CHost]
<object> One CHost object. Optional
RuleDetail.filters.client_hosts.hosts
[CHost].mac
<string> Host MAC address. Optional
RuleDetail.filters.client_hosts.hosts
[CHost].ipaddr
<string> Host IP address. Optional
RuleDetail.filters.client_hosts.hosts
[CHost].name
<string> Host name. Optional
RuleDetail.filters.client_hosts.cidrs <array of <string>> List of CIDR objects. Optional
RuleDetail.filters.client_hosts.cidrs
[item]
<string> CIDR object. Optional
RuleDetail.filters.client_hosts.
host_groups
<array of <object>> List of Host Groups objects. Optional
RuleDetail.filters.client_hosts.
host_groups[CFullHostGroup]
<object> Object representing host group type and host group. Optional
RuleDetail.filters.client_hosts.
host_groups[CFullHostGroup].
group_type_id
<number> Host Group type id. Optional
RuleDetail.filters.client_hosts.
host_groups[CFullHostGroup].group_name
<string> Host Group name. Optional
RuleDetail.filters.client_hosts.
host_groups[CFullHostGroup].group_id
<number> Host Group id. Optional
RuleDetail.filters.client_hosts.
host_groups[CFullHostGroup].
group_type_name
<string> Host Group type name. Optional
RuleDetail.filters.interfaces_path <object> Object that includes all traffic interface/device/interface group in network path filters. Optional
RuleDetail.filters.interfaces_path.
devices
<array of <object>> List of Device objects. Optional
RuleDetail.filters.interfaces_path.
devices[CDevice]
<object> One CDevice object. Optional
RuleDetail.filters.interfaces_path.
devices[CDevice].ipaddr
<string> Device IP address. Optional
RuleDetail.filters.interfaces_path.
devices[CDevice].name
<string> Device name. Optional
RuleDetail.filters.interfaces_path.
negated
<string> flag indicating if the interfaces/devices/interface groups should be included (false) or excluded (true). Optional
RuleDetail.filters.interfaces_path.
groups
<array of <object>> List of interface groups objects. Optional
RuleDetail.filters.interfaces_path.
groups[CInterfaceGroup]
<object> Interface group object. Optional
RuleDetail.filters.interfaces_path.
groups[CInterfaceGroup].path
<string> Full interface group path, e.g. /MyViews/Boston/Cambridge/subgroup1. Optional
RuleDetail.filters.interfaces_path.
groups[CInterfaceGroup].group_id
<number> Interface group id. Optional
RuleDetail.filters.interfaces_path.
interfaces
<array of <object>> List of interface objects. Optional
RuleDetail.filters.interfaces_path.
interfaces[CInterfaceDirection]
<object> Interface object. Optional
RuleDetail.filters.interfaces_path.
interfaces[CInterfaceDirection].ipaddr
<string> IP Address of the interface. Optional
RuleDetail.filters.interfaces_path.
interfaces[CInterfaceDirection].name
<string> Name of the interface, DNS and interface label can be used, e.g. myinterface:port1. Optional
RuleDetail.filters.interfaces_path.
interfaces[CInterfaceDirection].
direction
<string> Direction of the interface. Optional; Values: INBOUND, OUTBOUND, BOTH
RuleDetail.filters.interfaces_path.
interfaces[CInterfaceDirection].
ifindex
<number> Ifindex. Optional
RuleDetail.filters.client_hosts_count <string> Statistics: flag to indicate how to count the client hosts ('per host' or 'in aggregate'). Optional; Values: AGGREGATE, PERHOST
RuleDetail.filters.server_hosts <object> Object that includes all traffic server host/cidr/host group filters. Optional
RuleDetail.filters.server_hosts.role <string> flag indicating if the hosts/cidrs/groups should be treated as client or server or both. Optional; Values: CLIENT_SERVER, CLIENT, SERVER
RuleDetail.filters.server_hosts.negated <string> Boolean flag indication whether the hosts/cidrs/groups should be included (false) or excluded (true). Optional
RuleDetail.filters.server_hosts.hosts <array of <object>> List of Hosts objects. Optional
RuleDetail.filters.server_hosts.hosts
[CHost]
<object> One CHost object. Optional
RuleDetail.filters.server_hosts.hosts
[CHost].mac
<string> Host MAC address. Optional
RuleDetail.filters.server_hosts.hosts
[CHost].ipaddr
<string> Host IP address. Optional
RuleDetail.filters.server_hosts.hosts
[CHost].name
<string> Host name. Optional
RuleDetail.filters.server_hosts.cidrs <array of <string>> List of CIDR objects. Optional
RuleDetail.filters.server_hosts.cidrs
[item]
<string> CIDR object. Optional
RuleDetail.filters.server_hosts.
host_groups
<array of <object>> List of Host Groups objects. Optional
RuleDetail.filters.server_hosts.
host_groups[CFullHostGroup]
<object> Object representing host group type and host group. Optional
RuleDetail.filters.server_hosts.
host_groups[CFullHostGroup].
group_type_id
<number> Host Group type id. Optional
RuleDetail.filters.server_hosts.
host_groups[CFullHostGroup].group_name
<string> Host Group name. Optional
RuleDetail.filters.server_hosts.
host_groups[CFullHostGroup].group_id
<number> Host Group id. Optional
RuleDetail.filters.server_hosts.
host_groups[CFullHostGroup].
group_type_name
<string> Host Group type name. Optional
RuleDetail.filters.interfaces <object> Object that includes all traffic interface/device/interface group filters. Optional
RuleDetail.filters.interfaces.devices <array of <object>> List of Device objects. Optional
RuleDetail.filters.interfaces.devices
[CDevice]
<object> One CDevice object. Optional
RuleDetail.filters.interfaces.devices
[CDevice].ipaddr
<string> Device IP address. Optional
RuleDetail.filters.interfaces.devices
[CDevice].name
<string> Device name. Optional
RuleDetail.filters.interfaces.negated <string> flag indicating if the interfaces/devices/interface groups should be included (false) or excluded (true). Optional
RuleDetail.filters.interfaces.groups <array of <object>> List of interface groups objects. Optional
RuleDetail.filters.interfaces.groups
[CInterfaceGroup]
<object> Interface group object. Optional
RuleDetail.filters.interfaces.groups
[CInterfaceGroup].path
<string> Full interface group path, e.g. /MyViews/Boston/Cambridge/subgroup1. Optional
RuleDetail.filters.interfaces.groups
[CInterfaceGroup].group_id
<number> Interface group id. Optional
RuleDetail.filters.interfaces.interfaces <array of <object>> List of interface objects. Optional
RuleDetail.filters.interfaces.interfaces
[CInterfaceDirection]
<object> Interface object. Optional
RuleDetail.filters.interfaces.interfaces
[CInterfaceDirection].ipaddr
<string> IP Address of the interface. Optional
RuleDetail.filters.interfaces.interfaces
[CInterfaceDirection].name
<string> Name of the interface, DNS and interface label can be used, e.g. myinterface:port1. Optional
RuleDetail.filters.interfaces.interfaces
[CInterfaceDirection].direction
<string> Direction of the interface. Optional; Values: INBOUND, OUTBOUND, BOTH
RuleDetail.filters.interfaces.interfaces
[CInterfaceDirection].ifindex
<number> Ifindex. Optional
RuleDetail.filters.dscps <object> Object that includes all traffic dscp filters. Optional
RuleDetail.filters.dscps.negated <string> Boolean flag indication whether the DSCPs should be included (false) or excluded (true). Optional
RuleDetail.filters.dscps.dscps <array of <object>> List of DSCP objects. Optional
RuleDetail.filters.dscps.dscps[CDSCP] <object> One CDSCP object. Optional
RuleDetail.filters.dscps.dscps[CDSCP].
name
<string> DSCP name. Optional
RuleDetail.filters.dscps.dscps[CDSCP].
code_point
<number> DSCP code point. Optional
RuleDetail.filters.applications <object> Object that includes all traffic application filters. Optional
RuleDetail.filters.applications.negated <string> Boolean flag indication whether the applications should be included (false) or excluded (true). Optional
RuleDetail.filters.applications.
applications
<array of <object>> List of application objects. Optional
RuleDetail.filters.applications.
applications[CApplication]
<object> One CApplication object. Optional
RuleDetail.filters.applications.
applications[CApplication].id
<number> Application id. Optional
RuleDetail.filters.applications.
applications[CApplication].code
<string> Application code. Optional
RuleDetail.filters.applications.
applications[CApplication].name
<string> Application name. Optional
RuleDetail.filters.applications.
applications[CApplication].tunneled
<string> Flag: is the application tunneled. Optional
RuleDetail.description <string> Policy description.
RuleDetail.name <string> Policy name. Must be unique in the system.
RuleDetail.type <string> Policy type. Values: HOST, INTERFACE, RESPONSE_TIME
RuleDetail.threshold <object> Object that includes threshold information (what metric to be tracked and how).
RuleDetail.threshold.metric <string> Metric to be tracked. Values: BYTES, PACKETS, CONNS_NEW, UTILIZATION, SRV_DELAY, RESP_RTT, NET_RTT, RETRANS_BYTES, RETRANS_PACKETS, RETRANS_BYTES_PCT, RETRANS_PACKETS_PCT, RESETS, CONNS_ACTIVE, CONNS_DURATION, APP_THRUPUT_PERSECCONN, MOS, RFACTOR, JITTER, LOSS, LOSS_PCT
RuleDetail.threshold.severity <number> Threshold severity - the bigger the number the more serious the events would be considered (min 0, max 100, default 100). Optional
RuleDetail.threshold.scope <string> Threshold scope: INDIVIDUAL: the threshold violates if any individual host violates; AVERAGE: the threshold violates if the average for the group violates (applies for response type policies only, default INDIVIDUAL). Optional; Values: INDIVIDUAL, AVERAGE
RuleDetail.threshold.type <string> Set to Below when the policy needs to trigger when the metric value goes below the threshold otherwise the policy triggers when the metric value goes above the threshold. Values: ABOVE, BELOW
RuleDetail.threshold.direction <string> Tracked direction. Optional; Values: A2B, B2A, EITHER_A2B_OR_B2A, A2B_PLUS_B2A, IN, OUT, IN_OR_OUT
RuleDetail.threshold.value <string> Threshold value.
RuleDetail.threshold.duration <number> Number of consecutive minutes that metric must violate before an event is triggered (min 1, default 1). Optional
RuleDetail.threshold.rate <string> Threshold rate (seconds, minutes, milliseconds). Optional; Values: PERMS, PERSEC, PERMIN

User_Defined_Policies: Create policy

Create a new user defined policy.

POST https://{device}/api/profiler/1.4/user_defined_policies
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "enabled": string,
  "alert_notification": {
    "low_alert_recipient": string,
    "medium_alert_recipient_id": number,
    "high_alert_recipient_id": number,
    "low_alert_recipient_id": number,
    "high_alert_recipient": string,
    "medium_alert_recipient": string
  },
  "id": number,
  "schedule": {
    "time_zone_name": string,
    "days": [
      string
    ],
    "time_start": number,
    "time_end": number,
    "time_zone_id": number
  },
  "deleted": string,
  "revision_id": number,
  "filters": {
    "server_hosts_count": string,
    "ports": {
      "ports": [
        {
          "port": number,
          "protocol": number,
          "name": string
        }
      ],
      "negated": string,
      "groups": [
        {
          "name": string,
          "group_id": number
        }
      ],
      "protocols": [
        {
          "id": number,
          "name": string
        }
      ]
    },
    "client_hosts": {
      "role": string,
      "negated": string,
      "hosts": [
        {
          "mac": string,
          "ipaddr": string,
          "name": string
        }
      ],
      "cidrs": [
        string
      ],
      "host_groups": [
        {
          "group_type_id": number,
          "group_name": string,
          "group_id": number,
          "group_type_name": string
        }
      ]
    },
    "interfaces_path": {
      "devices": [
        {
          "ipaddr": string,
          "name": string
        }
      ],
      "negated": string,
      "groups": [
        {
          "path": string,
          "group_id": number
        }
      ],
      "interfaces": [
        {
          "ipaddr": string,
          "name": string,
          "direction": string,
          "ifindex": number
        }
      ]
    },
    "client_hosts_count": string,
    "server_hosts": {
      "role": string,
      "negated": string,
      "hosts": [
        {
          "mac": string,
          "ipaddr": string,
          "name": string
        }
      ],
      "cidrs": [
        string
      ],
      "host_groups": [
        {
          "group_type_id": number,
          "group_name": string,
          "group_id": number,
          "group_type_name": string
        }
      ]
    },
    "interfaces": {
      "devices": [
        {
          "ipaddr": string,
          "name": string
        }
      ],
      "negated": string,
      "groups": [
        {
          "path": string,
          "group_id": number
        }
      ],
      "interfaces": [
        {
          "ipaddr": string,
          "name": string,
          "direction": string,
          "ifindex": number
        }
      ]
    },
    "dscps": {
      "negated": string,
      "dscps": [
        {
          "name": string,
          "code_point": number
        }
      ]
    },
    "applications": {
      "negated": string,
      "applications": [
        {
          "id": number,
          "code": string,
          "name": string,
          "tunneled": string
        }
      ]
    }
  },
  "description": string,
  "name": string,
  "type": string,
  "threshold": {
    "metric": string,
    "severity": number,
    "scope": string,
    "type": string,
    "direction": string,
    "value": string,
    "duration": number,
    "rate": string
  }
}

Example:
{
  "name": "HostPolicy1", 
  "schedule": {
    "time_zone_id": 160, 
    "time_zone_name": "America/New_York", 
    "time_start": 0, 
    "time_end": 86399, 
    "days": [
      "SUNDAY", 
      "MONDAY", 
      "TUESDAY", 
      "WEDNESDAY", 
      "THURSDAY", 
      "FRIDAY", 
      "SATURDAY"
    ]
  }, 
  "deleted": false, 
  "description": "Description text", 
  "enabled": true, 
  "filters": {
    "server_hosts": {
      "negated": true, 
      "role": "SERVER", 
      "hosts": [
        {
          "ipaddr": "10.0.0.1"
        }
      ]
    }, 
    "dscps": {
      "dscps": [
        {
          "code_point": 10, 
          "name": "AF11"
        }, 
        {
          "code_point": 14, 
          "name": "AF13"
        }
      ], 
      "negated": false
    }, 
    "interfaces": {
      "negated": false, 
      "interfaces": [
        {
          "ifindex": 1, 
          "direction": "INBOUND", 
          "ipaddr": "10.99.11.252"
        }
      ], 
      "devices": [
        {
          "ipaddr": "10.38.8.71"
        }
      ], 
      "groups": [
        {
          "path": "/WAN", 
          "group_id": 2
        }
      ]
    }, 
    "server_hosts_count": "PERHOST", 
    "applications": {
      "negated": false, 
      "applications": [
        {
          "tunneled": false, 
          "id": 617, 
          "name": "Facebook"
        }, 
        {
          "tunneled": false, 
          "id": 603, 
          "name": "WEB"
        }
      ]
    }, 
    "interfaces_path": {
      "negated": true, 
      "groups": [
        {
          "path": "/WAN/Optimized", 
          "group_id": 3
        }
      ]
    }, 
    "client_hosts_count": "AGGREGATE", 
    "client_hosts": {
      "negated": false, 
      "role": "CLIENT", 
      "hosts": [
        {
          "ipaddr": "100.0.0.2"
        }, 
        {
          "ipaddr": "100.0.0.1"
        }
      ], 
      "cidrs": [
        "10.0.0.0/8"
      ], 
      "host_groups": [
        {
          "group_type_id": 102, 
          "group_id": 5, 
          "group_type_name": "ByLocation", 
          "group_name": "Boston"
        }, 
        {
          "group_type_id": 102, 
          "group_id": 4, 
          "group_type_name": "ByLocation", 
          "group_name": "Dallas"
        }
      ]
    }, 
    "ports": {
      "negated": false, 
      "protocols": [
        {
          "id": 6, 
          "name": "tcp"
        }
      ], 
      "ports": [
        {
          "protocol": 17, 
          "name": "udp/80", 
          "port": 80
        }
      ], 
      "groups": [
        {
          "group_id": 2, 
          "name": "Email"
        }
      ]
    }
  }, 
  "threshold": {
    "direction": "EITHER_A2B_OR_B2A", 
    "severity": 100, 
    "metric": "BYTES", 
    "value": 1, 
    "rate": "PERSEC", 
    "duration": 1, 
    "type": "ABOVE"
  }, 
  "revision_id": 12023, 
  "type": "HOST", 
  "id": 12024, 
  "alert_notification": {
    "low_alert_recipient": "Default", 
    "high_alert_recipient": "Mark", 
    "high_alert_recipient_id": 65, 
    "medium_alert_recipient": "* Owner", 
    "medium_alert_recipient_id": 2, 
    "low_alert_recipient_id": 1
  }
}
Property Name Type Description Notes
RuleDetail <object> Object representing a User defined policy, includes traffic filters.
RuleDetail.enabled <string> When true the policy is enabled and it will be monitored by the system.
RuleDetail.alert_notification <object> Object that includes an alert notification information.
RuleDetail.alert_notification.
low_alert_recipient
<string> Low recipient name. Optional
RuleDetail.alert_notification.
medium_alert_recipient_id
<number> Medium recipient id. Optional
RuleDetail.alert_notification.
high_alert_recipient_id
<number> High recipient id. Optional
RuleDetail.alert_notification.
low_alert_recipient_id
<number> Low recipient id. Optional
RuleDetail.alert_notification.
high_alert_recipient
<string> High recipient name. Optional
RuleDetail.alert_notification.
medium_alert_recipient
<string> Medium recipient name. Optional
RuleDetail.id <number> Policy identifier. Optional
RuleDetail.schedule <object> Object that includes policy schedule information (when to track and fire events).
RuleDetail.schedule.time_zone_name <string> Time zone name. Optional
RuleDetail.schedule.days <array of <string>> List of days.
RuleDetail.schedule.days[item] <string> Day of the week. Optional; Values: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
RuleDetail.schedule.time_start <number> Start time.
RuleDetail.schedule.time_end <number> End time.
RuleDetail.schedule.time_zone_id <number> Time zone id. Optional
RuleDetail.deleted <string> When true the policy is marked deleted. Deleted policies are kept for historical reasons and can be retrieved using the API. Optional
RuleDetail.revision_id <number> When the policy is edited, this id is incremented. Optional
RuleDetail.filters <object> Object that includes all traffic filters.
RuleDetail.filters.server_hosts_count <string> Statistics: flag to indicate how to count the server hosts ('per host' or 'in aggregate'). Optional; Values: AGGREGATE, PERHOST
RuleDetail.filters.ports <object> Object that includes all traffic port/protocol/port group filters. Optional
RuleDetail.filters.ports.ports <array of <object>> List of port objects (Protocol/port). Optional
RuleDetail.filters.ports.ports
[CProtoPort]
<object> One CProtoPort object. Optional
RuleDetail.filters.ports.ports
[CProtoPort].port
<number> Port specification. Optional
RuleDetail.filters.ports.ports
[CProtoPort].protocol
<number> Protocol specification. Optional
RuleDetail.filters.ports.ports
[CProtoPort].name
<string> Protocol + port combination name. Optional
RuleDetail.filters.ports.negated <string> Boolean flag indication whether the ports/protocols/port groups should be included (false) or excluded (true). Optional
RuleDetail.filters.ports.groups <array of <object>> List of port group objects. Optional
RuleDetail.filters.ports.groups
[CPortGroup]
<object> One CPortGroup object. Optional
RuleDetail.filters.ports.groups
[CPortGroup].name
<string> Name of the port group. Optional
RuleDetail.filters.ports.groups
[CPortGroup].group_id
<number> ID of the port group. Optional
RuleDetail.filters.ports.protocols <array of <object>> List of protocol objects. Optional
RuleDetail.filters.ports.protocols
[CProtocol]
<object> Object representing Protocol information. Optional
RuleDetail.filters.ports.protocols
[CProtocol].id
<number> ID of the Protocol. Optional
RuleDetail.filters.ports.protocols
[CProtocol].name
<string> Name of the Protocol. Optional
RuleDetail.filters.client_hosts <object> Object that includes all traffic client host/cidr/host group filters. Optional
RuleDetail.filters.client_hosts.role <string> flag indicating if the hosts/cidrs/groups should be treated as client or server or both. Optional; Values: CLIENT_SERVER, CLIENT, SERVER
RuleDetail.filters.client_hosts.negated <string> Boolean flag indication whether the hosts/cidrs/groups should be included (false) or excluded (true). Optional
RuleDetail.filters.client_hosts.hosts <array of <object>> List of Hosts objects. Optional
RuleDetail.filters.client_hosts.hosts
[CHost]
<object> One CHost object. Optional
RuleDetail.filters.client_hosts.hosts
[CHost].mac
<string> Host MAC address. Optional
RuleDetail.filters.client_hosts.hosts
[CHost].ipaddr
<string> Host IP address. Optional
RuleDetail.filters.client_hosts.hosts
[CHost].name
<string> Host name. Optional
RuleDetail.filters.client_hosts.cidrs <array of <string>> List of CIDR objects. Optional
RuleDetail.filters.client_hosts.cidrs
[item]
<string> CIDR object. Optional
RuleDetail.filters.client_hosts.
host_groups
<array of <object>> List of Host Groups objects. Optional
RuleDetail.filters.client_hosts.
host_groups[CFullHostGroup]
<object> Object representing host group type and host group. Optional
RuleDetail.filters.client_hosts.
host_groups[CFullHostGroup].
group_type_id
<number> Host Group type id. Optional
RuleDetail.filters.client_hosts.
host_groups[CFullHostGroup].group_name
<string> Host Group name. Optional
RuleDetail.filters.client_hosts.
host_groups[CFullHostGroup].group_id
<number> Host Group id. Optional
RuleDetail.filters.client_hosts.
host_groups[CFullHostGroup].
group_type_name
<string> Host Group type name. Optional
RuleDetail.filters.interfaces_path <object> Object that includes all traffic interface/device/interface group in network path filters. Optional
RuleDetail.filters.interfaces_path.
devices
<array of <object>> List of Device objects. Optional
RuleDetail.filters.interfaces_path.
devices[CDevice]
<object> One CDevice object. Optional
RuleDetail.filters.interfaces_path.
devices[CDevice].ipaddr
<string> Device IP address. Optional
RuleDetail.filters.interfaces_path.
devices[CDevice].name
<string> Device name. Optional
RuleDetail.filters.interfaces_path.
negated
<string> flag indicating if the interfaces/devices/interface groups should be included (false) or excluded (true). Optional
RuleDetail.filters.interfaces_path.
groups
<array of <object>> List of interface groups objects. Optional
RuleDetail.filters.interfaces_path.
groups[CInterfaceGroup]
<object> Interface group object. Optional
RuleDetail.filters.interfaces_path.
groups[CInterfaceGroup].path
<string> Full interface group path, e.g. /MyViews/Boston/Cambridge/subgroup1. Optional
RuleDetail.filters.interfaces_path.
groups[CInterfaceGroup].group_id
<number> Interface group id. Optional
RuleDetail.filters.interfaces_path.
interfaces
<array of <object>> List of interface objects. Optional
RuleDetail.filters.interfaces_path.
interfaces[CInterfaceDirection]
<object> Interface object. Optional
RuleDetail.filters.interfaces_path.
interfaces[CInterfaceDirection].ipaddr
<string> IP Address of the interface. Optional
RuleDetail.filters.interfaces_path.
interfaces[CInterfaceDirection].name
<string> Name of the interface, DNS and interface label can be used, e.g. myinterface:port1. Optional
RuleDetail.filters.interfaces_path.
interfaces[CInterfaceDirection].
direction
<string> Direction of the interface. Optional; Values: INBOUND, OUTBOUND, BOTH
RuleDetail.filters.interfaces_path.
interfaces[CInterfaceDirection].
ifindex
<number> Ifindex. Optional
RuleDetail.filters.client_hosts_count <string> Statistics: flag to indicate how to count the client hosts ('per host' or 'in aggregate'). Optional; Values: AGGREGATE, PERHOST
RuleDetail.filters.server_hosts <object> Object that includes all traffic server host/cidr/host group filters. Optional
RuleDetail.filters.server_hosts.role <string> flag indicating if the hosts/cidrs/groups should be treated as client or server or both. Optional; Values: CLIENT_SERVER, CLIENT, SERVER
RuleDetail.filters.server_hosts.negated <string> Boolean flag indication whether the hosts/cidrs/groups should be included (false) or excluded (true). Optional
RuleDetail.filters.server_hosts.hosts <array of <object>> List of Hosts objects. Optional
RuleDetail.filters.server_hosts.hosts
[CHost]
<object> One CHost object. Optional
RuleDetail.filters.server_hosts.hosts
[CHost].mac
<string> Host MAC address. Optional
RuleDetail.filters.server_hosts.hosts
[CHost].ipaddr
<string> Host IP address. Optional
RuleDetail.filters.server_hosts.hosts
[CHost].name
<string> Host name. Optional
RuleDetail.filters.server_hosts.cidrs <array of <string>> List of CIDR objects. Optional
RuleDetail.filters.server_hosts.cidrs
[item]
<string> CIDR object. Optional
RuleDetail.filters.server_hosts.
host_groups
<array of <object>> List of Host Groups objects. Optional
RuleDetail.filters.server_hosts.
host_groups[CFullHostGroup]
<object> Object representing host group type and host group. Optional
RuleDetail.filters.server_hosts.
host_groups[CFullHostGroup].
group_type_id
<number> Host Group type id. Optional
RuleDetail.filters.server_hosts.
host_groups[CFullHostGroup].group_name
<string> Host Group name. Optional
RuleDetail.filters.server_hosts.
host_groups[CFullHostGroup].group_id
<number> Host Group id. Optional
RuleDetail.filters.server_hosts.
host_groups[CFullHostGroup].
group_type_name
<string> Host Group type name. Optional
RuleDetail.filters.interfaces <object> Object that includes all traffic interface/device/interface group filters. Optional
RuleDetail.filters.interfaces.devices <array of <object>> List of Device objects. Optional
RuleDetail.filters.interfaces.devices
[CDevice]
<object> One CDevice object. Optional
RuleDetail.filters.interfaces.devices
[CDevice].ipaddr
<string> Device IP address. Optional
RuleDetail.filters.interfaces.devices
[CDevice].name
<string> Device name. Optional
RuleDetail.filters.interfaces.negated <string> flag indicating if the interfaces/devices/interface groups should be included (false) or excluded (true). Optional
RuleDetail.filters.interfaces.groups <array of <object>> List of interface groups objects. Optional
RuleDetail.filters.interfaces.groups
[CInterfaceGroup]
<object> Interface group object. Optional
RuleDetail.filters.interfaces.groups
[CInterfaceGroup].path
<string> Full interface group path, e.g. /MyViews/Boston/Cambridge/subgroup1. Optional
RuleDetail.filters.interfaces.groups
[CInterfaceGroup].group_id
<number> Interface group id. Optional
RuleDetail.filters.interfaces.interfaces <array of <object>> List of interface objects. Optional
RuleDetail.filters.interfaces.interfaces
[CInterfaceDirection]
<object> Interface object. Optional
RuleDetail.filters.interfaces.interfaces
[CInterfaceDirection].ipaddr
<string> IP Address of the interface. Optional
RuleDetail.filters.interfaces.interfaces
[CInterfaceDirection].name
<string> Name of the interface, DNS and interface label can be used, e.g. myinterface:port1. Optional
RuleDetail.filters.interfaces.interfaces
[CInterfaceDirection].direction
<string> Direction of the interface. Optional; Values: INBOUND, OUTBOUND, BOTH
RuleDetail.filters.interfaces.interfaces
[CInterfaceDirection].ifindex
<number> Ifindex. Optional
RuleDetail.filters.dscps <object> Object that includes all traffic dscp filters. Optional
RuleDetail.filters.dscps.negated <string> Boolean flag indication whether the DSCPs should be included (false) or excluded (true). Optional
RuleDetail.filters.dscps.dscps <array of <object>> List of DSCP objects. Optional
RuleDetail.filters.dscps.dscps[CDSCP] <object> One CDSCP object. Optional
RuleDetail.filters.dscps.dscps[CDSCP].
name
<string> DSCP name. Optional
RuleDetail.filters.dscps.dscps[CDSCP].
code_point
<number> DSCP code point. Optional
RuleDetail.filters.applications <object> Object that includes all traffic application filters. Optional
RuleDetail.filters.applications.negated <string> Boolean flag indication whether the applications should be included (false) or excluded (true). Optional
RuleDetail.filters.applications.
applications
<array of <object>> List of application objects. Optional
RuleDetail.filters.applications.
applications[CApplication]
<object> One CApplication object. Optional
RuleDetail.filters.applications.
applications[CApplication].id
<number> Application id. Optional
RuleDetail.filters.applications.
applications[CApplication].code
<string> Application code. Optional
RuleDetail.filters.applications.
applications[CApplication].name
<string> Application name. Optional
RuleDetail.filters.applications.
applications[CApplication].tunneled
<string> Flag: is the application tunneled. Optional
RuleDetail.description <string> Policy description.
RuleDetail.name <string> Policy name. Must be unique in the system.
RuleDetail.type <string> Policy type. Values: HOST, INTERFACE, RESPONSE_TIME
RuleDetail.threshold <object> Object that includes threshold information (what metric to be tracked and how).
RuleDetail.threshold.metric <string> Metric to be tracked. Values: BYTES, PACKETS, CONNS_NEW, UTILIZATION, SRV_DELAY, RESP_RTT, NET_RTT, RETRANS_BYTES, RETRANS_PACKETS, RETRANS_BYTES_PCT, RETRANS_PACKETS_PCT, RESETS, CONNS_ACTIVE, CONNS_DURATION, APP_THRUPUT_PERSECCONN, MOS, RFACTOR, JITTER, LOSS, LOSS_PCT
RuleDetail.threshold.severity <number> Threshold severity - the bigger the number the more serious the events would be considered (min 0, max 100, default 100). Optional
RuleDetail.threshold.scope <string> Threshold scope: INDIVIDUAL: the threshold violates if any individual host violates; AVERAGE: the threshold violates if the average for the group vi