Running Reports

The following example is an API call to run a default report, over the last 5 minutes, on all interfaces of a device.

Note

In the example below, you must replace {{scrutinizer_ip_address}} with your Plixer Scrutinizer’s IP address, as well as {{authToken}} with an Authentication Token that can be obtained from the UI.

Example API call:

curl --location --request POST 'https://{{scrutinizer_ip_address}}/fcgi/scrut_fcgi.fcgi' \
--form 'authToken={{authToken}}' \
--form 'rm=report_api' \
--form 'action=get' \
--form 'rpt_json=
{
    "reportTypeLang": "conversations",
    "filters": {
        "sdfDips_0": "in_0A190101_ALL"
    },
    "reportDirections": {
        "selected": "inbound"
    },
    "times": {
        "dateRange": "LastFiveMinutes",
        "clientTimezone": "America/New_York"
    },
    "dataMode": {
        "selected": "saf"
    },
    "rateTotal": {
        "selected": "total"
    },
    "dataGranularity": {
        "selected": "auto"
    },
    "bbp": {
        "selected": "bits"
    }

}' \
--form 'data_requested=
{
    "inbound": {
        "graph": "none",
        "table": {
            "query_limit": {
                "offset": 0,
                "max_num_rows": 10
            }
        }
    }
}'

The API call above is processed by the reporting engine, and then the server returns a JSON response.

JSON object returned:

{
    "report": {
        "request_id": "0xed184820e4b611eab58f1fc02130f7f9",
        "table": {
            "inbound": {
                "totalRowCount": 1,
                "footer": [],
                "columns": [],
                "rows": []
            }
        },
        "time_details": {},
        "exporter_details": {},
        "graph": {}
    }
}

The sample response above is condensed to show the typical structure of a JSON response. The following table is a breakdown of the most important fields from the report field/key from the above response:

Field

Description

table

The table data is divided into inbound or outbound. For each direction the following are provided:

columns

An array of objects that represent the definition of each column in the table. Most of the data is used to create the html table in the browser.

elementName

Name of the element that the data in the column is for

format

Details about how the data in the column needs to be formatted

label

Label used in the table header

rows

Each collection in the array represents a row and each object in the collection represents a table cell for that row.

rawValue

The unformatted value as it is returned from the database

label

The formatted value including bits, bytes, or percent

footer

The footer[0] represents the ‘Others’ data of operations columns (columns in which the value is the product of an arithmetic operation). That is, the amount of the data not included in rows.

The footer[1] represents the ‘total’. Total for a column is equal to the sum of the rows of that column plus the ‘Others’ value of that column.

totalRowCount

Integer representing the total number of rows available

graph

all

Returns all available graph types

pie

Values used in drawing pie chart of table data

timeseries

Values used in drawing line graph chart of table data

none

Only returns data for pie, as that is the default