Clients

Clients refer to the machines and the system that are connected to the APIs. There are 2 states to know the status of the client. Every user can get the client details in either Active state or Inactive state. If a state displays IsActive that implies it is connected to the API else it is not.

API Calls

/V5/devices/clients

/V5/devices/clients/{startIndex}/{pageSize}

/V5/devices/clients/statistics/sorting

/V5/devices/clients/{boxid}/observingmanageddevices

/V5/applications/{APPLICATION_ID}/clients/{startIndex}/{pageSize}

/V6/devices/mangeddevices/{macaddress}/visibleclients

/V5/devices/clients

/V5/devices/clients/actions/CHANGE_QUARANTINE_STATUS

/V5/devices/clients/actions/CHANGE_LOCATION

/V5/devices/clients/actions/CHANGE_CATEGORY

/V5/devices/clients/actions/CHANGE_BANNED_TYPE

/V5/devices/clients/actions/DELETE_DEVICES

/V5/devices/clients/actions/DISCONNECT_CLIENTS

/V5/devices/clients/actions/ENABLE_DISABLE_AUTO_QUARANTINE

/V5/devices/clients/actions/RESET_CLIENT_FINGERPRINT

/V5/devices/clients/actions/UPDATE_SMART_DEVICE_TYPE

Get all Clients

Description Retrieves all the clients from the allowed locations for the logged-in user. This API is not supported in a server cluster environment.
Note: For fetching a larger number of client devices, consider using the Get Filtered List of Clients API.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/devices/clients
Sample code
GET https://training.mojonetworks.com/new/webservice/V5/devices/clients
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 details of the clients fetched for the specified location.
The response is in the application/json format.

Get Clients Visible to Managed Devices

Description Retrieves the list of all clients visible to given sensor.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/devices/mangeddevices/{macaddress}/visibleclients?locationid=<Value>&nodeid=<Value>
  • macaddress

    It is used to specify macaddress of the managed device for which visible clients has to be displayed. It takes a String value.

  • locationid

    Is used to specify Location on which list of the visible client has to be fetched. It takes an integer value.
    Location identifier for the client. 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.

Sample code
GET https://training.mojonetworks.com/new/webservice/V6/devices/manageddevices
/00:11:74:9C:BC:9F/visibleclients?locationid=0&nodeid=0
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 visible clients fetched for the specified device.
The response is in the application/json format.

Get Paged List of Clients

Description Retrieves the paged list of clients.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/devices/clients/{startIndex}/{pageSize}?sortascending=<value>&
sortcolumn=<value>&performancestarttime=<value>&performanceendtime=<value>
&historicmanagedboxid=<value>&historicssid=<value>&historicfrequencyband=<value>
&filter=<value>
  • startIndex

    An integer value indicating the start index for the list of clients to be fetched. It is a mandatory parameter.

  • pageSize

    An integer value indicating the end index for the list of clients to be fetched.
    The maximum page size is 1000. It is a mandatory parameter.

  • sortcolumn

    An optional parameter used to sort the columns. It takes a string value. The default value is boxId.

  • sortascending

    An optional parameter used to specify sort direction. It takes a boolean value. The default value is true.

  • performancestarttime

    An optional parameter used to specify the start time in epoch format. It takes an integer value. The default value is -1.

  • performanceendtime

    An optional parameter used to specify end time in epoch format. It takes an integer value. The default value is -1.

  • historicmanagedboxid

    An optional filter to fetch clients which were connected to the managed device in past. It takes an integer value. The default value is -1. To retrieve the value for boxId refer Managed Devices call.

  • historicssid

    An optional filter to fetch clients which were associated using provided SSID in past. It takes a string value. To retrieve the value for SSIDs refer Get SSIDs Configured on a Managed Device call.

  • historicfrequencyband

    An optional filter to fetch clients which were associated using provided frequency band in past. It takes a string value. Possible values are 2.4, 5 and ANY (default).

  • filter

    An optional parameter to filter the results. Click Filter to view details of how filters need to be specified in the URL. For possible names of property attribute, datatypes, applicable values, and whether the results can be
    sorted based on the parameter click Client Filter Parameters.

Sample code
GET https://10.86.110.98/new/webservice/V5/devices/clients/0/25?filter=%7B%0A%0A%09%22property%22
%3A%20%22protocol%22%2C%0A%0A%09%22value%22%3A %20%5B%22BG%22%5D%2C%0A%0A%09
%22operator%22%3A%20%22%3D%22%0A%0A%7D&filter=%7B%0A%0A%09%22property%22%3A%20
%22devicename%22%2C%0A%0A%09%22value%22%3A%20%5B%22Intel-Corporate_34%3AEB%3A21
%22%5D%2C%0A%0A%09%22operator%22%3A%20%22contains%22%0A%0A%7D
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 details of a list of clients and the corresponding pagination
information. The response is in the application/json format.

Get Sorted List of Clients

