Maps (submaps) of a project, served from /new_api/projects/{projectId}/maps.

1. BioEntities

Elements and reactions of the map.
See full documentation.

1.1. Elements

Species/elements (proteins, genes, compartments, …​) placed on the map.
See full documentation.

1.2. Reactions

A reaction links map elements as reactants, products, modifiers and operators; this lists the reactions defined in the map.
See full documentation.

2. Layers

Graphical overlay elements (images, texts, lines, ovals, rectangles) drawn on top of the map.
See full documentation.

2.1. Images

A picture positioned and sized on the map, referencing the uploaded image to display.
See full documentation.

2.2. Texts

A positioned text box on the map with its own font, color, background and border styling.
See full documentation.

2.3. Lines

A polyline (ordered sequence of points) drawn on the map.
See full documentation.

2.4. Ovals

An ellipse drawn on the map, defined by a bounding box, fill color and border.
See full documentation.

2.5. Rectangles

A rectangle drawn on the map, defined by a bounding box, fill color and border.
See full documentation.

3. Comments

Comments pinned to a coordinate on the map.
See full documentation.

4. Authors

Authors credited for the content of the map.
See full documentation.

5. Annotations

Annotations of the map itself (as opposed to its elements or reactions).
See full documentation.

6. Publications

Publications referenced by the elements and reactions of the map.
See full documentation.

7. SBML Functions

Function definitions taken from the SBML file the map was created from.
See full documentation.

8. SBML Parameters

Global parameters taken from the SBML file the map was created from.
See full documentation.

9. SBML Units

Units of quantity the parameters and elements of the map refer to.
See full documentation.

10. Get map

Returns details about a single map (submap) of the project.

10.1. HTTP request

GET /minerva/new_api/projects/empty/maps/3 HTTP/1.1

10.2. Path Parameters

Table 1. /minerva/new_api/projects/{projectId}/maps/{mapId}
Parameter Description

projectId

project identifier

mapId

map identifier

10.3. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/projects/empty/maps/3' -X GET

10.4. HTTP response

HTTP/1.1 200 OK

10.5. Response Fields

Path Type Description

id

Number

unique map identifier

name

String

map name

description

String

map description

width

Number

map width

height

Number

map height

defaultCenterX

Number

default x coordinate of the map center

defaultCenterY

Number

default y coordinate of the map center

defaultZoomLevel

Number

zoom level at which the map is opened

minZoom

Number

minimum allowed zoom level

maxZoom

Number

maximum allowed zoom level

references

Array

list of map annotations

authors

Array

list of map authors

creationDate

String

map creation date

modificationDates

Array

list of map modification dates

10.6. Sample Response

{
  "id" : 3,
  "width" : 25195.0,
  "height" : 14285.0,
  "defaultCenterX" : null,
  "defaultCenterY" : null,
  "defaultZoomLevel" : null,
  "description" : "",
  "name" : "",
  "references" : [ ],
  "authors" : [ ],
  "creationDate" : null,
  "modificationDates" : [ ],
  "minZoom" : 2,
  "maxZoom" : 9
}

11. List maps

Returns a page of maps (submaps) belonging to the project.

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

11.1. HTTP request

GET /minerva/new_api/projects/empty/maps/ HTTP/1.1

11.2. Path Parameters

Table 2. /minerva/new_api/projects/{projectId}/maps/
Parameter Description

projectId

project identifier

11.3. 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

11.4. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/projects/empty/maps/' -X GET

11.5. HTTP response

HTTP/1.1 200 OK

11.6. Response Fields

Path Type Description

content

Array

list of maps on the page

content[].id

Number

unique map identifier

content[].name

String

map name

content[].description

String

map description

content[].width

Number

map width

content[].height

Number

map height

content[].defaultCenterX

Number

default x coordinate of the map center

content[].defaultCenterY

Number

default y coordinate of the map center

content[].defaultZoomLevel

Number

zoom level at which the map is opened

content[].minZoom

Number

minimum allowed zoom level

