APIs DMO API Features

This page describes the services provided by the Device Management Orchestration (DMO) API. It is not a detailed description of how the API works, but rather a functional view of what an IoT developer can do with the API.

Retrieve any resource based on path

API clients can directly address device management data (nodes and management objects) or device payload data (application entities, containers and instances) using the name and path of the target resource.

Retrieve any resource based on ID

API clients can directly address device management data (nodes and management objects) or device application data (application entities, containers and instances) using the unique ID of the target resource.

Search multiple resources based on filter criteria

It is possible to retrieve resources based on different criteria like resource type, label, serial number, name and other individual attributes. Search can be limited to sub-set of the resources based on the hierarchical organization of the resource structure (tree-based). Search is applicable to all API resources, incuding device management data (nodes and management objects) as well as device payload data (application entities, containers and content instances).

Retrieve latest and oldest content item (payload) of container

API clients can directly address the latest or the oldest content item in a container. For registered devices of supported protocols, that allows direct retrieval of the latest message sent by a device for individual resources.

Subscribe to individual resources

Any resource addressable by the API can be subscribed to. API clients can create or manage their own subscriptions, which allows them to listen to events related to the subscribed resources. That provides client applications with an asynchronous mechanism to access the device data collected by T IoT Hub.

Receive notification on new resource instances

Based on subscriptions, API clients are notified when new resources are available. This could be used for receiving notificatons when new devices or application are registered, or new device payload is available.

Receive notifications on resource updates

API clients are notified when subscribed resources are changed.

Receive notification on resource deletion

API clients are notified when subscribed resources are deleted.

Create/update/delete nodes

Nodes are used to represent physical devices. They are used to trigger the registration of devices for supported protocols. Besides that, applications can create themselves generic nodes, not tight to any particula protocol, or they can update node attributes to add own labels.

Create/update/delete management objects

Management objects are used to represent different management aspects of a device like: device info, battery, credentials, network information. Some management object data is synchronized automatically for registered devices of supported protocols. In addition to that, API clients can use the API to direclty set management object data. This can be used to extend the device data or to manually override the synchronized data. In that case, the overriden data is not synchronized with the device.

Application self-registration

Client applications have to register themselves by DMO before they can use the API. That allows them to use the API, register devices, retrieve and modify their data. Besides they can create their own data containers. Applications in this case could be end-user applications or services that process device data for specific use cases or they could also be applications running on devices, which access directly DMO API over REST.

Application de-registration

Client applications can remove their registration and delete their own data.

Create/update/delete containers

Client applications can create their own containers, to maintain their own data inside the T IoT Hub, which can be shared with other applications. That opens the possibility for an ecosystem of applications to enrich device data and share capabilities with each other. It also enables device manufacturers or integrators to create adapters to connect devices of any other technology to the T IoT Hub.

Create and delete content instances

Client application can publish their data under containers. It allows applications to extend or enrich device, push data to devices or share it with each other. That also allows sending device data directly to T IoT Hub using the REST API, in case the application is running on devices and it is able to use REST over HTTP.