LifeMonitor API Specs

LifeMonitor (LM) exposes its functionalities through a RESTful API defined with OpenAPI.

Full specifications are available here: apidocs.html

Clients

The LM API is designed with two types of clients in mind:

  1. Generic Client: can manage a user’s workflows and associated workflow tests;

  2. Registry Client: can act on their users’ behalf and manage their users’ workflows and associated workflow tests. For instance, you may register a workflow on the Workflow Hub registry and it (as a Registry Client) may in turn register on your behalf the workflow’s tests with LifeMonitor.

LifeMonitor client types

The authorisation mechanisms available for clients are:

  • API key, which can be used to implement generic clients;
  • OAuth2 Client Credentials, only available for trusted workflow registries (see RegistryClientCredentials);
  • OAuth2 Authorization Code, available for both generic clients (see AuthorizationCodeFlow) and registry clients (see RegistryCodeFlow).

Clients can query API endpoints according to the authorisation mechanism they adopt. There are in fact resources which are “contextual” to the actor which the client is acting on behalf of and the type of “impersonated” actor is determined by the authorisation grant in use. Examples of contextual resources are:

  • /users/current/*, which assume an authenticated user and thus can be queried only by clients authorised through an API key, an OAuth2 AuthorizationCodeFlow or RegistryCodeFlow;

  • /registries/current/*, which assume an authenticated registry and thus can be queried only by clients authorised through an OAuth2 RegistryClientCredentials or RegistryCodeFlow.

API examples

The API specifications contain examples you can try out using your API key. Head over to https://api.lifemonitor.eu/static/apidocs.html.