Analyze Device Inventory with REST API (version 1.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.

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. For LDAP users, enter the domain name, then a backslash ('\'), then your network username and password. For example domain_name\jsmith

To view an Aternity REST API, enter the base URL from User icon > REST API Access, followed by the name of the API: <base_url>/API_NAME into a browser, Excel or PowerBI (learn more). The <base_URL> is configured in the Aternity REST API Server as the external_url (learn more):

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


To access this API from a browser, Excel or Power BI (learn more), enter <base_url>/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 (CITY eq 'Miami' and DEPARTMENT eq 'Sales')

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


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


For example, to retrieve the inventory of devices located in Miami's Sales Department and Los Angeles' Marketing department, use: .../DEVICE_INVENTORY?$filter=(CITY eq 'Miami' and DEPARTMENT eq 'Sales') or (CITY eq 'Los Angeles' and 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 ''), or several parameter-value pairs each separated by an ampersand (&), like .../API_NAME?$format=xml&$top=5.

Parameter Description

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


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

Create conditions with operators: and, or, eq (equals) gt (greater than), ge (greater than or equal), lt (less than), le (less than or equal), ge (greater than or equal to), ne (not equal to), le (less than or equal to), not and contains. 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'))


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


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


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

$search is NOT supported.

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


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


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

You can access data using this API (retention) going back up to seven days, not less or more.

Sample output from this API

The returned columns are:

Type Returned columns




Account_ID,Account_Name,Agent_Current_Status,Agent_Version,Channel,City,Computer_Domain,Country,Custom_Attribute_1 - 6,Department, Device_CPU_Cores,Device_CPU_Frequency,Device_CPU_Generation,Device_CPU_Model,Device_CPU_Type,Device_Manufacturer,Device_Memory, Device_Model,Device_Name,Device_Type,Enforce_Privacy,Image_Build_Number,IP_Address,Last_Reporting_Datetime,Line_Of_Business,Location, Market,Microsoft_Stability_Index,MS_Office_License_Type,Mobile_Carrier,Mobile_Device_ID,MS_Office_Version,On_Site,On_VPN,OS_Architecture,OS_Disk_Type,OS_FamilyOS_Name,OS_Version,Region,State,Store_ID,Store_Type,Subnet,User_Role,Username,Virtual_App_Server_Edition,Virtual_App_Server_Farm,Virtual_App_Server_Version,Virtual_App_Server_Zone