Description Fetch’s clients sorted by a given performance value.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/devices/clients/statistics/sorting?limit=<value>&sortby=<value>
&datarate=<value>&ascending=<value>&frequencyband=<value>&fromtime=
<value>&totime=<value>&managedclient=<value>&ssid=<value>
  • limit

    Is used to specify the number of records to be returned. It takes an integer value and is an optional parameter.
    The default value is 10.

  • sortby

    Is used to specify the performance value to sort the data on. It takes a string value and is an optional parameter.
    Possible values are networktraffic and datarate. The default value is networktraffic.

  • ascending

    Is set true to sort records in ascending order. It takes a boolean value and is an optional parameter.
    The default value is false.

  • frequencyband

    Is used to specify filter records of a frequency band. Possible values are 2.4, 5
    and ANY (default). It takes a String value and is an optional parameter.

  • fromtime

    Is used to specify the start time in epoch format. It takes an integer value and is an optional parameter.
    The default value is -1.

  • totime

    Is used to specify end time in epoch format. It takes an integer value and is an optional parameter.
    The default value is -1.

  • managedclient

    Is used to specify if records for managed clients is to be retrieved.
    If set to true, only managed clients will be returned. It takes a boolean value and is an optional parameter.
    The default value is false.

  • ssid

    Is used to specify the list of SSIDs for which the results should be returned. It takes a string
    value and is an optional parameter. To retrieve the value for SSIDs refer Get SSIDs Configured on a Managed Device call.

Sample code
GET https://training.mojonetworks.com/new/webservice/V5/devices/clients/statistics/
sorting?sortby=networktraffic&ssid=test-min-b
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 list of clients sorted by a given performance value.
The response is in the application/json format.

Get Filtered List of Clients Affected by Poor Application Performance

Description Fetch’s the filtered list of clients affected by poor application performance.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/applications/{APPLICATION_ID}/clients/{startIndex}/{pageSize}?
applicationcategory=<value>locationid=<value>nodeid=<value>
fromtime=<value>totime=<value>sortcolumn=<value>sortascending=<value>
historicssid=<value>historicfrequencyband=<value>
  • APPLICATION_ID

    The id of application for which data has to be fetched. It takes an integer value and is a mandatory parameter.

  • startIndex

    An integer value indicating the starting index for the list of clients to be fetched. It is a mandatory parameter.

  • pageSize

    An integer value indicating the ending index for the list of clients to be fetched. It is a mandatory parameter.
    The maximum page size is 1000.

  • applicationcategory

    It specifies the category of application. It takes a string value and is an optional parameter.

  • locationid

    Location identifier for the client. The value is of the type LocationID JSON. It is an optional parameter.

  • nodeid

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

  • fromtime

    Is the start time for poor application performance of the clients. Accepts value in a number
    of milliseconds in UTC format. It takes an integer value and is an optional parameter.

  • totime

    Is the end time for poor application performance of the clients.
    If not provided current system time is considered. Accepts value in
    number of milliseconds in UTC format. It takes an integer value and is an optional parameter.

  • sortcolumn

    Is used to specify Sort column. It takes a string value and is an optional parameter. Default value is boxId.

  • sortascending

    Is used to specify Sort direction. It takes a boolean value and is an optional parameter.

  • historicssid

    Applications used by clients connected to the given SSID. If not specified,
    all the SSIDs are considered. It takes a string value and is an optional parameter. Sample value, MOJO-BYOD.

  • historicfrequencyband

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

Sample code
GET https://training.mojonetworks.com/new/webservice/V5/applications/
1181/clients/0/10?locationid=0&nodeid=0&historicssid=MOJO-BYOD&sortcolumn=boxId
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 a list of clients affected by poor application performance.
The response is in the application/json format.

Get Observing Managed Devices for a Client

Description Fetch’s managed devices that have reported a specified client.
Who Can Execute? Superuser, Administrator, Operator, and Viewer.
Syntax
GET <Base_URL>/devices/clients/{boxid}/observingmanageddevices
  • boxid

    The mandatory parameter used to specify the client box ID. It takes an integer value. To retrieve the value for boxId refer Managed Device call.

Sample code
GET https://training.mojonetworks.com/new/webservice/V5/devices/clients/
10629/observingmanageddevices
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 a list of managed devices. The response is in the application/json
format. The following table describes the contents of the response body. The content of
the response body is listed below.

  • boxIds

    A unique ID for identifying a device. It’s an integer value. Sample value, 10629.

  • macAddress

    MAC address of the device. It’s a string value. Sample value, 00:11:74:D4:59:9F.

  • name

    Name of the device. It’s a string value. Mojo_D4:59:9F.
    Sample value, boolean.

  • signalStrength

    The signal strength of the client radio in dBm. It’s an integer value. Sample value, -33.

  • signalVariance

    Signal variance in dBm. It’s an integer value. Sample value, 0.

  • channel2_4Ghz

    The operating channel at 2.4 GHz radio band. It’s an integer value. Sample value, 1.

  • channel5Ghz

    The operating channel at 5 GHz radio band. It’s an integer value. Sample value, 149.

  • numClients2_4Ghz

    The number of clients on 2.4 GHz radio band. It’s an integer value. Sample value, 3.

  • numClients5Ghz

    The number of clients on 5 GHz radio band. It’s an integer value. Sample value, 4.

  • locationId

    Location identifier for the client. The value is of the type LocationID JSON.

