Analyze Device Inventory with REST API (version 2.0)

Use DEVICE_INVENTORY to view all monitored devices which have the Agent for End User Devices locally deployed, and which reported data to Aternity over the past seven days, so you can keep an updated inventory of devices and their attributes.

Using this API, you can examine the list in ways not available in the Device Inventory dashboard. For example, you can create a list of all Windows 7 devices in your organization which have a specific version of the Agent for End User Devices.

Each entry from DEVICE_INVENTORY refers to a single monitored device, and provides details about that device.

Note

This article covers the latest REST API version. For older version 1.0, click here.

Before You Begin

To send a REST API query in Excel, PowerBI or a browser, enter the URL of the REST API, your Aternity username (must have the OData REST API role) and its password. You can find this by selecting User icon > REST API Access. SSO users must generate (once) and use a special password, as Aternity's REST API does not authenticate with your enterprise's identity provider.

To view Aternity REST API, enter the base URL from Aternity > User icon > REST API Access, followed by the name of the API into a browser, Excel or PowerBI (learn more). For VIEWING, use <base_url>/latest/API_NAME; for INTEGRATIONS, use <base_url>/<version number>/API_NAME (for example, <base_url>/v1/API_NAME, or <base_url>/v1.0/API_NAME, or <base_url>/v2/API_NAME, or <base_url>/v2.0/API_NAME).

Get the latest REST API version for analyzing in the external app
:
Tip

Wherever possible, use $select and $filter to narrow your query, to avoid receiving an error like Returned data is too large. Learn more.

Examples

To access this API from a browser, Excel or Power BI (learn more), enter <base_url>/latest/DEVICE_INVENTORY or <base_url>/v2/DEVICE_INVENTORY

To list all the model numbers of Lenovo laptops in the Miami Sales department, enter:

.../DEVICE_INVENTORY?$select=DEVICE_MODEL&$filter=DEVICE_MANUFACTURER eq 'Lenovo' and DEVICE_TYPE eq 'Laptop' and (LOCATION_CITY eq 'Miami' and USER_DEPARTMENT eq 'Sales')

To list the hostnames and location of all Mac laptops with less than 8GB RAM, enter:

.../DEVICE_INVENTORY?$select=DEVICE_NAME,DEVICE_MODEL,DEVICE_MEMORY,CITY&$filter=DEVICE_MANUFACTURER eq 'Apple' and DEVICE_TYPE eq 'Laptop' and (DEVICE_MEMORY eq '8GB' or DEVICE_MEMORY eq '4GB' or DEVICE_MEMORY eq '2GB')

To list all Windows 7 devices and their location in your organization which have Agent for End User Devices version 9.2.x, enter:

.../DEVICE_INVENTORY?$select=DEVICE_NAME,LOCATION_CITY,AGENT_VERSION&$filter=contains(AGENT_VERSION,'9.2')

For example, to retrieve the inventory of devices located in Miami's Sales Department and Los Angeles' Marketing department, use: .../DEVICE_INVENTORY?$filter=(LOCATION_CITY eq 'Miami' and USER_DEPARTMENT eq 'Sales') or (LOCATION_CITY eq 'Los Angeles' and USER_DEPARTMENT eq 'Marketing')&...

Supported Parameters

You can view the data by entering the URL into Excel, into a browser, or into or any OData compatible application such as Power BI.

You can add parameters to the URL to filter the returned data, by adding a question mark (?) followed by a parameter and value, such as .../API_NAME?$filter=(USERNAME eq 'jsmith@company.com'), or several parameter-value pairs each separated by an ampersand (&), like .../API_NAME?$format=xml&$top=5.

Query Options Description
$select=

Use $select to return only specific columns (attributes), to make queries more efficient: ...API_NAME?$select=COL1,COL2,COL3

$format=

Use $format to force the returned data to be either in XML or JSON format. This is only useful for testing the raw data in a web browser. For example: .../API_NAME?$format=xml

$orderby=

Use $orderby to sort the returned data according to the value you choose. For example, .../API_NAME?$orderby=LOCATION

$top=

Use $top (lower case only) when you are initially testing the response of the API by returning the first few entries.

For example, to return the first five entries (not sorted), use: ...API_NAME?$top=5

$filter=

Use $filter to insert conditions that narrow down the data, to return only entries where those conditions are true..

Create conditions for filtering with any of the following operators:

Query Operators Description
eq

Equal to

For example, COL4 eq 'val4'

ne

Not equal to

For example, COL4 ne 'val4'

gt

Greater than

For example, COL4 gt 'val4'

ge

Greater than or equal

For example, COL4 ge 'val4'

lt

Less than

For example, COL4 lt 'val4'

le

Less than or equal

For example, COL4 le 'val4'

and

Logical and

For example, COL1 eq 'value1' and COL2 ne 'value2'

or

Logical or

For example, COL1 eq 'value1' or COL2 ne 'value2'

not

Logical negation

Create conditions for filtering with any of the following functions:

Query Functions Description
startswith

For example, $filter=startswith(account_name,'Aternity')

endswith

For example, $filter=endswith(account_name,'Aternity')

contains

$filter=contains(COL5,'val5')

For example, $filter=contains(account_name,'Aternity')

Use operators with parentheses to group conditions logically: .../API_NAME?$filter=(COLUMN1 eq 'value1' or COL2 neq 'val2') and (COL3 gt number) and not (COL4 eq 'val4' or contains(COL5,'val5'))
$search is NOT supported.

Do not use $search in Aternity's REST APIs.

Tip

Wherever possible, use $select and $filter to narrow your query, to avoid receiving an error like Returned data is too large. Learn more.

Output

Each entry from DEVICE_INVENTORY refers to a single monitored device, and provides details about that device.

Sample output from this API

The returned columns are:

Type Returned columns

Measurements

None

Attributes

Account_ID,Account_Name,Agent_Current_Status,Agent_Version,Business_Location,Corp_Channel,Corp_Line_Of_Business,Corp_Market,Corp_Store_ID,Corp_Store_Type,Custom_Attribute_1 - 6,Custom_Pilot_Group,Device_CPU_Cores,Device_CPU_Frequency,Device_CPU_Generation,Device_CPU_Model,Device_CPU_Type,Device_Days_From_Last_Boot,Device_Domain,Device_ID_Mobile_Or_Mac,Device_Image_Build_Number,Device_IP_Address,Device_Manufacturer,Device_Memory,Device_Model,Device_Name,Device_Network_Type,Device_Power_Plan,Device_Serial_Number,Device_Subnet,Device_Type,Enforce_Privacy,Location_City,Location_Country,Location_On_Site,Location_On_VPN,Location_Region,Location_State,Mobile_Carrier,MS_Office_License_Type,MS_Office_Version,MS_Stability_Index,OS_Architecture,OS_Disk_Free_Space,OS_Disk_Type,OS_Family,OS_Name,OS_Version,Time_Last_Reporting,User_Department,User_Domain,User_Role,Username,Virtual_App_Server_Edition,Virtual_App_Server_Farm,Virtual_App_Server_Version,Virtual_App_Server_Zone,Wifi_BSSID,Wifi_Channel,Wifi_SSID