Applications

Application information provides the detailed monitoring information for an application selected from application visibility. Application Visibility tabs showcases the top 10 clients who are using the selected application over a period of time. The name of the selected application can be displayed on the top most right corner.

API Calls

/V5/applications

/V5/applications/statistics/sorting

/V5/applications/statistics/trend

/V5/applications/aps/statistics/trend

/V5/applications/metadata

/V5/applications/categories

/V5/applications/health

/V5/applications/{applicationid}/traffic

Get List of Applications

Description Accesses the list of applications based on the parameters provided.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/applications?ssid=<value>&usedappsonly=<value>
&metadata=<value>&boxid=<value>
  • ssid

    Applications used by clients connected to the given SSID. It takes a string value.
    If not specified, all the SSIDs are considered. If you want to fetch the application
    list for multiple SSIDs, then each SSID must be provided separately in the URL.
    To retrieve the value for SSIDs refer Get SSIDs Configured on a Managed Device call.

  • usedappsonly

    Get a list of only used applications. It takes a boolean value. The default value is false.

  • metadata

    Is used to also retrieve information about the application usage. It takes a boolean value. The default value is false.

  • boxid

    Is the managed device identifier for which application usage is requested. If not provided
    application usage for all devices are considered. It takes an integer value. To retrieve the
    value for boxid refer Managed Devices call.

Sample code
GET https://training.mojonetworks.com/new/webservice/V5/applications?
ssid=test&usedappsonly=false&metadata=false&boxid=2
Request Body This API call does not require any request body parameters.
Response Body If the API call is successful, the HTTP response status is 200.
The response body contains the list of applications. The response is in the application/json format.

Get Top N Applications

Description Retrieves top N applications sorted by specified field for the specified time.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/applications/statistics/sorting?ssid=<value>&
sortby=<value>&limit=<value>&boxid=<value>&fromtime=<value>
&totime=<value>
  • sortby

    Is used to sort application usage data. The applicable value is networktraffic,
    which is the default value.

  • ssid

    Is used to get applications being used by the given SSIDs. It takes a string value.
    If you want to fetch applications for multiple SSIDs, then each SSID must be provided
    separately in the URL. To retrieve the value for SSIDs refer Get SSIDs Configured on a Managed Device call.

  • boxid

    Is the managed device identifier for which application usage is requested. If not provided usage
    for all devices are considered. It takes an integer value. To retrieve the value for boxid refer ManagedDevices call.

  • limit

    Is the parameter used to specify the top N number of applications. The default value
    is 10. It takes an integer value.

  • fromtime

    Is the start time for application usage over time. If not provided the last 4 hours from end time
    is considered. Accepts value in a number of milliseconds in UTC format. It takes an integer value

  • totime

    Is the end time for application usage over time. If not provided current system time
    is considered. Accepts value in a number of milliseconds in UTC format. It takes an integer value

Sample code
GET https://training.mojonetworks.com/new/webservice/V5/applications/statistics/sorting?
sortby=networktraffic&ssid=test&boxid=2&limit=6&fromtime=1476648029&totime=1517811343
Request Body This API call does not require any request body parameters.
Response Body If the API call is successful, the HTTP response status is 200.
The response body contains the list of applications. The response is in the application/json format.

Get Application Usage Trend

Description Fetches the application usage trend.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/applications/statistics/trend?type=<value>&applicationid=<value>
&ssid=<value>&frequencyband=<value>&applicationcategory=<value>&boxid=<value>
  • type

    Is used to specify trend type. The applicable values are applicationquality, sessionquality, and noofclientappexperience. The default value is sessionquality.

  • applicationid

    Is the ID of the application for which traffic trend is requested. It takes an
    integer value. If you want to fetch the trend for multiple applications, then each application
    ID must be provided separately in the URL.

  • ssid

    Specifies the SSIDs for which we have to fetch the trend. It takes a string value.
    If you want to fetch the trend for multiple SSIDs, then each SSID must be provided separately
    in the URL. To retrieve the value for SSIDs refer Get SSIDs Configured on a Managed Device call.

  • frequencyband

    It is used to specify the frequency band. Possible values are 2.4GHz, 5GHz and ANY. The default value is ANY.

  • boxid

    Is the managed device identifier for which trend is requested. If not provided usage for
    all devices are considered. It takes an integer value. To retrieve the value for boxid refer Managed Devices call.