content[].maxZoom

Number

maximum allowed zoom level

content[].references

Array

list of map annotations

content[].authors

Array

list of map authors

content[].creationDate

String

map creation date

content[].modificationDates

Array

list of map modification dates

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

11.7. Sample Response

{
  "content" : [ {
    "id" : 3,
    "width" : 25195.0,
    "height" : 14285.0,
    "defaultCenterX" : null,
    "defaultCenterY" : null,
    "defaultZoomLevel" : null,
    "description" : "",
    "name" : "",
    "references" : [ ],
    "authors" : [ ],
    "creationDate" : null,
    "modificationDates" : [ ],
    "minZoom" : 2,
    "maxZoom" : 9
  } ],
  "totalPages" : 1,
  "totalElements" : 1,
  "numberOfElements" : 1,
  "size" : 20,
  "number" : 0
}

12. Add map

Creates a new, empty map (submap) in the project.

12.1. HTTP request

POST /minerva/new_api/projects/test_project/maps/ HTTP/1.1

12.2. Path Parameters

Table 3. /minerva/new_api/projects/{projectId}/maps/
Parameter Description

projectId

project identifier

12.3. Request Fields

Path Type Description

name

String

map name

notes

String

map notes and description

width

Number

map width

height

Number

map height

defaultCenterX

Number

default x coordinate of the map center

defaultCenterY

Number

default y coordinate of the map center

defaultZoomLevel

Number

zoom level at which the map is opened

12.4. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/projects/test_project/maps/' -X POST \
    -H 'Authorization: Bearer xxxxxxxx' \
    -d '{"name":"new map","width":100.0,"height":100.0,"notes":"map notes"}' \
    -H 'Content-Type: application/json'

12.5. HTTP response

HTTP/1.1 201 Created

12.6. Response Fields

Path Type Description

id

Number

unique map identifier

name

String

map name

description

String

map description

width

Number

map width

height

Number

map height

defaultCenterX

Number

default x coordinate of the map center

defaultCenterY

Number

default y coordinate of the map center

defaultZoomLevel

Number

zoom level at which the map is opened

minZoom

Number

minimum allowed zoom level

maxZoom

Number

maximum allowed zoom level

references

Array

list of map annotations

authors

Array

list of map authors

creationDate

String

map creation date

modificationDates

Array

list of map modification dates

12.7. Sample Response

{
  "id" : 155,
  "width" : 100.0,
  "height" : 100.0,
  "defaultCenterX" : null,
  "defaultCenterY" : null,
  "defaultZoomLevel" : null,
  "description" : "map notes",
  "name" : "new map",
  "references" : [ ],
  "authors" : [ ],
  "creationDate" : "2026-09-23T23:12:35Z",
  "modificationDates" : [ ],
  "minZoom" : 2,
  "maxZoom" : 2
}

13. Update map

Updates properties of an existing map (submap).

Note
Supports optimistic locking via the If-Match header.

13.1. HTTP request

PUT /minerva/new_api/projects/test_project/maps/156 HTTP/1.1

13.2. Path Parameters

Table 4. /minerva/new_api/projects/{projectId}/maps/{mapId}
Parameter Description

projectId

project identifier

mapId

map identifier

13.3. Request Fields

Path Type Description

name

String

map name

notes

String

map notes and description

width

Number

map width

height

Number

map height

defaultCenterX

Number

default x coordinate of the map center

defaultCenterY

Number

default y coordinate of the map center

defaultZoomLevel

Number

zoom level at which the map is opened

13.4. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/projects/test_project/maps/156' -X PUT \
    -H 'Authorization: Bearer xxxxxxxx' \
    -d '{"name":"updated map","width":200.0,"height":200.0,"notes":"updated notes"}' \
    -H 'Content-Type: application/json'

13.5. HTTP response

HTTP/1.1 200 OK

13.6. Response Fields

Path Type Description

id

Number

unique map identifier

name

String

map name

description

String

map description

width

Number

map width

height