A sample response is as follows:

[  
   {  
      "boxId":3,
      "macAddress":"00:11:74:DC:4B:5F",
      "name":"Mojo_DC:4B:5F",
      "signalStrength":-66,
      "signalVariance":0,
      "channel2_4Ghz":11,
      "channel5Ghz":161,
      "numClients2_4Ghz":0,
      "numClients5Ghz":0,
      "locationId":{  
         "type":"locallocationid",
         "id":-1
      },
      "troubleshootingActivty":null,
      "meshEnabled":false,
      "thirdRadioSupported":false,
      "troubleshootingActivityOff":false
   }
]

Get Clients Reported by a Reporting Entity

Description This API is used to fetch the clients imported by a specified reporting entity. Users with the roles
can call this API: superuser, administrator, operator, and viewer.
Syntax
GET <Base_URL>/devices/clients/reportedby?reporter=<value>

Here,

  • reporter — The value for the reporter parameter is a string indicating the reporting entity.
Sample code
GET https://training.mojonetworks.com/new/webservice/v5/devices/clients/reportedby?reporter=ABC
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 details of the clients fetched for the specified reporting entity. The response is in the application/json format. Click Client to view the complete details of the JSON along with a sample output.

Import Clients

Description This API is used to import clients for a reporting entity. Note: The reporting entity must
be registered. See Register Reporting Entity. Users with the roles can call this API:
superuser, administrator, operator, and viewer.
Syntax
POST <Base_URL>/devices/clients/{reporting_entity_id}

Here,

  • reporting_entity_id — is a String value representing the reporting entity.
Sample code
POST https://training.mojonetworks.com/new/webservice/v5/devices/clients/ABC
Request Body This API call requires the details of the clients to be imported that are passed as an arrray of
JSON values assigned to the parameter clientList in the request body.You must provide the appropriate
values for the following JSON attributes for each client being imported:

  • type
  • radios
  • radios/type
  • radios/macaddress
  • radios/protocol
  • locationId
  • locationId/type
  • locationId/id
  • group

A sample request will have a structure as follows:

{
"ClientList":[{
...
List of AP JSONs with the mandatory attributes mentioned above
...
}]
}
Response Body If the API call is successful, the HTTP response status is 200. The response
body contains following attributes:

  • failedDevices – Information of the failed clients. The response is in the application/json format. Click Client to view the complete detais of the JSON along with a sample output.
  • successDevices – Information of the successfully imported clients. The response is in the application/json format. Click Client to view the complete detais of the JSON along with a sample output.

Modify a Client

Description It is used to modify the client details.
Who Can Execute? Operator, and Viewer.
Syntax
PUT <Base_URL>/devices/clients
Sample code
PUT https://training.mojonetworks.com/new/webservice/V5/devices/clients
Request Body This API call requires the details of the client to be modified, which are passed
as parameters in the request body. The parameters are passed in the application/json
format. You must provide appropriate values for the mandatory attributes included in the below response JSON .
A sample request will have a structure as follows:

{
        "type": "client",
        "boxId": 662,
        "name": "New",
         "radios": [
            {
               "type": "clientradio",
               "macaddress": "AC:BC:32:A3:20:B3"
            }
         ]
 }
Response Body If the API call is successful, the HTTP response status is 200.
The response body contains the modified details of the specified client. The response is in the application/json format.

Modify Clients

Description This API is used to modify details of the previously imported clients for a reporting entity.
The clients being modified must have been imported using the same reporting entity and in the
same session.The reporting entity ID must be registered before calling this API. See
Register Reporting Entity. Users with the roles can call this API: superuser,
administrator, operator, and viewer.
Syntax
PUT <Base_URL>/devices/clients/{reporting_entity_id}

Here,

  • reporting_entity_id — is a String value representing the reporting entity.
Sample code
PUT https://training.mojonetworks.com/new/webservice/v5/devices/clients/ABC
Request Body This API call requires the details of the clients to be modified that are passed as an arrray of JSON values assigned to the parameter clientList in the request body. Click Client to view the complete details of the JSON along with sample values. You must provide the appropriate values for the following JSON attributes:

  • type
  • radios
  • radios/type
  • radios/macaddress
  • radios/protocol
  • locationId
  • locationId/type
  • locationId/id

A sample request will have a structure as follows:

{
"ClientList":[{
...
List of AP JSONs with the mandatory attributes mentioned above
...
}]
}
Response Body If the API call is successful, the HTTP response status is 200. The response
body contains:

  • failedDevices — Information of the failed clients. The response is in the application/json
    format. Click Client to view the complete detais of the JSON along with a sample output.
  • successDevices — Information of the successfully updated clients. The response is in the
    application/json format. Click Client to view the complete detais of the JSON along with a
    sample output.

Change Quarantine Status of a Client

