Long running background work of the instance, served from /new_api/jobs.

1. List jobs

Long running work is executed asynchronously as jobs - creating, annotating and deleting projects, and refreshing the locally cached copies of external databases (MeSH, taxonomy, chemicals, drugs, MIRIAM). This returns the jobs, which can be narrowed to a single project, to one kind of work or to one processing state with the query parameters below.

Note
The result is paged - use the page and size query parameters to walk through it.

1.1. HTTP request

GET /minerva/new_api/jobs/ HTTP/1.1

1.2. Query Parameters

Parameter Description

page

index of the page to fetch, counted from 0; 0 by default

size

number of entries on a page; 20 by default, 10000 at most

projectId

return only jobs operating on the project with this identifier

jobType

return only jobs of this type; accepts the values listed for jobType in the response fields

jobStatus

return only jobs in this status; accepts the values listed for jobStatus in the response fields

1.3. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/jobs/' -X GET \
    -H 'Authorization: Bearer xxxxxxxx'

1.4. HTTP response

HTTP/1.1 200 OK

1.5. Response Fields

Path Type Description

content

Array

list of jobs on the page

content[].id

Number

job id

content[].jobType

String

job type, valid options: CREATE_PROJECT, CREATE_PROJECT_FAILURE, DELETE_PROJECT, FETCH_CHEMICAL_DB_FILES, FETCH_MESH_DB_FILE, FETCH_TAIR_DB_FILE, FETCH_TAXONOMY_DB_FILE, NEW_ANNOTATE_PROJECT, NEW_CREATE_PROJECT, REFRESH_CHEMBL_SUGGESTED_QUERY_LIST, REFRESH_CHEMICAL_INFO, REFRESH_CHEMICAL_SUGGESTED_QUERY_LIST, REFRESH_DRUG_INFO, REFRESH_MIRIAM_INFO

content[].jobStatus

String

job status, valid options: DONE, FAILED, INTERRUPTED, INTERRUPTING, PENDING, RUNNING

content[].jobStarted

String

timestamp when the job has been started

content[].jobFinished

String

timestamp when the job has been finished

content[].progress

Number

progress of the job (0-100)

content[].externalObjectType

String

type of the object to which the job is attached, valid options: DATA_OVERLAY, DATA_OVERLAY_GROUP, ELEMENT, GLYPH, LAYER, LAYER_IMAGE, LAYER_LINE, LAYER_OVAL, LAYER_RECTANGLE, LAYER_TEXT, PROJECT, REACTION

content[].externalObjectId

Number

object id to which the job is attached

content[].priority

Number

job priority (1 is the highest priority)

totalPages

Number

total number of pages

totalElements

Number

total number of elements

numberOfElements

Number

number of elements on this page

size

Number

page size

number

Number

page number

1.6. Sample Response

{
  "content" : [ {
    "id" : 1,
    "jobType" : "REFRESH_MIRIAM_INFO",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:10Z",
    "jobFinished" : "2026-09-23T23:10:10Z",
    "progress" : null,
    "externalObjectType" : null,
    "externalObjectId" : null,
    "priority" : 10
  }, {
    "id" : 2,
    "jobType" : "REFRESH_CHEMICAL_SUGGESTED_QUERY_LIST",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:10Z",
    "jobFinished" : "2026-09-23T23:10:10Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 6,
    "priority" : 20
  }, {
    "id" : 3,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:11Z",
    "jobFinished" : "2026-09-23T23:10:11Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 5,
    "priority" : 5
  }, {
    "id" : 4,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:11Z",
    "jobFinished" : "2026-09-23T23:10:11Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 6,
    "priority" : 5
  }, {
    "id" : 5,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:12Z",
    "jobFinished" : "2026-09-23T23:10:12Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 7,
    "priority" : 5
  }, {
    "id" : 6,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:15Z",
    "jobFinished" : "2026-09-23T23:10:15Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 8,
    "priority" : 5
  }, {
    "id" : 7,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:19Z",
    "jobFinished" : "2026-09-23T23:10:19Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 9,
    "priority" : 5
  }, {
    "id" : 8,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:20Z",
    "jobFinished" : "2026-09-23T23:10:20Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 10,
    "priority" : 5
  }, {
    "id" : 9,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:21Z",
    "jobFinished" : "2026-09-23T23:10:21Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 11,
    "priority" : 5
  }, {
    "id" : 10,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:21Z",
    "jobFinished" : "2026-09-23T23:10:21Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 12,
    "priority" : 5
  }, {
    "id" : 11,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:22Z",
    "jobFinished" : "2026-09-23T23:10:22Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 13,
    "priority" : 5
  }, {
    "id" : 12,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:23Z",
    "jobFinished" : "2026-09-23T23:10:23Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 14,
    "priority" : 5
  }, {
    "id" : 13,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:23Z",
    "jobFinished" : "2026-09-23T23:10:23Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 15,
    "priority" : 5
  }, {
    "id" : 14,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:24Z",
    "jobFinished" : "2026-09-23T23:10:24Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 16,
    "priority" : 5
  }, {
    "id" : 15,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:31Z",
    "jobFinished" : "2026-09-23T23:10:31Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 17,
    "priority" : 5
  }, {
    "id" : 16,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:31Z",
    "jobFinished" : "2026-09-23T23:10:31Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 18,
    "priority" : 5
  }, {
    "id" : 17,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:32Z",
    "jobFinished" : "2026-09-23T23:10:32Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 19,
    "priority" : 5
  }, {
    "id" : 18,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:32Z",
    "jobFinished" : "2026-09-23T23:10:32Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 20,
    "priority" : 5
  }, {
    "id" : 19,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:34Z",
    "jobFinished" : "2026-09-23T23:10:34Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 21,
    "priority" : 5
  }, {
    "id" : 20,
    "jobType" : "DELETE_PROJECT",
    "jobStatus" : "DONE",
    "jobStarted" : "2026-09-23T23:10:34Z",
    "jobFinished" : "2026-09-23T23:10:34Z",
    "progress" : null,
    "externalObjectType" : "PROJECT",
    "externalObjectId" : 22,
    "priority" : 5
  } ],
  "totalPages" : 3,
  "totalElements" : 46,
  "numberOfElements" : 20,
  "size" : 20,
  "number" : 0
}