Number

map height

defaultCenterX

Number

default x coordinate of the map center

defaultCenterY

Number

default y coordinate of the map center

defaultZoomLevel

Number

zoom level at which the map is opened

minZoom

Number

minimum allowed zoom level

maxZoom

Number

maximum allowed zoom level

references

Array

list of map annotations

authors

Array

list of map authors

creationDate

String

map creation date

modificationDates

Array

list of map modification dates

13.7. Sample Response

{
  "id" : 156,
  "width" : 200.0,
  "height" : 200.0,
  "defaultCenterX" : null,
  "defaultCenterY" : null,
  "defaultZoomLevel" : null,
  "description" : "updated notes",
  "name" : "updated map",
  "references" : [ {
    "link" : null,
    "type" : "MESH_2012",
    "resource" : "D010300",
    "id" : 500,
    "annotator" : null
  } ],
  "authors" : [ {
    "id" : 63,
    "firstName" : "John",
    "lastName" : "Doe",
    "email" : null,
    "organisation" : null
  } ],
  "creationDate" : null,
  "modificationDates" : [ ],
  "minZoom" : 2,
  "maxZoom" : 2
}

14. Delete map

Deletes a map (submap) from the project.

Note
Supports optimistic locking via the If-Match header.

14.1. HTTP request

DELETE /minerva/new_api/projects/test_project/maps/151 HTTP/1.1

14.2. Path Parameters

Table 5. /minerva/new_api/projects/{projectId}/maps/{mapId}
Parameter Description

projectId

project identifier

mapId

map identifier

14.3. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/projects/test_project/maps/151' -X DELETE \
    -H 'Authorization: Bearer xxxxxxxx'

14.4. HTTP response

HTTP/1.1 200 OK

15. Download map

Downloads the map (or a polygon-limited portion of it) in the requested format.

15.1. HTTP request

POST /minerva/new_api/projects/empty/maps/3:download_map HTTP/1.1

15.2. Path Parameters

Table 6. /minerva/new_api/projects/{projectId}/maps/{mapId}:download_map
Parameter Description

projectId

project identifier

mapId

map identifier

15.3. Request Fields

Path Type Description

converter

String

converter to use (one of: CELL_DESIGNER, SBGN_ML, SBML, GPML)

polygon

Array

list of points defining the polygon that limits the exported area

polygon[].x

Number

x coordinate of the polygon vertex

polygon[].y

Number

y coordinate of the polygon vertex

15.4. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/projects/empty/maps/3:download_map' -X POST \
    -H 'Authorization: Bearer xxxxxxxx' \
    -d '{"polygon":[{"y":0.0,"x":0.0},{"y":0.0,"x":99999.0},{"y":99999.0,"x":99999.0},{"y":99999.0,"x":0.0}],"converter":"CELL_DESIGNER"}' \
    -H 'Content-Type: application/json'

15.5. HTTP response

HTTP/1.1 200 OK

15.6. Sample Response

<?xml version="1.0" encoding="UTF-8"?>
<sbml xmlns="http://www.sbml.org/sbml/level2/version4"
      xmlns:celldesigner="http://www.sbml.org/2001/ns/celldesigner"
      xmlns:minerva="http://lcsb.uni.lu/minerva/ns"
      level="2"
      version="4">
   <model>
      <notes>
         <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
               <title/>
            </head>
            <body/>
         </html>
      </notes>
      <annotation>
         <celldesigner:extension>
            <celldesigner:modelVersion>4.0</celldesigner:modelVersion>
            <celldesigner:modelDisplay sizeX="25195" sizeY="14285"/>
            <celldesigner:listOfIncludedSpecies>
</celldesigner:listOfIncludedSpecies>
            <celldesigner:listOfCompartmentAliases>
</celldesigner:listOfCompartmentAliases>
            <celldesigner:listOfComplexSpeciesAliases>
</celldesigner:listOfComplexSpeciesAliases>
            <celldesigner:listOfSpeciesAliases>