Sample code
GET https://training.mojonetworks.com/new/webservice/V5/applications/statistics/trend?
type=networktraffic&applicationid=1&applicationid=2&ssid=test&
frequencyband=ANY&boxid=2
Request Body This API call does not require any request body parameters.
Response Body If the API call is successful, the HTTP response status is 200.
The response body contains data usage value for a given time interval. The data points returned
are for 15 minute time intervals. The response is in the application/json format.
The contents of the response body are listed below.

  • Value

    It represents data usage in bytes. It is an integer value.

  • Time

    It represents data usage time in seconds. It is an integer value.

A sample response is as follows:

  
  {
        "samples":
        [
            {
                "value": 7281,
                "time": 1477026000
            },
            {
                "value": 0,
                "time": 1477026900
            },
            {
                "value": 0,
                "time": 1477027800
            },
            {
                "value": 18032,
                "time": 1477028700
            },
            {
                "value": 0,
                "time": 1477029600
            },
            {
                "value": 0,
                "time": 1477030500
            },
            {
                "value": 0,
                "time": 1477031400
            },
            {
                "value": 0,
                "time": 1477032300
            },
            {
                "value": 0,
                "time": 1477033200
            },
            {
                "value": 0,
                "time": 1477034100
            },
            {
                "value": 0,
                "time": 1477035000
            },
            {
                "value": 0,
                "time": 1477035900
            },
            {
                "value": 3052,
                "time": 1477036800
            },
            {
                "value": 0,
                "time": 1477037700
            },
            {
                "value": 0,
                "time": 1477038600
            },
            {
                "value": 6485,
                "time": 1477039500
            }
        ],
        "totalCount": 34850
    }

Get Application Experience Trend

Description Fetches the good and bad application experience data over the Internet.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/applications/aps/statistics/trend?applicationid=<Value>
&macaddress=<Value>&frequencyband=<Value>&ssid=<Value>&type=<Value>
  • applicationid

    The id of application for which data has to be fetched.  It takes an integer value.

  • macaddress

    MAC address of the device.  It takes a string value.

  • ssid

    It Specifies the SSIDs for which we have to fetch the trend. It takes a string value.
    If you want to fetch the trend for multiple SSIDs, then each SSID must be provided separately in the URL.
    To retrieve the value for SSIDs refer Get SSIDs Configured on a Managed Device call.

  • frequencyband

    It is used to specify the frequency band. Possible values are 2.4GHz, 5GHz and ANY. The default value is ANY.

  • type

    Is used to specify trend type. The applicable value is applicationquality, and noofclientappexperience. The default value is applicationquality.

Sample code
GET
https://training.mojonetworks.com/new/webservice/V5/applications
/aps/statistics/trend?macaddress=00:11:74:86:02:0F&
applicationId=1181
Request Body This API call does not require any request body parameters.
Response Body If the API call is successful, the HTTP response status is 200.
The response body contains the list of good and bad data usage over time. The response is
in the application/json format. The contents of the response body is listed below.

  • goodDataUsage

    It represents good data usage time. It is an integer value.

  • badDataUsage

    It represents bad data usage time. It is an integer value.

  • dataUsageTime

    It represents total data usage time. It is an integer value.

  • totalCount

    It represents the total count of data usage. It is an integer value.

The sample response is as follows.

{
	"samples": [{
		"goodDataUsage": 0,
		"badDataUsage": 30,
		"dataUsageTime": 1519711200000
	}],
	"totalCount": 60
}

Get Application Categories

Description Fetches the metadata about all supported application categories.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/applications/categories
Sample code
GET https://training.mojonetworks.com/new/webservice/V5/applications/categories
Request Body This API call does not require any request body parameters.
Response Body If the API call is successful, the HTTP response status is 200.
The response body contains supported application categories details. The response is in the application/json format.
The sample response is as follows.

[

  {

 	"category": 1,

    	"description": "Conference Apps"

  } 

]

Get Application Metadata

Description Fetches the metadata about all supported application.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/applications/metadata
Sample code
GET https://training.mojonetworks.com/new/webservice/V5/applications/metadata
Request Body This API call does not require any request body parameters.
Response Body If the API call is successful, the HTTP response status is 200.
The response body contains the information about all supported application. The response is in the application/json format.

Get Application Health

