RestAPI

December 2023

New sorting of Inventory API queries

If users do a search from the UI or via the Inventory API, the text parameters are now sorted by relevance making it easier to see the more appropriate data returned. [MTM-54563]

New text index

A new text index has been introduced for the GET /inventory/managedObjects endpoint. By default it only includes the following fields:

_id, type, name, owner, externalIds [MTM-54562]

Change in full text search feature of Inventory API

Starting from a future version, the full text search functionality will only include the following properties:

  • _id
  • name
  • type
  • owner
  • external id

A text search functionality corresponds to a text parameter of GET {url}/inventory/managedObjects.

Example: When executing the following query: GET {url}/inventory/managedObjects?text=c8y_MajorDevice only the properties id, name, type, owner and external id will be examined.

This change improves the user experience of the text search functionality by returning more relevant managed objects. At the same time it improves the Inventory API performance.

This change will be implemented after a 3-month period at the earliest.

Latest measurement values can be stored as part of a device managed object

Feature preview
This feature is in Public Preview, that is, it is not enabled by default and maybe subject to change in the future.

Support of automated persistence of measurement values under the c8y_LatestMeasurements fragment has been introduced. If a measurement is created with a series that matches the configuration the device managed object is updated with the last series sent to the platform.

For details on how this feature is enabled and how it works, refer to the Cumulocity IoT OpenAPI Specification.

Extended ExplainQuery result

The ExplainQuery result info has been extended by the algorithm used when performing queries for a user with inventory roles:

GET {{url}}/inventory/hierarchy/info/management

Example: {“algorithm”: “Legacy” }

Possible results: Legacy, LimitedSourcesAcl, PostFilteringBySourceAcl, SingleSourceAcl, HierarchyAcl, SingleAgentAcl, SingleDeviceAcl, SingleAgentAndDeviceAcl [MTM-52350]

Alarm status and severity now case-insensitive

The alarm status and severity are now case-insensitive. When searching by alarm status active the API also returns alarms with status ACTIVE. The same applies for the alarm severity, that is, searching for critical alarms also returns CRITICAL alarms. Alarms with status active and acknowledged are now subject of alarm deduplication. [MTM-52515]

Search for fields with null values now possible

The query language used by the managed objects API has been improved. You can now search for fields with null values. [MTM-52677]

Improved performance of GET requests on /user/users

The performance of GET requests on the /user/users endpoint has been improved. [MTM-52566]

Improved performance of the Inventory API

  • The Inventory API performance has been improved.[MTM-50840]
  • The performance of the Inventory API GET /managedObjects has been improved. [MTM-51973]