Description Is used to change the quarantine status of a client. The quarantined client is isolated and it
cannot connect to any Arista AP.
Who Can Execute? Superuser, Administrator, and, Operator.
Syntax
PUT <Base_URL>/devices/clients/actions/CHANGE_QUARANTINE_STATUS
Sample code
PUT https://training.mojonetworks.com/new/webservice/V5/devices/clients/actions
/CHANGE_QUARANTINE_STATUS
Request Body This API call requires the boxId of a client, that is to be quarantined. BoxId is passed
as a parameter in the request body. The parameters are passed in the application/json format.
You must provide the appropriate values for the following JSON attributes:

  • boxIds

    It is system-generated ID. It takes an integer value. Sample value, 1.

  • type

    Category or type of the client whose details are being modified. It takes a string value.
    Sample value, clientquarantinestatus.

  • radio

    A JSON object with attributes related to the access point radio.

  • radio/type

    Category or type of the radio. It takes a string value. Expected value is clientradio.

  • radio/macaddress

    MAC address of the radio. It takes a string value. Sample value, BC:D1:D3:BA:62:B5

  • radio/protocol

    The 802.11 protocol version associated with the device. The applicable values
    are UNKNOWN, A, B, BG. Sample value, BG.

A sample request will have a structure as follows:

{
   "boxIds": 
         [
	    5858, 6264
	 ],
    "argument": 
	 {
	     "type": "clientquarantinestatus",
	     "addPrevention": true,
	     "preventionType": 0,
	     "radio": 
	    {
	       "type": "clientradio",
	       "macaddress": "BC:D1:D3:BA:62:B5",
	       "protocol": "BG"
	    }
         }
}
Response Body If the API call is successful, the HTTP response status is 204.
The response body does not contain any other information.

Move Clients

Description Is used to move clients from their existing location to the new location.
Who Can Execute? Superuser, Administrator, and, Operator.
Syntax
PUT <Base_URL>/devices/clients/actions/CHANGE_LOCATION
Sample code
PUT
https://training.mojonetworks.com/new/webservice/V5/devices/clients
/actions/CHANGE_LOCATION
Request Body This API call requires the list of boxIds of clients, for whom the location is to be
moved from existing to the new one. BoxId is passed as a parameter in the request body.
The parameters are passed in the application/json format. You must provide the
appropriate values for the following JSON attributes:

  • boxIds

    It is system-generated ID. It takes an integer value. Sample value, 6432.

  • type

    Category or type of the client whose details are being modified. It takes a string value.
    Sample value, location.

  • locationId

    Location identifier for the client.

A sample request will have a structure as follows:

{
   "boxIds": [5012, 6432],
   "argument":
	   {
	       "type": "location",
	       "locationId":
		  {
                     "type": "locallocationid",
                     "id": "-1"
                  }
           }
}
Response Body If the API call is successful, the HTTP response status is 204.
The response body does not contain any other information.

Modify Client Categorization

Description Changes the client from one category to another. The Category
can be one of the following authorized, rogue, external, guest and uncategorized.
Who Can Execute? Superuser, Administrator, and Operator.
Syntax
PUT <Base_URL>/devices/clients/actions/CHANGE_CATEGORY
Sample code
PUT
https://training.mojonetworks.com/new/webservice/V5/devices/clients
/actions/CHANGE_CATEGORY
Request Body This API call requires the list of boxIds of clients, for those categories
is to be changed. BoxId is passed as a parameter in the request body. The parameters
are passed in the application/json format. You must provide the appropriate values
for the following JSON attributes:

  • boxIds

    It is system-generated ID. It takes an integer value.

  • type

    Category or type of the client whose details are being modified. It takes a string value.

  • group

    The client category. The applicable values are AUTHORIZED, ROGUE, EXTERNAL,
    GUEST and UNCATEGORIZED.

A sample request will have a structure as follows:

{
   "boxIds": 
	  [
	     5012, 6432
	  ],
   "argument": 
	  {
	     "type": "clientdevicegroup",
	     "group": "AUTHORIZED"
	  }
}
Response Body If the API call is successful, the HTTP response status is 204.
The response body does not contain any other information.

Add To/Remove from Banned List

Description Adds or removes APs from the banned list. Banned list is a list of wireless
MAC addresses of Clients that are blacklisted in an organization.
Who Can Execute? Superuser, Administrator, and Operator.
Syntax
PUT <Base_URL>/devices/clients/actions/CHANGE_BANNED_TYPE
Sample code
PUT https://training.mojonetworks.com/new/webservice/V5/devices/clients/
actions/CHANGE_BANNED_TYPE
Request Body This API call requires the list of boxIds of clients, that are to be added
to or removed from the banned list. BoxId is passed as a parameter in the request
body. The parameters are passed in the application/json format. You must provide
the appropriate values for the following JSON attributes:

  • boxIds

    It is system-generated ID. It takes an integer value. Sample value, 5012.

  • type

    Category or type of the client whose details are being modified. It takes a string value.
    Sample value, boolean.

  • booleanAction

    If boolean action is set to true then the list of mentioned clients
    is added to the banned list. Else is removed from the banned list. Sample value, True.

A sample request will have a structure as follows:

{
    "boxIds": 
    [
        5012, 6432
    ],
    "argument": 
    {
        "type": "boolean",
        "booleanAction": true
    }
}
Response Body If the API call is successful, the HTTP response status is 204.
The response body does not contain any other information.

Delete Clients

