The current APIs do not support searching the list of devices by arbitrary criteria. The APIs should support filtering by many of the common search patterns. These include: single device by hardware id, devices of a given specification type, devices created or updated within a given time period, devices that are unassigned, devices that belong to a given device group, and devices that are assigned and last location was near a given coordinate. The search criteria should be available at the core API and REST API level. The user interface should allow for filtering the device list based on the criteria.