2. Get job info

Returns the current state of a single job: whether it is waiting in the queue (PENDING), being executed (RUNNING), already DONE, FAILED or INTERRUPTED, how far it progressed, and which object (for example a project) it operates on.

2.1. HTTP request

GET /minerva/new_api/jobs/43 HTTP/1.1

2.2. Path Parameters

Table 1. /minerva/new_api/jobs/{id}
Parameter Description

id

job id

2.3. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/jobs/43' -X GET \
    -H 'Authorization: Bearer xxxxxxxx'

2.4. HTTP response

HTTP/1.1 200 OK

2.5. Response Fields

Path Type Description

id

Number

job id

jobType

String

job type, valid options: CREATE_PROJECT, CREATE_PROJECT_FAILURE, DELETE_PROJECT, FETCH_CHEMICAL_DB_FILES, FETCH_MESH_DB_FILE, FETCH_TAIR_DB_FILE, FETCH_TAXONOMY_DB_FILE, NEW_ANNOTATE_PROJECT, NEW_CREATE_PROJECT, REFRESH_CHEMBL_SUGGESTED_QUERY_LIST, REFRESH_CHEMICAL_INFO, REFRESH_CHEMICAL_SUGGESTED_QUERY_LIST, REFRESH_DRUG_INFO, REFRESH_MIRIAM_INFO

jobStatus

String

job status, valid options: DONE, FAILED, INTERRUPTED, INTERRUPTING, PENDING, RUNNING

jobStarted

String

timestamp when the job has been started

jobFinished

String

timestamp when the job has been finished

progress

Number

progress of the job (0-100)

externalObjectType

String

type of the object to which the job is attached, valid options: DATA_OVERLAY, DATA_OVERLAY_GROUP, ELEMENT, GLYPH, LAYER, LAYER_IMAGE, LAYER_LINE, LAYER_OVAL, LAYER_RECTANGLE, LAYER_TEXT, PROJECT, REACTION

externalObjectId

Number

object id to which the job is attached

priority

Number

job priority (1 is the highest priority)

2.6. Sample Response

{
  "id" : 43,
  "jobType" : "DELETE_PROJECT",
  "jobStatus" : "DONE",
  "jobStarted" : "2026-09-23T23:11:08Z",
  "jobFinished" : "2026-09-23T23:11:08Z",
  "progress" : null,
  "externalObjectType" : null,
  "externalObjectId" : null,
  "priority" : 10
}

3. Cancel job

Requests interruption of a job that is still PENDING or RUNNING and returns its state after the request; a job in any other status cannot be cancelled and the call fails.

3.1. HTTP request

DELETE /minerva/new_api/jobs/41 HTTP/1.1

3.2. Path Parameters

Table 2. /minerva/new_api/jobs/{id}
Parameter Description

id

job id

3.3. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/jobs/41' -X DELETE \
    -H 'Authorization: Bearer xxxxxxxx'

3.4. HTTP response

HTTP/1.1 200 OK

3.5. Response Fields

Path Type Description

id

Number

job id

jobType

String

job type, valid options: CREATE_PROJECT, CREATE_PROJECT_FAILURE, DELETE_PROJECT, FETCH_CHEMICAL_DB_FILES, FETCH_MESH_DB_FILE, FETCH_TAIR_DB_FILE, FETCH_TAXONOMY_DB_FILE, NEW_ANNOTATE_PROJECT, NEW_CREATE_PROJECT, REFRESH_CHEMBL_SUGGESTED_QUERY_LIST, REFRESH_CHEMICAL_INFO, REFRESH_CHEMICAL_SUGGESTED_QUERY_LIST, REFRESH_DRUG_INFO, REFRESH_MIRIAM_INFO

jobStatus

String

job status, valid options: DONE, FAILED, INTERRUPTED, INTERRUPTING, PENDING, RUNNING

jobStarted

String

timestamp when the job has been started

jobFinished

String

timestamp when the job has been finished

progress

Number

progress of the job (0-100)

externalObjectType

String

type of the object to which the job is attached, valid options: DATA_OVERLAY, DATA_OVERLAY_GROUP, ELEMENT, GLYPH, LAYER, LAYER_IMAGE, LAYER_LINE, LAYER_OVAL, LAYER_RECTANGLE, LAYER_TEXT, PROJECT, REACTION

externalObjectId

Number

object id to which the job is attached

priority

Number

job priority (1 is the highest priority)

3.6. Sample Response

{
  "id" : 41,
  "jobType" : "NEW_ANNOTATE_PROJECT",
  "jobStatus" : "INTERRUPTING",
  "jobStarted" : "2026-09-23T23:11:05Z",
  "jobFinished" : null,
  "progress" : null,
  "externalObjectType" : "PROJECT",
  "externalObjectId" : 41,
  "priority" : 5
}