Description Deletes clients.
Who Can Execute? Superuser, Administrator, and Operator.
Syntax
PUT <Base_URL>/devices/clients/actions/DELETE_DEVICES
Sample code
PUT https://training.mojonetworks.com/new/webservice/V5/devices/clients/actions
/DELETE_DEVICES
Request Body This API call requires the list of boxIds of clients, that are to be deleted.
BoxId is passed as a parameter in the request body. The parameters are passed
in the application/json format. A sample request will have a structure as follows:

{
    "boxIds": [5012, 6432]    
}
Response Body If the API call is successful, the HTTP response status is 204.
The response body does not contain any other information.

Disconnect Clients

Description Disconnects clients.
Who Can Execute? Superuser, Administrator, and Operator.
Syntax
PUT <Base_URL>/devices/clients/actions/DISCONNECT_CLIENTS
Sample code
PUT
https://training.mojonetworks.com/new/webservice/V5/devices/clients
/actions/DISCONNECT_CLIENTS
Request Body This API call requires the list of boxIds of clients, that is to be disconnected.
BoxId is passed as a parameter in the request body. The parameters are passed
in the application/json format. A sample request will have a structure as follows:

{
    "boxIds": [242]    
}
Response Body If the API call is successful, the HTTP response status is 204.
The response body does not contain any other information.

Enable Disable Auto Quarantine

Description Enables or disables auto quarantine status of a client.
Who Can Execute? Superuser, Administrator, and Operator.
Syntax
PUT <Base_URL>/devices/clients/actions/ENABLE_DISABLE_AUTO_QUARANTINE
Sample code
PUT https://training.mojonetworks.com/new/webservice/V5/devices/clients
/actions/ENABLE_DISABLE_AUTO_QUARANTINE
Request Body This API call requires the list of boxIds of those clients, for whom the
auto quarantine status is to be enabled or disabled. BoxId is passed as a parameter
in the request body. The parameters are passed in the application/json format.
You must provide the appropriate values for the following JSON attributes:

  • boxIds

    It is system-generated ID. It takes an integer value.

  • type

    Category or type of the client whose details are being modified. It takes a string value.

  • booleanAction

    If boolean action is set to true then the auto quarantine status for
    mentioned clients is enabled. Else it is disabled.

A sample request will have a structure as follows:

{
    "boxIds":[
        5215, 6264
    ],
    "argument":
    {
        "type": "boolean",
        "booleanAction": true
    }
}
Response Body If the API call is successful, the HTTP response status is 204.
The response body does not contain any other information.

Reset Client Fingerprints

Description Resets client fingerprints.
Who Can Execute? Superuser, Administrator, and Operator.
Syntax
PUT <Base_URL>/devices/clients/actions/RESET_CLIENT_FINGERPRINT
Sample code
PUT https://training.mojonetworks.com/new/webservice/V5/devices/
clients/actions/RESET_CLIENT_FINGERPRINT
Request Body This API call requires the details of the clients whose fingerprints are to be changed, which are passed
as parameters in the request body. The parameters are passed in the application/json
format. You must provide appropriate values for the mandatory attributes included in the below response JSON.A sample request will have a structure as follows:

{
    "boxIds": [5736, 4901]    
}
Response Body If the API call is successful, the HTTP response status is 204.
The response body does not contain any other information.

Update Smart Device Type

Description Updates smart device type for a client.
Who Can Execute? Superuser, Administrator, and Operator.
Syntax
PUT <Base_URL>/devices/clients/actions/UPDATE_SMART_DEVICE_TYPE
Sample code
PUT https://training.mojonetworks.com/new/webservice/V5/devices/clients/
actions/UPDATE_SMART_DEVICE_TYPE
Request Body This API call requires the details of the client to be updated, which are passed
as parameters in the request body. The parameters are passed in the application/json
format. You must provide appropriate values for the mandatory attributes included in the below response JSON.A sample request will have a structure as follows:

{
    "boxIds": 
    [
       5736, 4901
    ],
    "argument": 
    {
        "type": "smartdevice",
        "smartDeviceType": "APPROVED_SMART_DEVICE"
    }
}
Response Body If the API call is successful, the HTTP response status is 204.
The response body does not contain any other information.

Put 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.

Post 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.

Delete Clients

Description This API is used to delete previously imported clients for a reporting entity. The clients
being deleted are imported by using the same reporting entity and in the same session. The
reporting entity ID must be registered before calling this API. See Register Reporting Entity.
Users with the roles can call this API: superuser, administrator, operator, and viewer.
Syntax
DELETE <Base_URL>/devices/clients/{reporting_entity_id}

Here,

  • reporting_entity_id — is a string value representing the reporting entity.
Sample code
DELETE https://training.mojonetworks.com/new/webservice/v5/devices/clients/ABC
Request Body This API call requires the MAC address of the clients to be deleted, which are passed as parameters in the request body. The parameters are passed in the application/json format. A sample request body is as follows:

["28:47:AA:5B:54:08","00:21:A0:24:85:A9","00:11:74:47:5D:CF"]
Response Body If the API call is successful, the HTTP response status is 204. The response body does not contain any other information.

Test 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.
JSON Table

