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" : "40943"
}
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.1. Authentication
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. License
Methods allowing to access information about available licenses
3.7. Mesh
Methods allowing to access info about mesh data
3.8. Plugins
Methods allowing to store some data for plugin infrastructure
3.9. Project
Set of methods allowing to obtain information about projects and allowing to create new project and modifying existing ones
3.10. Taxonomy
Methods allowing to access info about taxonomy data
3.11. Users
Set of methods allowing to obtain and manage users and their access control