Description Fetches the number of clients having a good or bad experience, and
application usage time good or bad for each application.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/applications/health?locationid=<Value>&nodeid=<Value>&
applicationcategory=<Value>&ssid=<Value>&protocol=<Value>&
fromtime=<Value>&totime=<Value>&ascending=<Value>
  • locationid

    Is used to specify the location for which application health data is to be fetched.
    It takes an integer value. To retrieve the value for location id refer Location call.

  • nodeid

    Is used to specify child node id if the location belongs to the child server. It takes an integer value.

  • applicationcategory

    It specifies the category of an application. It takes a string value.

  • ssid

    Applications used by clients connected to the given SSID. If not specified, all the SSIDs are considered. It takes a string value. Sample value, MOJO-BYOD.
    To retrieve the value for SSIDs refer Get SSIDs Configured on a Managed Device call.

  • protocol

    Associated 802.11 protocol. The applicable values are:

    • A
    • B
    • BG
  • fromtime

    Is used to specify application usage start time in epoch format. It takes an integer value.

  • totime

    Is used to specify application usage stop time in epoch format. It takes an integer value.

Sample code
GET
https://training.mojonetworks.com/new/webservice/V5/applications/health?
locationid=0&nodeid=0&ssid=MOJO-BYOD
Request Body This API call does not require any request body parameters.
Response Body If the API call is successful, the HTTP response status is 200.
The response body contains the List of health information of applications. The response is in the
application/json format. The contents of the response body are listed below.

  • noOfClientsWithGoodApplicationExperience

    It represents the number of client with good experience. It is an integer value.

  • noOfClientsWithBadApplicationExperience

    It represents the number of client with a bad experience. It is an integer value.

  • noOfSecondsOfGoodApplicationExperience

    It represents the number of seconds for which good application experience was received. It is an integer value.

  • noOfSecondsOfBadApplicationExperience

    It represents the number of seconds for which bad application experience was received. It is an integer value.

The sample response is as follows.

{
 	"applicationHealthStatistics": [{
 			"applicationId": 448,
 			"applicationName": "GoToMeeting",
 			"noOfClientsWithGoodApplicationExperience": 0,
 			"noOfClientsWithBadApplicationExperience": 4,
 			"noOfSecondsOfGoodApplicationExperience": 0,
 			"noOfSecondsOfBadApplicationExperience": 540
 		}
	],
 	"noOfAffectedClients": 7
 }

Delete APIs

Description This API is used to fetch the APs that match the specified filter criteria from the allowed locations for the logged-in user. If no filters are specified, all the APs from the allowed locations are fetched. However, this API is not supported in a server cluster environment.

Note: Do not use this API to fetch more than 100 devices. For fetching larger number of devices, consider using the Get Paged List of APs API.

User Privileges Users with the following roles can call this API: superuser, administrator, and operator.

Request Body Parameters
This API call does not require any request body parameters.

Response Body
If the API call is successful, the HTTP response status is 200. The response body contains the details of the APs that match the filter criteria. The response is in the application/json format. Click AP to view the complete detais of the JSON along with a sample output.

Error codes
If the API call is successful, the HTTP response status is 200.

Syntax
GET /devices/aps
Sample code
GET https://training.mojonetworks.com/new/webservice/v2/devices/aps
GET
https://training.mojonetworks.com/new/webservice/v2/devices/aps?macaddress=00:11:74:33:23:12&macaddress=00:11:74:45:12:21
GET
https://training.mojonetworks.com/new/webservice/v2/devices/aps?capability=49&locationid=10&locationid=12&sortcolumn=devicename&sortascending=false
URL Parameters This API call takes optional URL parameters to filter the list of APs to be fetched and the column on which the output must be sorted. AP Filter Parameters lists the parmeter names, datatypes, applicable values, and whether the results can be sorted based on the parameter.
Query Parameters This API call takes optional URL parameters to filter the list of APs to be fetched and the column on which the output must be sorted. AP Filter Parameters lists the parmeter names, datatypes, applicable values, and whether the results can be sorted based on the parameter.
Response Body If the API call is successful, the HTTP response status is 200. The response body contains the details of the APs that match the filter criteria. The response is in the application/json format. Click AP to view the complete detais of the JSON along with a sample output.

Get Application Traffic