</celldesigner:listOfSpeciesAliases>
            <celldesigner:listOfProteins/>
            <celldesigner:listOfGenes/>
            <celldesigner:listOfRNAs/>
            <celldesigner:listOfAntisenseRNAs/>
            <celldesigner:listOfLayers/>
         </celldesigner:extension>
         <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
                  xmlns:dc="http://purl.org/dc/elements/1.1/"
                  xmlns:dcterms="http://purl.org/dc/terms/"
                  xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#"
                  xmlns:bqbiol="http://biomodels.net/biology-qualifiers/"
                  xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
            <rdf:Description rdf:about="#null">
               <dcterms:modified rdf:parseType="Resource"/>
            </rdf:Description>
         </rdf:RDF>
      </annotation>
      <listOfCompartments>
         <compartment metaid="default"
                      id="default"
                      name="default"
                      size="1"
                      units="volume">
            <notes>
               <html xmlns="http://www.w3.org/1999/xhtml">
                  <head>
                     <title/>
                  </head>
                  <body>
</body>
               </html>
            </notes>
            <annotation>
               <celldesigner:extension>
                  <celldesigner:name>default</celldesigner:name>
               </celldesigner:extension>
               <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
                        xmlns:dc="http://purl.org/dc/elements/1.1/"
                        xmlns:dcterms="http://purl.org/dc/terms/"
                        xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#"
                        xmlns:bqbiol="http://biomodels.net/biology-qualifiers/"
                        xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
                  <rdf:Description rdf:about="#default">
                     <dcterms:modified rdf:parseType="Resource"/>
                  </rdf:Description>
               </rdf:RDF>
            </annotation>
         </compartment>
      </listOfCompartments>
   </model>
</sbml>

16. Download map as image

Renders the map (or a polygon-limited portion of it) into an image. The colours of the elements are the ones configured for the authenticated user, and the nested view is always disabled in the exported image.

When overlayIds are given, the map is drawn with those data overlays on top of it, the same way they are visualized in the web interface: every element covered by an overlay is marked with the colour computed for its value, and elements covered by several overlays are marked once per overlay, in the order the overlays were listed. The colours the map itself was created with are dropped in that case, so that they do not compete with the overlay marks - the exported image shows the overlays alone.

Only overlays that are public or created by the calling user can be used; asking for a private overlay of somebody else results in 403 for regular users. Admins and curators can use any overlay of the project.

16.1. HTTP request

POST /minerva/new_api/projects/empty/maps/3:download_image HTTP/1.1

16.2. Path Parameters

Table 7. /minerva/new_api/projects/{projectId}/maps/{mapId}:download_image
Parameter Description

projectId

project identifier

mapId

map identifier

16.3. Request Fields

Path Type Description

imageFormat

String

format of the generated image (one of: PDF_GENERATOR, PNG_GENERATOR, SVG_GENERATOR)

polygon

Array

list of points defining the polygon that limits the exported area; when fewer than 3 points are given the whole map is exported

polygon[].x

Number

x coordinate of the polygon vertex

polygon[].y

Number

y coordinate of the polygon vertex

zoomLevel

Number

zoom level used when rendering; defaults to the minimum zoom level of the map

overlayIds

Array

identifiers of the data overlays drawn on top of the map, in the order they are applied; when given, the colors the map itself was created with are dropped; only public overlays and the overlays of the calling user can be used (admins and curators can use any overlay of the project)

16.4. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/projects/empty/maps/3:download_image' -X POST \
    -H 'Authorization: Bearer xxxxxxxx' \
    -d '{"polygon":[{"y":0.0,"x":0.0},{"y":0.0,"x":99999.0},{"y":99999.0,"x":99999.0},{"y":99999.0,"x":0.0}],"zoomLevel":4.0,"imageFormat":"PNG_GENERATOR"}' \
    -H 'Content-Type: application/json'

