1. List all users
1.1. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/api/users/' -X GET \
--cookie "MINERVA_AUTH_TOKEN=xxxxxxxx"
1.2. Response Fields
| Path | Type | Description |
|---|---|---|
|
|
list of users |
|
|
user login |
|
|
is user account connected to LDAP |
|
|
does the account exist in LDAP |
|
|
ist the use account active (can user login) |
|
|
is the user email confirmed |
|
|
email address |
|
|
orcid identifier |
|
|
user unique id |
|
|
first name |
|
|
last name |
|
|
is the account removed |
|
|
did user agree to terms of use |
|
|
list of user privileges |
|
|
object id to which project has privilege |
|
|
datetime of the last activity in the active session |
|
|
type of privilege, available values: IS_ADMIN, IS_CURATOR, READ_PROJECT |
1.3. Sample Response
[ {
"id" : 124,
"login" : "test_user",
"name" : "Refugio",
"surname" : "Gaylord",
"email" : "ashlee.hand@yahoo.com",
"orcidId" : null,
"removed" : false,
"connectedToLdap" : false,
"termsOfUseConsent" : false,
"privileges" : [ ],
"active" : true,
"confirmed" : false,
"ldapAccountAvailable" : false,
"lastActive" : "2026-11-15T00:11:15Z"
}, {
"id" : 3,
"login" : "anonymous",
"name" : "",
"surname" : "",
"email" : null,
"orcidId" : null,
"removed" : false,
"connectedToLdap" : false,
"termsOfUseConsent" : false,
"privileges" : [ {
"privilegeType" : "READ_PROJECT",
"objectId" : "empty"
} ],
"active" : true,
"confirmed" : true,
"ldapAccountAvailable" : false,
"lastActive" : null
}, {
"id" : 1,
"login" : "admin",
"name" : "",
"surname" : "",
"email" : "",
"orcidId" : null,
"removed" : false,
"connectedToLdap" : false,
"termsOfUseConsent" : false,
"privileges" : [ {
"privilegeType" : "IS_ADMIN",
"objectId" : null
}, {
"privilegeType" : "IS_CURATOR",
"objectId" : null
}, {
"privilegeType" : "READ_PROJECT",
"objectId" : "empty"
} ],
"active" : true,
"confirmed" : true,
"ldapAccountAvailable" : false,
"lastActive" : "2026-11-15T00:11:17Z"
} ]
2. Get specific user data
2.1. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/api/users/test_user' -X GET \
--cookie "MINERVA_AUTH_TOKEN=xxxxxxxx"
2.2. Path Parameters
| Parameter | Description |
|---|---|
|
user login |
2.3. Response Fields
| Path | Type | Description |
|---|---|---|
|
|
user login |
|
|
is user account connected to LDAP |
|
|
does the account exist in LDAP |
|
|
ist the use account active (can user login) |
|
|
is the user email confirmed |
|
|
email address |
|
|
orcid identifier |
|
|
user unique id |
|
|
first name |
|
|
last name |
|
|
is the account removed |
|
|
did user agree to terms of use |
|
|
list of user privileges |
|
|
object id to which project has privilege |
|
|
datetime of the last activity in the active session |
|
|
type of privilege, available values: IS_ADMIN, IS_CURATOR, READ_PROJECT |
2.4. Sample Response
{
"id" : 117,
"login" : "test_user",
"name" : "Dierdre",
"surname" : "Stracke",
"email" : "rachael.kiehn@gmail.com",
"orcidId" : null,
"removed" : false,
"connectedToLdap" : false,
"termsOfUseConsent" : false,
"privileges" : [ ],
"active" : true,
"confirmed" : true,
"ldapAccountAvailable" : false,
"lastActive" : "2026-11-15T00:11:15Z"
}
3. Create user
3.1. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/api/users/test_login?name=Esteban&surname=Schimmel&password=g3mcb2yjr5qmk2' -X POST \
-d 'name=Esteban&surname=Schimmel&password=g3mcb2yjr5qmk2' \
--cookie "MINERVA_AUTH_TOKEN=xxxxxxxx" \
-H 'Content-Type: application/octet-stream'
3.2. Path Parameters
| Parameter | Description |
|---|---|
|
user login |
3.3. Form Parameters
| Parameter | Description |
|---|---|
|
first name |
|
last name |
|
user password |
|
email address |
|
should the default privileges be added to the user after user creation |
3.4. Response Fields
| Path | Type | Description |
|---|---|---|
|
|
user login |
|
|
is user account connected to LDAP |
|
|
does the account exist in LDAP |
|
|
ist the use account active (can user login) |
|
|
is the user email confirmed |
|
|
email address |
|
|
orcid identifier |
|
|
user unique id |
|
|
first name |
|
|
last name |
|
|
is the account removed |
|
|
did user agree to terms of use |
|
|
list of user privileges |
|
|
object id to which project has privilege |
|
|
datetime of the last activity in the active session |
|
|
type of privilege, available values: IS_ADMIN, IS_CURATOR, READ_PROJECT |
3.5. Sample Response
{
"id" : 123,
"login" : "test_login",
"name" : "Esteban",
"surname" : "Schimmel",
"email" : null,
"orcidId" : null,
"removed" : false,
"connectedToLdap" : false,
"termsOfUseConsent" : false,
"privileges" : [ ],
"active" : true,
"confirmed" : true,
"ldapAccountAvailable" : false,
"lastActive" : null
}
4. Update user
4.1. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/api/users/test_user' -X PATCH \
-d '{"user":{"password":"new pass"}}' \
--cookie "MINERVA_AUTH_TOKEN=xxxxxxxx" \
-H 'Content-Type: application/json'
4.2. Path Parameters
| Parameter | Description |
|---|---|
|
user login |
4.3. Request Fields
| Path | Type | Description |
|---|---|---|
|
|
user password |
|
|
is user account connected to LDAP |
|
|
does is account exist in LDAP |
|
|
email address |
|
|
first name |
|
|
last name |
4.4. Response Fields
| Path | Type | Description |
|---|---|---|
|
|
user login |
|
|
is user account connected to LDAP |
|
|
does the account exist in LDAP |
|
|
ist the use account active (can user login) |
|
|
is the user email confirmed |
|
|
email address |
|
|
orcid identifier |
|
|
user unique id |
|
|
first name |
|
|
last name |
|
|
is the account removed |
|
|
did user agree to terms of use |
|
|
list of user privileges |
|
|
object id to which project has privilege |
|
|
datetime of the last activity in the active session |
|
|
type of privilege, available values: IS_ADMIN, IS_CURATOR, READ_PROJECT |
4.5. Sample Response
{
"id" : 116,
"login" : "test_user",
"name" : "Ina",
"surname" : "Bogisich",
"email" : "federico.hamill@gmail.com",
"orcidId" : null,
"removed" : false,
"connectedToLdap" : false,
"termsOfUseConsent" : false,
"privileges" : [ ],
"active" : true,
"confirmed" : true,
"ldapAccountAvailable" : false,
"lastActive" : "2026-11-15T00:11:15Z"
}
5. Update user privileges
5.1. Path Parameters
| Parameter | Description |
|---|---|
|
user login |
5.2. Request Fields
| Path | Type | Description |
|---|---|---|
|
|
should the privilege defined as PRIVILEGE_TYPE:ID_OBJECT be granted or not |
5.3. Response Fields
| Path | Type | Description |
|---|---|---|
|
|
user login |
|
|
is user account connected to LDAP |
|
|
does the account exist in LDAP |
|
|
ist the use account active (can user login) |
|
|
is the user email confirmed |
|
|
email address |
|
|
orcid identifier |
|
|
user unique id |
|
|
first name |
|
|
last name |
|
|
is the account removed |
|
|
did user agree to terms of use |
|
|
list of user privileges |
|
|
object id to which project has privilege |
|
|
datetime of the last activity in the active session |
|
|
type of privilege, available values: IS_ADMIN, IS_CURATOR, READ_PROJECT |
5.4. CURL sample 1
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/api/users/test_user:updatePrivileges' -X PATCH \
-d '{"privileges":{"IS_ADMIN":true}}' \
--cookie "MINERVA_AUTH_TOKEN=xxxxxxxx" \
-H 'Content-Type: application/json'
5.5. Sample Response 1
{
"id" : 125,
"login" : "test_user",
"name" : "Maureen",
"surname" : "Medhurst",
"email" : "florentino.weber@gmail.com",
"orcidId" : null,
"removed" : false,
"connectedToLdap" : false,
"termsOfUseConsent" : false,
"privileges" : [ {
"privilegeType" : "IS_ADMIN",
"objectId" : null
} ],
"active" : true,
"confirmed" : false,
"ldapAccountAvailable" : false,
"lastActive" : "2026-11-15T00:11:15Z"
}
5.6. CURL sample 2
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/api/users/test_user:updatePrivileges' -X PATCH \
-d '{"privileges":{"READ_PROJECT:test_project":true}}' \
--cookie "MINERVA_AUTH_TOKEN=xxxxxxxx" \
-H 'Content-Type: application/json'
5.7. Sample Response 2
{
"id" : 121,
"login" : "test_user",
"name" : "Dane",
"surname" : "Hettinger",
"email" : "terra.roberts@yahoo.com",
"orcidId" : null,
"removed" : false,
"connectedToLdap" : false,
"termsOfUseConsent" : false,
"privileges" : [ {
"privilegeType" : "READ_PROJECT",
"objectId" : "test_project"
} ],
"active" : true,
"confirmed" : false,
"ldapAccountAvailable" : false,
"lastActive" : "2026-11-15T00:11:15Z"
}
6. Delete user
6.1. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/api/users/test_user' -X PATCH \
-d '{"user":{"password":"new pass"}}' \
--cookie "MINERVA_AUTH_TOKEN=xxxxxxxx" \
-H 'Content-Type: application/json'
6.2. Path Parameters
| Parameter | Description |
|---|---|
|
user login |
7. Request password reset over email
7.1. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/api/users/test_user:requestResetPassword' -X POST
7.2. Path Parameters
| Parameter | Description |
|---|---|
|
user login |
8. Reset password using a token obtained over email
8.1. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/api/users:resetPassword?token=49500735-0000-4404-8090-204678734087&password=pass2' -X POST \
-d 'token=49500735-0000-4404-8090-204678734087&password=pass2' \
-H 'Content-Type: application/octet-stream'
8.2. Form Parameters
| Parameter | Description |
|---|---|
|
new password |
|
reset password token obtained using email |
9. Register new user
9.1. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/api/users:registerUser' -X POST \
-d '{"password":"123qweasdzxc","surname":"Gawron","name":"Piotr","email":"piotr.gawron@uni.lu"}' \
-H 'Content-Type: application/json'
9.2. Request Fields
| Path | Type | Description |
|---|---|---|
|
|
user email (and login) |
|
|
password |
|
|
given name) |
|
|
family name |
9.3. Response Fields
| Path | Type | Description |
|---|---|---|
|
|
user login |
|
|
is user account connected to LDAP |
|
|
does the account exist in LDAP |
|
|
ist the use account active (can user login) |
|
|
is the user email confirmed |
|
|
email address |
|
|
orcid identifier |
|
|
user unique id |
|
|
first name |
|
|
last name |
|
|
is the account removed |
|
|
did user agree to terms of use |
|
|
list of user privileges |
|
|
object id to which project has privilege |
|
|
datetime of the last activity in the active session |
|
|
type of privilege, available values: IS_ADMIN, IS_CURATOR, READ_PROJECT |
9.4. Sample Response
{
"id" : 120,
"login" : "piotr.gawron@uni.lu",
"name" : "Piotr",
"surname" : "Gawron",
"email" : "piotr.gawron@uni.lu",
"orcidId" : null,
"removed" : false,
"connectedToLdap" : false,
"termsOfUseConsent" : false,
"privileges" : [ {
"privilegeType" : "READ_PROJECT",
"objectId" : "empty"
} ],
"active" : false,
"confirmed" : false,
"ldapAccountAvailable" : false,
"lastActive" : null
}
10. Confirm email
10.1. CURL sample
$ curl 'https://minerva-dev.lcsb.uni.lu/minerva/api/users/test_user:confirmEmail?token=7ddf8305-ad44-4a74-b7ee-4a00588dea99' -X POST \
-d 'token=7ddf8305-ad44-4a74-b7ee-4a00588dea99' \
-H 'Content-Type: application/octet-stream'
10.2. Form Parameters
| Parameter | Description |
|---|---|
|
token obtained in the registration email |
10.3. Path Parameters
| Parameter | Description |
|---|---|
|
user login |
10.4. Response Fields
| Path | Type | Description |
|---|---|---|
|
|
detailed information about the status |
|
|
status |
10.5. Sample Response
{
"message" : "Your email is confirmed. You need to wait for admin approval before you can login",
"status" : "OK"
}