Description Fetches the time for which application quality was good and
for which it was bad. The data is displayed for clients using the selected application,
on the specified location.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/applications/{applicationid}/traffic?
locationid=<Value>&nodeid=<Value>&frequencyband=<Value>
&ssid=<Value>&fromtime=<Value>&totime=<Value>
  • applicationid

    The id of an application for which data has to be fetched. It takes an integer value.

  • locationid

    Is used to specify Location on which application traffic data has to be fetched. It takes an integer value.
    To retrieve the value for location id refer Location call.

  • nodeid

    Is used to specify child node id if the location belongs to the child server.
    It takes an integer value.

  • frequencyband

    It is used to specify the frequency band. Possible values are 2.4GHz, 5GHz and ANY.
    The default value is ANY.

  • ssid

    applications used by clients connected to the given SSID. If not specified, all the SSIDs are considered.
    It takes a string value. Sample value, MOJO-BYOD. To retrieve the value for SSIDs refer Get SSIDs Configured on a Managed Device call.

  • fromtime

    Is used to specify application usage start time in epoch format. It takes an Integer value.

  • totime

    Is used to specify application usage stop time in epoch format. It takes an integer value.

Sample code
GET
https://training.mojonetworks.com/new/webservice/V5/applications/1181/traffic?
locationid=0&nodeid=0&ssid=MOJO-BYOD
Request Body This API call does not require any request body parameters.
Response Body If the API call is successful, the HTTP response status is 200.
The response body contains the list of time for good and bad application quality. The response is in the application/json
format. The contents of the response body are listed below.

  • totalRx

    It is total bytes received. It is an integer value.

  • totalTxIt

    Is total bytes transmitted. It is an integer value.

  • time

    It is the timestamp of the sample. It is an integer value.

  • totalCount

    It is a total number of samples. It is an integer value.

The sample response is as follows.

{
    "samples": 
	[
        {
            "totalRx": 610584,
            "totalTx": 24802,
            "time": 1519722900000
        }
    ],
    "totalCount": 635386
}
JSON Table

Attribute Data Type Description
applicationId int A system-defined ID for the application.
applicationName String Name of the application.
category String Category under which the application falls.
live15MinsUsage long Live data usage by the applications for the last 15 minutes.
applicationUsage application/json Application usage information.
applicationUsage/usage15Mins long Application usage information in bytes for last 15 mins.
applicationUsage/usage1Hour long Application usage information in bytes for last 1 hour.
applicationUsage/usage4Hours long Application usage information in bytes for last 4 hours.
applicationUsagePercentage application/json Application usage percentage.
applicationUsagePercentage/usage15MinsPercentage long Percentage of application usage against total usage of all applications
for last 15 mins.
applicationUsagePercentage/usage1HourPercentage long Percentage of application usage against total usage of all applications
for last 1 hour.
applicationUsagePercentage/usage4HoursPercentage long Percentage of application usage against total usage of all applications
for last 4 hours.
threatIndex int Displays the threat index between 1 to 5. Threat index or risk is calculated
on the scale of 1 to 5 considering the following factors.

  • Excessive bandwidth
  • Potential data leakage
  • Prone to misuse
  • Contains or is used by malware

Threat Index number denotes the cumulative value of the factors mentioned
above.

lastUsedTime long Displays the time of the day when the application was last used.
totalUsage15Mins long Total of all application usage over last 15 mins.
totalUsage1Hr long Total of all application usage over last 1 hour.
totalUsage4Hrs long Total of all application usage over last 4 hours.

Sample JSON
{
    "applications":
	[
        {
            "applicationId": 1,
            "applicationName": "ETH",
            "category": "Networking",
            "live15MinsUsage": 0,
            "applicationUsage": {
                "usage15Mins": 0,
                "usage1Hour": 0,
                "usage4Hours": 0
            },
            "applicationUsagePercentage": {
                "usage15MinsPercentage": 0,
                "usage1HourPercentage": 0,
                "usage4HoursPercentage": 0
            },
            "threatIndex": 1,
            "lastUsedTime": 0
        },
      {
            "applicationId": 2,
            "applicationName": "IP",
            "category": "Networking",
            "live15MinsUsage": 0,
            "applicationUsage": {
                "usage15Mins": 0,
                "usage1Hour": 0,
                "usage4Hours": 0
            },
            "applicationUsagePercentage": {
                "usage15MinsPercentage": 0,
                "usage1HourPercentage": 0,
                "usage4HoursPercentage": 0
            },
            "threatIndex": 1,
            "lastUsedTime": 0
        }

    ],
    "totalUsage15Mins": 0,
    "totalUsage1Hr": 0,
    "totalUsage4Hrs": 0
}