prosEO User Manager REST Services API API documentation version v0.1
/proseo/user-mgr/{version}
- version: required(v0.1)
/login
Let a user log in to a specific mission (the user is retrieved from the basic authentication information). Mission may be empty for the "root" user.
get /login
Let a user log in to a specific mission (the user is retrieved from the basic authentication information). Mission may be empty for the "root" user.
Query Parameters
- mission: (string)
the mission code
HTTP status code 200
Body
Media type: application/json
Type: array of string
HTTP status code 400
The request sent to the server contains data which is not as expected e.g. invalid location URI
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
HTTP status code 401
If the user is not authorized for some reason, such as an expired password.
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
HTTP status code 404
The requested resource was not found
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
/users
Get users by mission (may be null, if root user sends request)
Create a new user
get /users
Get users by mission (may be null, if root user sends request)
Query Parameters
- mission: (string)
the mission code
- recordFrom: (integer)
the first result to return
- recordTo: (integer)
the last result to return
HTTP status code 200
Body
Media type: application/json
Type: array of object
Items: RestUser
- username: required(string)
The (unique) user name, consisting of the mission code, a hyphen ("-") and the actual cross-mission user name
- password: (string)
The user password (BCrypt-encrypted string; not required for updates)
- enabled: required(boolean - default: true)
Flag indicating whether the user account is enabled.
- authorities: required(array of string)
The authorities granted to this user (filtered by mission)
- expirationDate: (date-only)
The expiration date for the user account (default never)
- passwordExpirationDate: (date-only)
The expiration date for the password (default never)
- quota: (object)
Data download quota for this user (if not set, no quota applies)
- assigned: required(integer)
Monthly data volume allowance in Bytes
- used: required(integer)
Data volume in Bytes used in the last recorded calendar month
- lastAccessDate: required(date-only)
Date of last recorded access (defines the calendar month for "used")
- assigned: required(integer)
Example:
[
{
"username": "S5P-johndoe",
"password": "$2a$04$nXMQTg2ZMY6k8yDvL5jD2.lthiKrmWZpOVgyu0l7tbm.JKKzyRpQW",
"enabled": true,
"authorities": [ "ROLE_USER" ]
}
]
HTTP status code 400
The request sent to the server contains data which is not as expected e.g. invalid location URI
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
HTTP status code 404
The requested resource was not found
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
HTTP status code 429
The result list length exceeds a configured maximum.
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
post /users
Create a new user
Body
Media type: application/json
Type: object
Properties- username: required(string)
The (unique) user name, consisting of the mission code, a hyphen ("-") and the actual cross-mission user name
- password: (string)
The user password (BCrypt-encrypted string; not required for updates)
- enabled: required(boolean - default: true)
Flag indicating whether the user account is enabled.
- authorities: required(array of string)
The authorities granted to this user (filtered by mission)
- expirationDate: (date-only)
The expiration date for the user account (default never)
- passwordExpirationDate: (date-only)
The expiration date for the password (default never)
- quota: (object)
Data download quota for this user (if not set, no quota applies)
- assigned: required(integer)
Monthly data volume allowance in Bytes
- used: required(integer)
Data volume in Bytes used in the last recorded calendar month
- lastAccessDate: required(date-only)
Date of last recorded access (defines the calendar month for "used")
- assigned: required(integer)
Example:
{
"username": "S5P-johndoe",
"password": "$2a$04$nXMQTg2ZMY6k8yDvL5jD2.lthiKrmWZpOVgyu0l7tbm.JKKzyRpQW",
"enabled": true,
"authorities": [ "ROLE_USER" ],
"expirationDate": "2021-12-31",
"passwordExpirationDate": "2020-05-04",
"quota": {
"assigned": 1024,
"used": 205,
"lastAccessDate": "2020-01-17"
}
}
HTTP status code 201
Body
Media type: application/json
Type: object
Properties- username: required(string)
The (unique) user name, consisting of the mission code, a hyphen ("-") and the actual cross-mission user name
- password: (string)
The user password (BCrypt-encrypted string; not required for updates)
- enabled: required(boolean - default: true)
Flag indicating whether the user account is enabled.
- authorities: required(array of string)
The authorities granted to this user (filtered by mission)
- expirationDate: (date-only)
The expiration date for the user account (default never)
- passwordExpirationDate: (date-only)
The expiration date for the password (default never)
- quota: (object)
Data download quota for this user (if not set, no quota applies)
- assigned: required(integer)
Monthly data volume allowance in Bytes
- used: required(integer)
Data volume in Bytes used in the last recorded calendar month
- lastAccessDate: required(date-only)
Date of last recorded access (defines the calendar month for "used")
- assigned: required(integer)
Example:
{
"username": "S5P-johndoe",
"password": "$2a$04$nXMQTg2ZMY6k8yDvL5jD2.lthiKrmWZpOVgyu0l7tbm.JKKzyRpQW",
"enabled": true,
"authorities": [ "ROLE_USER" ],
"expirationDate": "2021-12-31",
"passwordExpirationDate": "2020-05-04",
"quota": {
"assigned": 1024,
"used": 205,
"lastAccessDate": "2020-01-17"
}
}
HTTP status code 400
The request sent to the server contains data which is not as expected e.g. invalid location URI
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
Count the users matching the specified mission.
Get a user by name
Update a user by name
Delete a user by user name
get /users/{username}
Get a user by name
URI Parameters
- username: required(string)
the user name
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- username: required(string)
The (unique) user name, consisting of the mission code, a hyphen ("-") and the actual cross-mission user name
- password: (string)
The user password (BCrypt-encrypted string; not required for updates)
- enabled: required(boolean - default: true)
Flag indicating whether the user account is enabled.
- authorities: required(array of string)
The authorities granted to this user (filtered by mission)
- expirationDate: (date-only)
The expiration date for the user account (default never)
- passwordExpirationDate: (date-only)
The expiration date for the password (default never)
- quota: (object)
Data download quota for this user (if not set, no quota applies)
- assigned: required(integer)
Monthly data volume allowance in Bytes
- used: required(integer)
Data volume in Bytes used in the last recorded calendar month
- lastAccessDate: required(date-only)
Date of last recorded access (defines the calendar month for "used")
- assigned: required(integer)
Example:
{
"username": "S5P-johndoe",
"password": "$2a$04$nXMQTg2ZMY6k8yDvL5jD2.lthiKrmWZpOVgyu0l7tbm.JKKzyRpQW",
"enabled": true,
"authorities": [ "ROLE_USER" ],
"expirationDate": "2021-12-31",
"passwordExpirationDate": "2020-05-04",
"quota": {
"assigned": 1024,
"used": 205,
"lastAccessDate": "2020-01-17"
}
}
HTTP status code 401
A user attempted to access the data of another user.
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
HTTP status code 404
The requested resource was not found
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
patch /users/{username}
Update a user by name
URI Parameters
- username: required(string)
the user name
Body
Media type: application/json
Type: object
Properties- username: required(string)
The (unique) user name, consisting of the mission code, a hyphen ("-") and the actual cross-mission user name
- password: (string)
The user password (BCrypt-encrypted string; not required for updates)
- enabled: required(boolean - default: true)
Flag indicating whether the user account is enabled.
- authorities: required(array of string)
The authorities granted to this user (filtered by mission)
- expirationDate: (date-only)
The expiration date for the user account (default never)
- passwordExpirationDate: (date-only)
The expiration date for the password (default never)
- quota: (object)
Data download quota for this user (if not set, no quota applies)
- assigned: required(integer)
Monthly data volume allowance in Bytes
- used: required(integer)
Data volume in Bytes used in the last recorded calendar month
- lastAccessDate: required(date-only)
Date of last recorded access (defines the calendar month for "used")
- assigned: required(integer)
Example:
{
"username": "S5P-johndoe",
"password": "$2a$04$nXMQTg2ZMY6k8yDvL5jD2.lthiKrmWZpOVgyu0l7tbm.JKKzyRpQW",
"enabled": true,
"authorities": [ "ROLE_USER" ],
"expirationDate": "2021-12-31",
"passwordExpirationDate": "2020-05-04",
"quota": {
"assigned": 1024,
"used": 205,
"lastAccessDate": "2020-01-17"
}
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- username: required(string)
The (unique) user name, consisting of the mission code, a hyphen ("-") and the actual cross-mission user name
- password: (string)
The user password (BCrypt-encrypted string; not required for updates)
- enabled: required(boolean - default: true)
Flag indicating whether the user account is enabled.
- authorities: required(array of string)
The authorities granted to this user (filtered by mission)
- expirationDate: (date-only)
The expiration date for the user account (default never)
- passwordExpirationDate: (date-only)
The expiration date for the password (default never)
- quota: (object)
Data download quota for this user (if not set, no quota applies)
- assigned: required(integer)
Monthly data volume allowance in Bytes
- used: required(integer)
Data volume in Bytes used in the last recorded calendar month
- lastAccessDate: required(date-only)
Date of last recorded access (defines the calendar month for "used")
- assigned: required(integer)
Example:
{
"username": "S5P-johndoe",
"password": "$2a$04$nXMQTg2ZMY6k8yDvL5jD2.lthiKrmWZpOVgyu0l7tbm.JKKzyRpQW",
"enabled": true,
"authorities": [ "ROLE_USER" ],
"expirationDate": "2021-12-31",
"passwordExpirationDate": "2020-05-04",
"quota": {
"assigned": 1024,
"used": 205,
"lastAccessDate": "2020-01-17"
}
}
HTTP status code 401
A user attempted to access the data of another user.
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
/groups
Get user groups by mission and optionally by group name
Create a new user group
get /groups
Get user groups by mission and optionally by group name
Query Parameters
- mission: required(string)
the mission code
- groupName: (string)
the name of the user group
- recordFrom: (integer)
the first result to return
- recordTo: (integer)
the last result to return
HTTP status code 200
Body
Media type: application/json
Type: array of object
Items: RestGroup
- id: (integer - default: 0)
The persistent id of user group
- groupname: required(string)
The (unique) name of the group, consisting of the mission code, a hyphen ("-") and the actual group name
- authorities: required(array of string)
The authorities granted to this user group (filtered by mission)
Example:
[
{
"id": 430459234,
"groupname": "S5P\\users",
"authorities": [ "ROLE_USER" ]
}
]
HTTP status code 400
The request sent to the server contains data which is not as expected e.g. invalid location URI
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
HTTP status code 404
The requested resource was not found
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
HTTP status code 429
The result list length exceeds a configured maximum.
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
post /groups
Create a new user group
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of user group
- groupname: required(string)
The (unique) name of the group, consisting of the mission code, a hyphen ("-") and the actual group name
- authorities: required(array of string)
The authorities granted to this user group (filtered by mission)
Example:
{
"id": 430459234,
"groupname": "S5P-users",
"authorities": [ "ROLE_USER" ]
}
HTTP status code 201
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of user group
- groupname: required(string)
The (unique) name of the group, consisting of the mission code, a hyphen ("-") and the actual group name
- authorities: required(array of string)
The authorities granted to this user group (filtered by mission)
Example:
{
"id": 430459234,
"groupname": "S5P-users",
"authorities": [ "ROLE_USER" ]
}
HTTP status code 400
The request sent to the server contains data which is not as expected e.g. invalid location URI
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
Count the user groups matching the specified mission
Get a user group by ID
Update a user group by ID
Delete a user group by ID
get /groups/{id}
Get a user group by ID
URI Parameters
- id: required(integer)
the user group ID
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of user group
- groupname: required(string)
The (unique) name of the group, consisting of the mission code, a hyphen ("-") and the actual group name
- authorities: required(array of string)
The authorities granted to this user group (filtered by mission)
Example:
{
"id": 430459234,
"groupname": "S5P-users",
"authorities": [ "ROLE_USER" ]
}
HTTP status code 404
The requested resource was not found
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
patch /groups/{id}
Update a user group by ID
URI Parameters
- id: required(integer)
the user group ID
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of user group
- groupname: required(string)
The (unique) name of the group, consisting of the mission code, a hyphen ("-") and the actual group name
- authorities: required(array of string)
The authorities granted to this user group (filtered by mission)
Example:
{
"id": 430459234,
"groupname": "S5P-users",
"authorities": [ "ROLE_USER" ]
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of user group
- groupname: required(string)
The (unique) name of the group, consisting of the mission code, a hyphen ("-") and the actual group name
- authorities: required(array of string)
The authorities granted to this user group (filtered by mission)
Example:
{
"id": 430459234,
"groupname": "S5P-users",
"authorities": [ "ROLE_USER" ]
}
Get all members of the given user group
Add a member to the given user group
Delete a member from the given user group
get /groups/{id}/members
Get all members of the given user group
URI Parameters
- id: required(integer)
the user group ID
HTTP status code 200
Body
Media type: application/json
Type: array of object
Items: RestUser
- username: required(string)
The (unique) user name, consisting of the mission code, a hyphen ("-") and the actual cross-mission user name
- password: (string)
The user password (BCrypt-encrypted string; not required for updates)
- enabled: required(boolean - default: true)
Flag indicating whether the user account is enabled.
- authorities: required(array of string)
The authorities granted to this user (filtered by mission)
- expirationDate: (date-only)
The expiration date for the user account (default never)
- passwordExpirationDate: (date-only)
The expiration date for the password (default never)
- quota: (object)
Data download quota for this user (if not set, no quota applies)
- assigned: required(integer)
Monthly data volume allowance in Bytes
- used: required(integer)
Data volume in Bytes used in the last recorded calendar month
- lastAccessDate: required(date-only)
Date of last recorded access (defines the calendar month for "used")
- assigned: required(integer)
HTTP status code 404
The group has no members
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
post /groups/{id}/members
Add a member to the given user group
URI Parameters
- id: required(integer)
the user group ID
Query Parameters
- username: required(string)
The name of the user to add
HTTP status code 201
Body
Media type: application/json
Type: array of object
Items: RestUser
- username: required(string)
The (unique) user name, consisting of the mission code, a hyphen ("-") and the actual cross-mission user name
- password: (string)
The user password (BCrypt-encrypted string; not required for updates)
- enabled: required(boolean - default: true)
Flag indicating whether the user account is enabled.
- authorities: required(array of string)
The authorities granted to this user (filtered by mission)
- expirationDate: (date-only)
The expiration date for the user account (default never)
- passwordExpirationDate: (date-only)
The expiration date for the password (default never)
- quota: (object)
Data download quota for this user (if not set, no quota applies)
- assigned: required(integer)
Monthly data volume allowance in Bytes
- used: required(integer)
Data volume in Bytes used in the last recorded calendar month
- lastAccessDate: required(date-only)
Date of last recorded access (defines the calendar month for "used")
- assigned: required(integer)
HTTP status code 304
No modification occurred, as the input and database data were equal
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'
HTTP status code 404
No entity with the given ID exists.
Headers
- Warning: required(string - pattern: ^\d{3} proseo-user-mgr \([EW]\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-user-mgr (E4711) User 'johndoe' not authorized for mission 'S5P'