Bosch IoT Insights

External data source: Displaying data from another project

A project Admin may have multiple projects in Bosch IoT Insights.

In some cases, data from one of these projects, aka target project, may have to be displayed within another project, aka requesting project.

This is possible if you add an external data source to a widget, which will send a request to the Bosch IoT Insights API endpoints of the target project. However, the target project must be configured to allow requests from the requesting project.

Prerequisites

Configuration of allowed projects

A person responsible for the target project has to submit a request to the Bosch IoT Insights support team, where he or she asks for the specified one or more projects to be allowed to access the APIs of the target project.

The request may be formulated as follows:

Please allow the project <requesting-project> to access the APIs of the project <target-project>.

The request to the support team must include the unique technical names of these projects.

Configuration of the widget's data source as Current User Session

This feature works only when the external data source configuration of the respective widget has the authentication type of Current User Session, because the access token for the current user session is forwarded for authentication and authorization purposes.

If the access to the target API is restricted based on user roles, a user of the requesting project will only be able to request data from the target project if this user has the required role to access the underlying API of the target project. For example, this is the case when the Query Templates API is used.

Limitations

  • Custom domains as target URL are not supported.

Basic steps

  1. Within the requesting project, configure a dashboard with a widget that allows you to configure an external data source.

  2. As an external data source, set the URL of the API of another (target) project, which has whitelisted your (requesting) project.

    For example, this can be data provided by the MongoDB Query Service API using a query template :

    https://bosch-iot-insights.com/mongodb-query-service/v2/target-project/query-templates/66102e84496fdf07383b0070/execute-query

  3. Set the Authorization Type to Current User Session:

    images/confluence/download/attachments/5943149926/external_data_source_configuration-version-1-modificationdate-1752500400000-api-v2.png
  4. Upon that, users of the requesting project will be able see the data if they have the required role to access the underlying API of the target project.

Example use cases

  • Display processed data from another project provided by the MongoDB query service

  • Display device data from another project provided by the Device Management API

  • A widget with an action button that forwards data from the sending project (= <requesting-project>) to the data recorder endpoint of the target project