1. Introduction

Rest API is located in /api/ path of the deployed application. For instance, Rest API of pdmap project that can be browsed using https://pdmap.uni.lu/minerva/ will be located here: https://pdmap.uni.lu/minerva/api/

Rest API tries to follow API Design Guide by Google.

For API calls that require authentication MINERVA_AUTH_TOKEN obtained during login process must be included.

2. QuickStart guide

Here is sample example that shows information about all projects accessible by guest account (anonymous user):

$ curl 'https://minerva-service.lcsb.uni.lu/minerva/api/projects/' -X GET

If we are interested in the API calls that require more privileges than anonymous user we need to login first:

$ curl 'https://minerva-service.lcsb.uni.lu/minerva/api/doLogin' -X POST \
    -d 'login=admin&password=admin' \
    -H 'Content-Type: application/x-www-form-urlencoded'
  "info" : "Login successful.",
  "login" : "admin",
  "token" : "20936"

The response creates an authentication token and puts it into a cookie MINERVA_AUTH_TOKEN=xxxxxxxx. When using console curl command this cookie must be attached to every query that follows. When we have authentication token we can access information about specific user on the server:

$ curl 'https://minerva-service.lcsb.uni.lu/minerva/api/users/test_user' -X GET \
    --cookie "MINERVA_AUTH_TOKEN=xxxxxxxx"

3. Categories

3.2. Configuration

Methods allowing to obtain configuration information from server and updating it with proper privileges

3.3. Converter

Conversion API provides access to MINERVA’s ability to convert between different systems biology network formats and to export of layouts to different graphical formats

3.4. Files

Methods that allow to upload files into the system

3.5. Genomics

Methods allowing to access genome data

3.6. Mesh

Methods allowing to access info about mesh data

3.7. Plugins

Methods allowing to store some data for plugin infrastructure

3.8. Project

Set of methods allowing to obtain information about projects and allowing to create new project and modifying existing ones

3.9. Taxonomy

Methods allowing to access info about taxonomy data

3.10. Users

Set of methods allowing to obtain and manage users and their access control