Overview of the Public REST APIs

Historian for Linux is a data archiving system designed to collect, store, and retrieve time-based information efficiently at an extremely high speed. The Historian for Linux environment provides a set of REST APIs to query data from the archives. The APIs use a Docker container on a Linux machine. They use the port number 9090 for REST client requests.

Security and Authentication

Public REST APIs support both Historian UAA and Operations Hub UAA for authentication and authorization.

Limitations

  • UAA provisioning capabilities are not supported. Therefore, for Historian UAA and Operations Hub UAA, the REST APIs rely on an existing client ID to generate an authentication token. This implies that to query the REST APIs, an installation of Historian for Windows Web Clients, pointing to the same Historian server, is required to generate a UAA client ID.
  • In the case of Historian for Windows public REST APIs, the tagslist API returns a paginated list of tags in Historian. It creates an index of the tags, and stores it in the PostgreSQL database, which is installed when you install Web Clients. In the case of Historian for Linux public REST APIs, the indexing service is not implemented. Therefore, to use the tagslist API, you must install the Historian for Windows Web Clients, pointing to the same Historian, to use the indexing service.

Data Flow Diagram

The following diagram shows the data flow for authorization of a data-access request using a REST API. As shown in the diagram, the REST API depends on the client ID created by Historian for Windows for generating a token.

Getting Started with the REST APIs

  1. Set up the public REST APIs on Predix Edge or a generic Linux distribution such as Ubuntu or CentOS.
  2. Use the uaacert.pem file to establish a connection between the UAA server and the REST API client.
  3. Configure PostgreSQL to accept external connections. This step is required if you want to use the tagslist API.
You are now ready to use the REST APIs.