Attribute Data Type Description
type String Category or type of the device. The expected value is client.
boxId long System-generated ID.
name String Name of the device that is being fetched from a specific location.
radios application/json A JSON object with attributes related to the client radio.
locationId application/json Location identifier for the client. The value is of the type Location
ID
JSON.
deviceNote String Device tag providing more location information about the client device.
ipAddress String IP address of the client.
activeStatus boolean A true or false value indicating whether the client is active or inactive.
deviceCapability int Operation mode capabilities of the device. Refer the Client
Capabilities
for applicable values.
manuallyTagged boolean A true or false value indicating whether the device location is changed
manually.
group String Client device category. The applicable values are:

  • AUTHORIZED
  • ROUGE
  • EXTERNAL
  • GUEST
  • UNCATEGORIZED
userName String User name associated with the client whose details are being fetched.
vendorName String Name of the client device vendor.
cellId String Cell identifier of the adhoc WiFi connection associated with the client.
ownSensorMac String A read-only field for internal use.
allowedSSIDs String A list of allowed SSIDs.
role String Role assigned to a client configured in SSID profile, after client is
connected via any SSID.
totalCountRequired boolean A read-only field for internal use.
searchIndex int A read-only field for internal use.
sortColumnIndex int A read-only field for internal use.
manuallyClassified boolean A true or false value indicating whether the client device category
is changed manually.
misbehaving boolean A true or false value indicating whether the device is misbehaving or
not.
googleAuthorizationStatus Enum Value to represent whether client is authorized using google integration.
Possible values are:

  • NOT_AVAILABLE
  • YES
  • NO
ipV6Address String IPv6 address of the client
sticky boolean A true or false value indicating whether the client is sticky or not.
averageDataRate int Client average data rate in Kbps.
osType String Operating system
radio application/json A JSON object with attributes related to the client radio.
banned boolean A read-only field indicating whether the device is banned.
active boolean A true or false value indicating whether the client radio is active.
bestSignalStrength int The best or maximum signal strength of the primary radio.
performanceValue
previousLink String The link to access the previous group of clients from the list of paged clients.
nextLink String Link to access next group of clients from the list of paged clients.
totalCount int The total number of paged clients.

Client Radio JSON

 

Attribute Data Type Description
type String Category or type of the radio. Expected value is clientradio.
macaddress String MAC address of the radio.
protocol String The 802.11 protocol version associated with the device. The applicable
values are:

  • UNKNOWN
  • A
  • B
  • BG
channel int Channel of the client radio that is being fetched from a specific location.
firstDetectedTime long Time when this radio was first detected.
upSince long For an active device, the time since the device is active. For inactive
devices, the time since the device is inactive.
signalStrength int Signal strength of the client radio in dBm.
quarantineStatus String The quarantine or Denial of Service (DoS) quarantine status of the radio.
The quarantine or DoS quarantine status can be:

  • QUARANTINE_STATUS_OFF
  • QUARANTINE_STATUS_STOPPED
  • QUARANTINE_STATUS_PENDING
  • QUARANTINE_STATUS_ON
  • DOS_QUARANTINE_STATUS_PENDING
  • DOS_QUARANTINE_STATUS_ON
captureFlag int Capture flag of the client radio that is being fetched from the specified
location.
captureId long A read-only field for internal use.
ssid String The network name or the SSID associated with the client radio.
prevReason long A read-only field for internal use.
prevPendingReason int A read-only field for internal use.
opprotocol String The 802.11 protocol version associated with the client radio. The applicable
values are:

  • UNKNOWN
  • A
  • B
  • BG
meshFlag int A read-only field for internal use.
dot11NCapability int A read-only field for internal use.
dot11ACCapability int A read-only field for internal use.
associatedAPName String Name of the access point associated with the client.
associatedApMac String Specifies the AP with which a client is associated.
assocManagedDeviceBoxId int Specifies the managed device box id with which a client is associated.
uplinkDataRate int Indicates the bandwidth consumed
downlinkDataRate int Indicates the bandwidth consumed
uplinkUsage int Indicates the data usage.
downlinkUsage int Indicates the data usage.
retryRate int Indicates the retry rate in percentage
misbehavingReason int A read-only field for internal use.
opMode String Operating mode of the client radio. The applicable values are:

  • OP_MODE_BSS for infrastructure
  • OP_MODE_ADHOC for ad-hoc
  • OP_MODE_UNKNOWN
smartDeviceType String Category of the smart device associated with the client radio. The applicable
values are:

  • SMART_DEVICE
  • APPORIVED_SMART_DEVICE
  • NOT_A_SMART_DEVICE
smartDeviceTypeName String Name or brand of the smart device associated with the client radio.
For example HTC or iPhone.
smartDeviceTypeId int System-generated ID of the smart device that is associated with the
client radio.
sdTypeDisplayable int A read-only field for internal use.
capability int Capability or 802.11 compliance of the client radio. Refer the Client
Capabilities
for applicable values.
sgclientID int Non-zero and positive value of this field indicating that AirTight Mobile
is installed on the client device.
connectionStatus int Zero value of this field with a working AirTight Mobile installation
indicates that the application is connected to the client. Otherwise,
the status is not connected.
riskStatus int Risk level of the client radio. The applicable values are:

  • 1 for Low
  • 1 for Medium
  • 3 for High
