1. Machines

1.1. List machines

1.1.1. CURL sample

$ curl 'https://minerva-net.lcsb.uni.lu/api/machines/' -i -X GET

1.1.2. Sample Response

{
  "pageContent" : [ {
    "id" : 30,
    "rootUrl" : "https://pdmap.uni.lu/minerva/",
    "version" : "0.0.1",
    "createdAt" : "2023-09-15T12:50:10.920121Z",
    "status" : "OK",
    "statusUpdatedAt" : "2023-09-15T12:50:10.920124Z"
  } ],
  "isLastPage" : true,
  "totalPages" : 1,
  "totalElements" : 1,
  "pageSize" : 20,
  "pageNumber" : 0
}

1.1.3. Response Fields

Path Type Description

isLastPage

Boolean

is it the last page in pageable response

totalPages

Number

number of pages

totalElements

Number

number of elements in the database

pageSize

Number

page size

pageContent

Array

page content

pageNumber

Number

page number

pageContent[].id

Number

machine id

pageContent[].version

String

minerva version

pageContent[].status

String

machine status

pageContent[].authenticationToken

String

token that should be used when modyfing machine data

pageContent[].statusUpdatedAt

String

timestamp when the status was last updated

pageContent[].createdAt

String

timestamp when machine was registered in the net

pageContent[].rootUrl

String

root url of minerva installation

1.2. Register machine

1.2.1. CURL sample

$ curl 'https://minerva-net.lcsb.uni.lu/api/machines/' -i -X POST \
    -H 'Content-Type: application/json' \
    -d '{"rootUrl":"https://pdmap.uni.lu/minerva/","email":"minerva@uni.lu","name":"John Doe"}'

1.2.2. Request Fields

Path Type Description

email

String

contact email address

name

String

who is registering the machine

rootUrl

String

root url of minerva installation

1.2.3. Sample Response

{
  "id" : 28,
  "rootUrl" : "https://pdmap.uni.lu/minerva/",
  "version" : "16.2.11",
  "createdAt" : "2023-09-15T12:50:10.430062Z",
  "status" : "OK",
  "statusUpdatedAt" : "2023-09-15T12:50:10.846740Z",
  "authenticationToken" : "EyzIdVAFDUqDydsThib7"
}

1.2.4. Response Fields

Path Type Description

id

Number

machine id

version

String

minerva version

status

String

machine status

authenticationToken

String

token that should be used when modyfing machine data

statusUpdatedAt

String

timestamp when the status was last updated

createdAt

String

timestamp when machine was registered in the net

rootUrl

String

root url of minerva installation

1.3. Unregister machine

1.3.1. CURL sample

$ curl 'https://minerva-net.lcsb.uni.lu/api/machines/34' -i -X DELETE \
    -H 'Authorization: Bearer pafpfg7YZsIyAzySlX7l'

1.3.2. Path Parameters

Table 1. /api/machines/{id}
Parameter Description

id

machine id

2. Projects

2.1. List projects

2.1.1. CURL sample

$ curl 'https://minerva-net.lcsb.uni.lu/api/machines/62/projects/' -i -X GET

2.1.2. Sample Response

{
  "pageContent" : [ {
    "machine" : {
      "id" : 62,
      "rootUrl" : "https://pdmap.uni.lu/minerva/",
      "version" : "0.0.1",
      "createdAt" : "2023-09-15T12:50:12.358498Z",
      "status" : "OK",
      "statusUpdatedAt" : "2023-09-15T12:50:12.358501Z"
    },
    "projectId" : "pdmap",
    "mapName" : "x",
    "mapVersion" : "0.0.1",
    "organism" : "",
    "disease" : "",
    "license" : "CC0 1.0 Universal",
    "status" : "OK",
    "statusUpdatedAt" : "2023-09-15T12:50:12.725674Z",
    "createdAt" : "2023-09-15T12:50:12.725670Z"
  } ],
  "isLastPage" : true,
  "totalPages" : 1,
  "totalElements" : 1,
  "pageSize" : 20,
  "pageNumber" : 0
}

2.1.3. Response Fields

Path Type Description

isLastPage

Boolean

is it the last page in pageable response

totalPages

Number

number of pages

totalElements

Number

number of elements in the database

pageSize

Number

page size

pageContent

Array

page content

pageNumber

Number

page number

pageContent[].projectId

String

project id

pageContent[].mapVersion

String

project version

pageContent[].mapName

String

project name

pageContent[].organism

String

organism (taxonomy ID)

pageContent[].disease

String

disease (mesh ID)

pageContent[].status

String

project status

pageContent[].license

String

project license

pageContent[].statusUpdatedAt

String

timestamp when the status was last updated

pageContent[].createdAt

String

timestamp when project was registered in the net

pageContent[].machine

Object

machine where project is located

2.2. Register Project

2.2.1. CURL sample

$ curl 'https://minerva-net.lcsb.uni.lu/api/machines/54/projects/' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer jqbJR18eGe5MxUNX87Ai' \
    -d '{"projectId":"pdmap","email":"minerva@uni.lu"}'

2.2.2. Request Fields

Path Type Description

email

String

contact email address

projectId

String

project id

2.2.3. Sample Response

{
  "machine" : {
    "id" : 54,
    "rootUrl" : "https://pdmap.uni.lu/minerva/",
    "version" : "0.0.1",
    "createdAt" : "2023-09-15T12:50:11.867211Z",
    "status" : "OK",
    "statusUpdatedAt" : "2023-09-15T12:50:11.867216Z"
  },
  "projectId" : "pdmap",
  "mapName" : "",
  "mapVersion" : "June'2015",
  "organism" : "9606",
  "disease" : "D010300",
  "license" : "",
  "status" : "OK",
  "statusUpdatedAt" : "2023-09-15T12:50:12.037086Z",
  "createdAt" : "2023-09-15T12:50:11.893116Z"
}

2.2.4. Response Fields

Path Type Description

projectId

String

project id

mapVersion

String

project version

mapName

String

project name

organism

String

organism (taxonomy ID)

disease

String

disease (mesh ID)

status

String

project status

license

String

project license

statusUpdatedAt

String

timestamp when the status was last updated

createdAt

String

timestamp when project was registered in the net

machine

Object

machine where project is located

2.3. Unregister Project

2.3.1. CURL sample

$ curl 'https://minerva-net.lcsb.uni.lu/api/machines/49/projects/pdmap' -i -X DELETE \
    -H 'Authorization: Bearer TatQNSquDUpHK9UIazAZ'

2.3.2. Path Parameters

Table 2. /api/machines/{machineId}/projects/{projectId}
Parameter Description

machineId

machine id

projectId

project id