LifeMonitor (LM) exposes its functionalities through a RESTful API defined with OpenAPI.
Full specifications are available here: apidocs.html
The LM API is designed with two types of clients in mind:
Generic Client: can manage a user’s workflows and associated workflow tests;
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.
The authorisation mechanisms available for clients are:
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.