sgClientGroupName String Name of the AirTight Mobile group to which the client belongs.
clientBridged boolean A true or false value indicating whether the client radio is using the
Bridge mode or the Internet Connection Sharing (ICS) mode.
failureCodes int List of last failure codes.
failureCount int Failure count for provided time filter.
successCount int Success count for provided time filter.
lastConnectionSuccessful boolean A true or false value indicating last connection status. True means
success
manualPreventionEnabled boolean A true or false value indicating whether the manual prevention is enabled
for the client radio.
autopreventionEnabled boolean A true or false value indicating whether auto quarantine is enabled
for the client radio.
active boolean A true or false value indicating whether the client radio is active.

Sample JSON
[
    {
        "type": "client",
        "boxId": 1229,
        "name": "Sparklan_20:04:AF",
        "radios": [
            {
                "type": "clientradio",
                "macaddress": "00:0E:8E:20:04:AF",
                "protocol": "BG",
                "channel": 0,
                "firstDetectedTime": 1514889465000,
                "upSince": 1514911344000,
                "signalStrength": -5000,
                "quarantineStatus": "QUARANTINE_STATUS_OFF",
                "captureFlag": 0,
                "captureId": 0,
                "ssid": "",
                "prevReason": 0,
                "prevPendingReason": 0,
                "opprotocol": "BG",
                "meshFlag": 0,
                "dot11NCapability": 0,
                "dot11ACCapability": 0,
                "associatedAPName": "--",
                "associatedApMac": null,
                "assocManagedDeviceBoxId": 0,
                "uplinkDataRate": 0,
                "downlinkDataRate": 0,
                "uplinkUsage": 0,
                "downlinkUsage": 0,
                "retryRate": 0,
                "misbehavingReason": 0,
                "opMode": "OP_MODE_UNKNOWN",
                "smartDeviceType": "NOT_A_SMART_DEVICE",
                "smartDeviceTypeName": null,
                "smartDeviceTypeId": 0,
                "sdTypeDisplayable": -1,
                "capability": 1,
                "sgclientID": 0,
                "connectionStatus": 0,
                "riskStatus": 0,
                "sgClientGroupName": null,
                "clientBridged": false,
                "failureCodes": null,
                "failureCount": null,
                "successCount": null,
                "lastConnectionSuccessful": null,
                "lastFailureType": null,
                "lastFailureTime": 0,
                "clientConnectionSessionActive": false,
                "lastSuccessTime": 0,
                "latestAssociatedAPName": null,
                "latestAssociatedSSID": null,
                "latestAssociatedChannel": null,
                "latestAssociatedProtocol": null,
                "manualPreventionEnabled": false,
                "autopreventionEnabled": true,
                "active": false
            }
        ],
        "locationId": {
            "type": "locallocationid",
            "id": -1
        },
        "deviceNote": null,
        "ipAddress": null,
        "activeStatus": null,
        "deviceCapability": null,
        "manuallyTagged": false,
        "group": "UNCATEGORIZED",
        "userName": "--",
        "vendorName": "Sparklan",
        "cellId": null,
        "ownSensorMac": null,
        "allowedSSIDs": null,
        "role": null,
        "totalCountRequired": false,
        "searchIndex": -100,
        "manuallyClassified": false,
        "misbehaving": "NA",
        "googleAuthorizationStatus": null,
        "ipV6Address": null,
        "sticky": null,
        "averageDataRate": 0,
        "osType": null,
        "poorPerformanceReasons": null,
        "radio": {
            "type": "clientradio",
            "macaddress": "00:0E:8E:20:04:AF",
            "protocol": "BG",
            "channel": 0,
            "firstDetectedTime": 1514889465000,
            "upSince": 1514911344000,
            "signalStrength": -5000,
            "quarantineStatus": "QUARANTINE_STATUS_OFF",
            "captureFlag": 0,
            "captureId": 0,
            "ssid": "",
            "prevReason": 0,
            "prevPendingReason": 0,
            "opprotocol": "BG",
            "meshFlag": 0,
            "dot11NCapability": 0,
            "dot11ACCapability": 0,
            "associatedAPName": "--",
            "associatedApMac": null,
            "assocManagedDeviceBoxId": 0,
            "uplinkDataRate": 0,
            "downlinkDataRate": 0,
            "uplinkUsage": 0,
            "downlinkUsage": 0,
            "retryRate": 0,
            "misbehavingReason": 0,
            "opMode": "OP_MODE_UNKNOWN",
            "smartDeviceType": "NOT_A_SMART_DEVICE",
            "smartDeviceTypeName": null,
            "smartDeviceTypeId": 0,
            "sdTypeDisplayable": -1,
            "capability": 1,
            "sgclientID": 0,
            "connectionStatus": 0,
            "riskStatus": 0,
            "sgClientGroupName": null,
            "clientBridged": false,
            "failureCodes": null,
            "failureCount": null,
            "successCount": null,
            "lastConnectionSuccessful": null,
            "lastFailureType": null,
            "lastFailureTime": 0,
            "clientConnectionSessionActive": false,
            "lastSuccessTime": 0,
            "latestAssociatedAPName": null,
            "latestAssociatedSSID": null,
            "latestAssociatedChannel": null,
            "latestAssociatedProtocol": null,
            "manualPreventionEnabled": false,
            "autopreventionEnabled": true,
            "active": false
        },
        "banned": false,
        "bestSignalStrength": -5000,
        "active": false
    },
    {
        "type": "client",
        "boxId": 252,
        "name": "Cisco_C7:32:7E",
        "radios": [
            {
                "type": "clientradio",
                "macaddress": "C0:25:5C:C7:32:7E",
                "protocol": "A",
                "channel": 0,
                "firstDetectedTime": 1394047749000,
                "upSince": 1394048351000,
                "signalStrength": -5000,
                "quarantineStatus": "QUARANTINE_STATUS_OFF",
                "captureFlag": 0,
                "captureId": 0,
                "ssid": "",
                "prevReason": 0,
                "prevPendingReason": 0,
                "opprotocol": "A",
                "meshFlag": 0,
                "dot11NCapability": 0,
                "dot11ACCapability": 0,
                "associatedAPName": "--",
                "associatedApMac": null,
                "assocManagedDeviceBoxId": 0,
                "uplinkDataRate": 0,
                "downlinkDataRate": 0,
                "uplinkUsage": 0,
                "downlinkUsage": 0,
                "retryRate": 0,
                "misbehavingReason": 0,
                "opMode": "OP_MODE_BSS",
                "smartDeviceType": "NOT_A_SMART_DEVICE",
                "smartDeviceTypeName": null,
                "smartDeviceTypeId": 0,
                "sdTypeDisplayable": -1,
                "capability": 0,
                "sgclientID": 0,
                "connectionStatus": 0,
                "riskStatus": 0,
                "sgClientGroupName": null,
                "clientBridged": false,
                "failureCodes": null,
                "failureCount": null,
                "successCount": null,
                "lastConnectionSuccessful": null,
                "lastFailureType": null,
                "lastFailureTime": 0,
                "clientConnectionSessionActive": false,
                "lastSuccessTime": 0,
                "latestAssociatedAPName": null,
                "latestAssociatedSSID": null,
                "latestAssociatedChannel": null,
                "latestAssociatedProtocol": null,
                "manualPreventionEnabled": false,
                "autopreventionEnabled": true,
                "active": false
            }
        ],
        "locationId": {
            "type": "locallocationid",
            "id": -1
        },
        "deviceNote": null,
        "ipAddress": null,
        "activeStatus": null,
        "deviceCapability": null,
        "manuallyTagged": false,
        "group": "ROGUE",
        "userName": "--",
        "vendorName": "Cisco",
        "cellId": null,
        "ownSensorMac": null,
        "allowedSSIDs": null,
        "role": null,
        "totalCountRequired": false,
        "searchIndex": -100,
        "manuallyClassified": false,
        "misbehaving": "NA",
        "googleAuthorizationStatus": null,
        "ipV6Address": null,
        "sticky": null,
        "averageDataRate": 0,
        "osType": null,
        "poorPerformanceReasons": null,
        "radio": {
            "type": "clientradio",
            "macaddress": "C0:25:5C:C7:32:7E",
            "protocol": "A",
            "channel": 0,
            "firstDetectedTime": 1394047749000,
            "upSince": 1394048351000,
            "signalStrength": -5000,
            "quarantineStatus": "QUARANTINE_STATUS_OFF",
            "captureFlag": 0,
            "captureId": 0,
            "ssid": "",
            "prevReason": 0,
            "prevPendingReason": 0,
            "opprotocol": "A",
            "meshFlag": 0,
            "dot11NCapability": 0,
            "dot11ACCapability": 0,
            "associatedAPName": "--",
            "associatedApMac": null,
            "assocManagedDeviceBoxId": 0,
            "uplinkDataRate": 0,
            "downlinkDataRate": 0,
            "uplinkUsage": 0,
            "downlinkUsage": 0,
            "retryRate": 0,
            "misbehavingReason": 0,
            "opMode": "OP_MODE_BSS",
            "smartDeviceType": "NOT_A_SMART_DEVICE",
            "smartDeviceTypeName": null,
            "smartDeviceTypeId": 0,
            "sdTypeDisplayable": -1,
            "capability": 0,
            "sgclientID": 0,
            "connectionStatus": 0,
            "riskStatus": 0,
            "sgClientGroupName": null,
            "clientBridged": false,
            "failureCodes": null,
            "failureCount": null,
            "successCount": null,
            "lastConnectionSuccessful": null,
            "lastFailureType": null,
            "lastFailureTime": 0,
            "clientConnectionSessionActive": false,
            "lastSuccessTime": 0,
            "latestAssociatedAPName": null,
            "latestAssociatedSSID": null,
            "latestAssociatedChannel": null,
            "latestAssociatedProtocol": null,
            "manualPreventionEnabled": false,
            "autopreventionEnabled": true,
            "active": false
        },
        "banned": false,
        "bestSignalStrength": -5000,
        "active": false
    }

]