A permalink is a short, stable stand-in for a long URL: it stores a target URL together with a generated 6-character alphanumeric key, and a request to /minerva/x?<key> redirects to that URL.
The target can be any URL; the typical use is shortening long map view addresses so they can be shared.
All operations below require the administrator role.
The endpoints are served from /new_api/permalinks/.
1. List permalinks
Returns a page of the permalinks stored in this instance, each with its redirect key, target URL and creation time.
|
Note
|
The result is paged - use the page and size query parameters to
walk through it.
|
1.1. HTTP request
GET /minerva/new_api/permalinks/ HTTP/1.1
1.2. Query Parameters
| Parameter | Description |
|---|---|
|
index of the page to fetch, counted from 0; 0 by default |
|
number of entries on a page; 20 by default, 10000 at most |
1.3. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/permalinks/' -X GET \
-H 'Authorization: Bearer xxxxxxxx'
1.4. HTTP response
HTTP/1.1 200 OK
1.5. Response Fields
| Path | Type | Description |
|---|---|---|
|
|
list of permalinks on the page |
|
|
unique numeric identifier |
|
|
6-character alphanumeric redirect key used in URL |
|
|
target URL the redirect points to |
|
|
timestamp when the permalink was created |
|
|
total number of pages |
|
|
total number of elements |
|
|
number of elements on this page |
|
|
page size |
|
|
page number |
1.6. Sample Response
{
"content" : [ {
"id" : 3,
"redirectId" : "aJOM5L",
"url" : "https://stark.biz",
"createdAt" : "2026-09-23T23:11:10Z"
}, {
"id" : 4,
"redirectId" : "xHMTKN",
"url" : "https://mraz.co",
"createdAt" : "2026-09-23T23:11:10Z"
} ],
"totalPages" : 1,
"totalElements" : 2,
"numberOfElements" : 2,
"size" : 20,
"number" : 0
}
2. Get permalink
Returns a single permalink by its numeric id - note that this is the database id, not the 6-character redirect key used in the short URL.
2.1. HTTP request
GET /minerva/new_api/permalinks/2 HTTP/1.1
2.2. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/permalinks/2' -X GET \
-H 'Authorization: Bearer xxxxxxxx'
2.3. HTTP response
HTTP/1.1 200 OK
2.4. Response Fields
| Path | Type | Description |
|---|---|---|
|
|
unique numeric identifier |
|
|
6-character alphanumeric redirect key used in URL |
|
|
target URL the redirect points to |
|
|
timestamp when the permalink was created |
2.5. Sample Response
{
"id" : 2,
"redirectId" : "os16h0",
"url" : "https://jaskolski.net",
"createdAt" : "2026-09-23T23:11:09Z"
}
3. Add permalink
Registers a target URL and returns the new permalink with the redirect key generated for it by the server; the key cannot be chosen by the caller.
3.1. HTTP request
POST /minerva/new_api/permalinks/ HTTP/1.1
3.2. Request Fields
| Path | Type | Description |
|---|---|---|
|
|
target URL the permalink should redirect to |
3.3. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/permalinks/' -X POST \
-H 'Authorization: Bearer xxxxxxxx' \
-d '{"url":"https://ferry.net"}' \
-H 'Content-Type: application/json'
3.4. HTTP response
HTTP/1.1 201 Created
3.5. Response Fields
| Path | Type | Description |
|---|---|---|
|
|
unique numeric identifier |
|
|
6-character alphanumeric redirect key used in URL |
|
|
target URL the redirect points to |
|
|
timestamp when the permalink was created |
3.6. Sample Response
{
"id" : 0,
"redirectId" : "JxchRY",
"url" : "https://ferry.net",
"createdAt" : "2026-09-23T23:11:09Z"
}
4. Update permalink
Points an existing permalink at a different target URL. The redirect key stays the same, so links already shared keep working.
4.1. HTTP request
PUT /minerva/new_api/permalinks/1 HTTP/1.1
4.2. Request Fields
| Path | Type | Description |
|---|---|---|
|
|
target URL the permalink should redirect to |
4.3. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/new_api/permalinks/1' -X PUT \
-H 'Authorization: Bearer xxxxxxxx' \
-d '{"url":"https://walsh.co"}' \
-H 'Content-Type: application/json'
4.4. HTTP response
HTTP/1.1 200 OK
4.5. Response Fields
| Path | Type | Description |
|---|---|---|
|
|
unique numeric identifier |
|
|
6-character alphanumeric redirect key used in URL |
|
|
target URL the redirect points to |
|
|
timestamp when the permalink was created |
4.6. Sample Response
{
"id" : 1,
"redirectId" : "FAalDq",
"url" : "https://walsh.co",
"createdAt" : "2026-09-23T23:11:09Z"
}