16.5. CURL sample with a data overlay

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/projects/test_project/maps/152:download_image' -X POST \
    -H 'Authorization: Bearer xxxxxxxx' \
    -d '{"imageFormat":"PNG_GENERATOR","overlayIds":[1000001]}' \
    -H 'Content-Type: application/json'

16.6. HTTP response

HTTP/1.1 200 OK

17. Download map with reactions

Downloads a map containing only the specified reactions in the requested format.

17.1. HTTP request

POST /minerva/new_api/projects/empty/maps/3:download_map_with_reactions HTTP/1.1

17.2. Path Parameters

Table 8. /minerva/new_api/projects/{projectId}/maps/{mapId}:download_map_with_reactions
Parameter Description

projectId

project identifier

mapId

map identifier

17.3. Request Fields

Path Type Description

converter

String

converter to use (one of: CELL_DESIGNER, SBGN_ML, SBML, GPML)

reactionIds

Array

list of reaction database identifiers to include in the exported file

17.4. CURL sample

$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/projects/empty/maps/3:download_map_with_reactions' -X POST \
    -H 'Authorization: Bearer xxxxxxxx' \
    -d '{"reactionIds":[],"converter":"CELL_DESIGNER"}' \
    -H 'Content-Type: application/json'

17.5. HTTP response

HTTP/1.1 200 OK

17.6. Sample Response

<?xml version="1.0" encoding="UTF-8"?>
<sbml xmlns="http://www.sbml.org/sbml/level2/version4"
      xmlns:celldesigner="http://www.sbml.org/2001/ns/celldesigner"
      xmlns:minerva="http://lcsb.uni.lu/minerva/ns"
      level="2"
      version="4">
   <model>
      <notes>
         <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
               <title/>
            </head>
            <body/>
         </html>
      </notes>
      <annotation>
         <celldesigner:extension>
            <celldesigner:modelVersion>4.0</celldesigner:modelVersion>
            <celldesigner:modelDisplay sizeX="25195" sizeY="14285"/>
            <celldesigner:listOfIncludedSpecies>
</celldesigner:listOfIncludedSpecies>
            <celldesigner:listOfCompartmentAliases>
</celldesigner:listOfCompartmentAliases>
            <celldesigner:listOfComplexSpeciesAliases>
</celldesigner:listOfComplexSpeciesAliases>
            <celldesigner:listOfSpeciesAliases>
</celldesigner:listOfSpeciesAliases>
            <celldesigner:listOfProteins/>
            <celldesigner:listOfGenes/>
            <celldesigner:listOfRNAs/>
            <celldesigner:listOfAntisenseRNAs/>
            <celldesigner:listOfLayers/>
         </celldesigner:extension>
         <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
                  xmlns:dc="http://purl.org/dc/elements/1.1/"
                  xmlns:dcterms="http://purl.org/dc/terms/"
                  xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#"
                  xmlns:bqbiol="http://biomodels.net/biology-qualifiers/"
                  xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
            <rdf:Description rdf:about="#null">
               <dcterms:modified rdf:parseType="Resource"/>
            </rdf:Description>
         </rdf:RDF>
      </annotation>
      <listOfCompartments>
         <compartment metaid="default"
                      id="default"
                      name="default"
                      size="1"
                      units="volume">
            <notes>
               <html xmlns="http://www.w3.org/1999/xhtml">
                  <head>
                     <title/>
                  </head>
                  <body>
</body>
               </html>
            </notes>
            <annotation>
               <celldesigner:extension>
                  <celldesigner:name>default</celldesigner:name>
               </celldesigner:extension>
               <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
                        xmlns:dc="http://purl.org/dc/elements/1.1/"
                        xmlns:dcterms="http://purl.org/dc/terms/"
                        xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#"
                        xmlns:bqbiol="http://biomodels.net/biology-qualifiers/"
                        xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
                  <rdf:Description rdf:about="#default">
                     <dcterms:modified rdf:parseType="Resource"/>
                  </rdf:Description>
               </rdf:RDF>
            </annotation>
         </compartment>
      </listOfCompartments>
   </model>
</sbml>