For each call, you can add the following command:
-w"\n%{http_code}\n"
After the username and password in order to receive more meaningful HTTP errors.
View All User Management REST APIRequest method - OPTIONS
Description Returns an HTTP response in JSON representation with all information on available REST APIs for user management. Use this representation to understand the different commands you can execute for user management. Each REST API listed contains the path, method, and required parameters. You can use the REST APIs in this representation to change what is returned for the other calls in user management.
URI syntax curl -u '<username>:<password>' -X OPTIONS http://<Datameer-serverIP>:<port-number>/rest/user-management?pretty
Example response Click here to expand...
[
{
"addInternalGroup": {
"path": "/rest/user-management/groups",
"method": "POST",
"params": [],
"fields": [
{
"name": "name",
"required": true,
"type": {
"name": "text",
"min": 1,
"max": 255
}
}
]
},
"datameerVersion": "6.0.0"
},
{
"deleteInternalGroup": {
"path": "/rest/user-management/groups/{name}",
"pathVariables": [
"name"
],
"method": "DELETE",
"params": [],
"fields": []
},
"datameerVersion": "6.0.0"
},
{
"findInternalGroups": {
"path": "/rest/user-management/groups",
"method": "GET",
"params": [
{
"name": "firstResult",
"required": false
},
{
"name": "maxResults",
"required": false
},
{
"name": "sortBy",
"required": false
},
{
"name": "sortDir",
"required": false
},
{
"name": "fields",
"required": false
},
{
"name": "pretty",
"required": false
}
],
"fields": [
{
"name": "name",
"sortable": true
}
]
},
"datameerVersion": "6.0.0"
},
{
"updateInternalGroup": {
"path": "/rest/user-management/groups/{name}",
"pathVariables": [
"name"
],
"method": "PUT",
"params": [],
"fields": [
{
"name": "name",
"required": true,
"type": {
"name": "text",
"min": 1,
"max": 255
}
}
]
},
"datameerVersion": "6.0.0"
},
{
"modifyInternalGroups": {
"path": "/rest/user-management/groups",
"method": "PUT",
"params": [],
"fields": [
{
"name": "affectedGroup",
"required": true,
"type": {
"name": "text",
"min": 1,
"max": 255
}
},
{
"name": "delete",
"required": false,
"type": {
"name": "boolean"
}
}
]
},
"datameerVersion": "6.0.0"
},
{
"addRole": {
"path": "/rest/user-management/roles",
"method": "POST",
"params": [],
"fields": [
{
"name": "name",
"required": true,
"type": {
"name": "text",
"min": 1,
"max": 255
}
},
{
"name": "capabilities",
"required": true,
"type": {
"name": "list",
"min": 1,
"max": 2147483647
}
}
]
},
"datameerVersion": "6.0.0"
},
{
"deleteRole": {
"path": "/rest/user-management/roles/{name}",
"pathVariables": [
"name"
],
"method": "DELETE",
"params": [],
"fields": []
},
"datameerVersion": "6.0.0"
},
{
"findRoles": {
"path": "/rest/user-management/roles",
"method": "GET",
"params": [
{
"name": "firstResult",
"required": false
},
{
"name": "maxResults",
"required": false
},
{
"name": "sortBy",
"required": false
},
{
"name": "sortDir",
"required": false
},
{
"name": "term",
"required": false
},
{
"name": "fields",
"required": false
},
{
"name": "pretty",
"required": false
}
],
"fields": [
{
"name": "capabilities",
"sortable": false
},
{
"name": "name",
"sortable": true
}
]
},
"datameerVersion": "6.0.0"
},
{
"updateRole": {
"path": "/rest/user-management/roles/{name}",
"pathVariables": [
"name"
],
"method": "PUT",
"params": [],
"fields": [
{
"name": "name",
"required": false,
"type": {
"name": "text",
"min": 1,
"max": 255
}
},
{
"name": "capabilities",
"required": false,
"type": {
"name": "list",
"min": 1,
"max": 2147483647
}
}
]
},
"datameerVersion": "6.0.0"
},
{
"addInternalUser": {
"path": "/rest/user-management/users",
"method": "POST",
"params": [
{
"name": "notifyPerMail",
"required": false
}
],
"fields": [
{
"name": "username",
"required": true,
"type": {
"name": "text",
"min": 1,
"max": 255,
"regex": "/^[\\p{L}\\d_\\.+@~\\-\\(\\)]+(([ ]+[\\p{L}\\d_\\.+@~\\-\\(\\)]+)+)?$/"
}
},
{
"name": "email",
"required": true,
"type": {
"name": "email"
}
},
{
"name": "roles",
"required": true,
"type": {
"name": "list",
"min": 1,
"max": 2147483647
}
},
{
"name": "additionalInformation",
"required": false,
"type": {
"name": "text",
"min": 0,
"max": 4096
}
},
{
"name": "enabled",
"required": false,
"type": {
"name": "boolean"
}
},
{
"name": "expires",
"required": false,
"type": {
"name": "text",
"min": 1,
"max": 255,
"regex": "/\\d{4}-\\d{2}-\\d{2}/"
}
},
{
"name": "groups",
"required": false,
"type": {
"name": "list",
"min": 0,
"max": 2147483647
}
}
]
},
"datameerVersion": "6.0.0"
},
{
"deleteInternalUser": {
"path": "/rest/user-management/users/{username}",
"pathVariables": [
"username"
],
"method": "DELETE",
"params": [],
"fields": []
},
"datameerVersion": "6.0.0"
},
{
"findInternalUsers": {
"path": "/rest/user-management/users",
"method": "GET",
"params": [
{
"name": "firstResult",
"required": false
},
{
"name": "maxResults",
"required": false
},
{
"name": "sortBy",
"required": false
},
{
"name": "sortDir",
"required": false
},
{
"name": "term",
"required": false
},
{
"name": "fields",
"required": false
},
{
"name": "pretty",
"required": false
},
{
"name": "role",
"required": false
}
],
"fields": [
{
"name": "additionalInformation",
"sortable": false
},
{
"name": "email",
"sortable": true
},
{
"name": "enabled",
"sortable": true
},
{
"name": "expires",
"sortable": true
},
{
"name": "groups",
"sortable": false
},
{
"name": "roles",
"sortable": false
},
{
"name": "username",
"sortable": true
},
{
"name": "lastLoginDate",
"sortable": true
},
{
"name": "loginCount",
"sortable": true
}
]
},
"datameerVersion": "6.0.0"
},
{
"findInternalUserByName": {
"path": "/rest/user-management/users/{username}",
"pathVariables": [
"username"
],
"method": "GET",
"params": [],
"fields": [
{
"name": "additionalInformation",
"sortable": false
},
{
"name": "email",
"sortable": true
},
{
"name": "enabled",
"sortable": true
},
{
"name": "expires",
"sortable": true
},
{
"name": "groups",
"sortable": false
},
{
"name": "roles",
"sortable": false
},
{
"name": "username",
"sortable": true
},
{
"name": "lastLoginDate",
"sortable": true
},
{
"name": "loginCount",
"sortable": true
}
]
},
"datameerVersion": "6.0.0"
},
{
"updateInternalUserPassword": {
"path": "/rest/user-management/password/{username}",
"pathVariables": [
"username"
],
"method": "PUT",
"params": [
{
"name": "notifyPerMail",
"required": false
}
],
"fields": []
},
"datameerVersion": "6.0.0"
},
{
"updateInternalUser": {
"path": "/rest/user-management/users/{username}",
"pathVariables": [
"username"
],
"method": "PUT",
"params": [
{
"name": "notifyPerMail",
"required": false
}
],
"fields": [
{
"name": "email",
"required": false,
"type": {
"name": "email"
}
},
{
"name": "additionalInformation",
"required": false,
"type": {
"name": "text",
"min": 0,
"max": 4096
}
},
{
"name": "enabled",
"required": false,
"type": {
"name": "boolean"
}
},
{
"name": "expires",
"required": false,
"type": {
"name": "text",
"min": 1,
"max": 255,
"regex": "/\\d{4}-\\d{2}-\\d{2}/"
}
},
{
"name": "groups",
"required": false,
"type": {
"name": "list",
"min": 0,
"max": 2147483647
}
},
{
"name": "roles",
"required": false,
"type": {
"name": "list",
"min": 1,
"max": 2147483647
}
}
]
},
"datameerVersion": "6.0.0"
},
{
"updateInternalUsers": {
"path": "/rest/user-management/users",
"method": "PUT",
"params": [],
"fields": [
{
"name": "affectedUser",
"required": true,
"type": {
"name": "text",
"min": 1,
"max": 255,
"regex": "/^[\\p{L}\\d_\\.+@~\\-\\(\\)]+(([ ]+[\\p{L}\\d_\\.+@~\\-\\(\\)]+)+)?$/"
}
},
{
"name": "additionalInformation",
"required": false,
"type": {
"name": "text",
"min": 0,
"max": 4096
}
},
{
"name": "delete",
"required": false,
"type": {
"name": "boolean"
}
},
{
"name": "email",
"required": false,
"type": {
"name": "email"
}
},
{
"name": "enabled",
"required": false,
"type": {
"name": "boolean"
}
},
{
"name": "expires",
"required": false,
"type": {
"name": "text",
"min": 1,
"max": 255,
"regex": "/\\d{4}-\\d{2}-\\d{2}/"
}
},
{
"name": "groups",
"required": false,
"type": {
"name": "list",
"min": 0,
"max": 2147483647
}
},
{
"name": "roles",
"required": false,
"type": {
"name": "list",
"min": 1,
"max": 2147483647
}
}
]
},
"datameerVersion": "6.0.0"
},
{
"findAuthenticableUsers": {
"path": "/rest/user-management/authenticable-users",
"method": "GET",
"params": [
{
"name": "firstResult",
"required": false
},
{
"name": "maxResults",
"required": false
},
{
"name": "sortBy",
"required": false
},
{
"name": "sortDir",
"required": false
},
{
"name": "term",
"required": false
},
{
"name": "role",
"required": false
},
{
"name": "fields",
"required": false
},
{
"name": "pretty",
"required": false
}
],
"fields": [
{
"name": "additionalInformation",
"sortable": false
},
{
"name": "email",
"sortable": true
},
{
"name": "enabled",
"sortable": true
},
{
"name": "expires",
"sortable": true
},
{
"name": "groups",
"sortable": false
},
{
"name": "roles",
"sortable": false
},
{
"name": "username",
"sortable": true
}
]
},
"datameerVersion": "6.0.0"
},
{
"findShareableGroups": {
"path": "/rest/user-management/shareable-groups",
"method": "GET",
"params": [
{
"name": "firstResult",
"required": false
},
{
"name": "maxResults",
"required": false
},
{
"name": "sortBy",
"required": false
},
{
"name": "sortDir",
"required": false
},
{
"name": "term",
"required": false
},
{
"name": "fields",
"required": false
},
{
"name": "pretty",
"required": false
}
],
"fields": [
{
"name": "name",
"sortable": true
}
]
},
"datameerVersion": "6.0.0"
},
{
"findAvailableUsers": {
"path": "/rest/user-management/available-users",
"method": "GET",
"params": [
{
"name": "group",
"required": false
},
{
"name": "firstResult",
"required": false
},
{
"name": "maxResults",
"required": false
},
{
"name": "sortBy",
"required": false
},
{
"name": "sortDir",
"required": false
},
{
"name": "term",
"required": false
},
{
"name": "fields",
"required": false
},
{
"name": "pretty",
"required": false
}
],
"fields": [
{
"name": "additionalInformation",
"sortable": false
},
{
"name": "email",
"sortable": true
},
{
"name": "enabled",
"sortable": true
},
{
"name": "expires",
"sortable": true
},
{
"name": "groups",
"sortable": false
},
{
"name": "roles",
"sortable": false
},
{
"name": "username",
"sortable": true
},
{
"name": "lastLoginDate",
"sortable": true
},
{
"name": "loginCount",
"sortable": true
}
]
},
"datameerVersion": "6.0.0"
},
{
"findAuthenticatorUsers": {
"path": "/rest/user-management/authenticator/users",
"method": "GET",
"params": [
{
"name": "firstResult",
"required": false
},
{
"name": "maxResults",
"required": false
},
{
"name": "sortBy",
"required": false
},
{
"name": "sortDir",
"required": false
},
{
"name": "term",
"required": false
},
{
"name": "fields",
"required": false
},
{
"name": "pretty",
"required": false
},
{
"name": "role",
"required": false
}
],
"fields": [
{
"name": "additionalInformation",
"sortable": false
},
{
"name": "authenticableGroups",
"sortable": false
},
{
"name": "email",
"sortable": true
},
{
"name": "enabled",
"sortable": true
},
{
"name": "expires",
"sortable": true
},
{
"name": "groups",
"sortable": false
},
{
"name": "importedUser",
"sortable": false
},
{
"name": "roles",
"sortable": false
},
{
"name": "username",
"sortable": true
}
]
},
"datameerVersion": "6.0.0"
},
{
"findAuthenticatorUserByName": {
"path": "/rest/user-management/authenticator/users/{username}",
"pathVariables": [
"username"
],
"method": "GET",
"params": [],
"fields": [
{
"name": "additionalInformation",
"sortable": false
},
{
"name": "authenticableGroups",
"sortable": false
},
{
"name": "email",
"sortable": true
},
{
"name": "enabled",
"sortable": true
},
{
"name": "expires",
"sortable": true
},
{
"name": "groups",
"sortable": false
},
{
"name": "importedUser",
"sortable": false
},
{
"name": "roles",
"sortable": false
},
{
"name": "username",
"sortable": true
}
]
},
"datameerVersion": "6.0.0"
},
{
"overrideOwnEmailAndPassword": {
"path": "/rest/user-management/logged-in-user",
"method": "PUT",
"params": [],
"fields": [
{
"name": "email",
"required": false,
"type": {
"name": "email"
}
},
{
"name": "currentPassword",
"required": false,
"type": {
"name": "text",
"min": 1,
"max": 255,
"regex": "/[^\\s]+/m"
}
},
{
"name": "newPassword",
"required": false,
"type": {
"name": "text",
"min": 1,
"max": 255,
"regex": "/[^\\s]+/m"
}
}
]
},
"datameerVersion": "6.0.0"
},
{
"findCapabilities": {
"path": "/rest/user-management/capabilities",
"method": "GET",
"params": [
{
"name": "pretty",
"required": false
}
],
"fields": []
},
"datameerVersion": "6.0.0"
},
{
"loggedInUser": {
"path": "/rest/user-management/logged-in-user",
"method": "GET",
"params": [
{
"name": "pretty",
"required": false
}
],
"fields": []
},
"datameerVersion": "6.0.0"
} List All GroupsRequest method - GET
Description Returns a list of all the created group names in Datameer.
URI syntax curl -u '<username>:<password>' -X GET http://<Datameer-serverIP>:<port-number>/rest/user-management/groups
Example response {
"name": "datameer"
},
{
"name": "group 1"
},
{
"name": "group 2"
},
{
"name": "group 3"
},
{
"name": "Shark Team"
},
{
"name": "Special Team"
} List All RolesRequest method - GET
Description Returns a list of all the created role names in Datameer.
URI syntax curl -u '<username>:<password>' -X GET http://<Datameer-serverIP>:<port-number>/rest/user-management/roles
Example response {
"name": "ADMIN"
},
{
"name": "ANALYST"
},
{
"name": "App Operator"
},
{
"name": "News"
},
{
"name": "Illustrator"
},
{
"name": "ANALYST2"
},
{
"name": "ANALYST3"
},
{
"name": "VARIABLES_EDIT"
},
{
"name": "VARIABLES_READ"
} List All UsersRequest method - GET
Description Returns a list of all the users and their information including Datameer version, user name, email address, active/inactive, expiration date, group(s), and role(s). The information you see is configurable as per View all user management REST API . You can also return the information for a specified user.
URI syntax One user:
curl -u '<username>:<password>' -X GET http://<Datameer-serverIP>:<port-number>/rest/user-management/users/<user name>
First page of (ten) users:
curl -u '<username>:<password>' -X GET http://<Datameer-serverIP>:<port-number>/rest/user-management/users/
To see the next page of users:
curl -u '<username>:<password>' -X GET http://<Datameer-serverIP>:<port-number>/rest/user-management/users?firstResult=11
To increase the number of users per page, change the results value:
curl -u '<username>:<password>' -X GET http://<Datameer-serverIP>:<port-number>/rest/user-management/users?maxResults=50
Example response One user:
{
"username": "Frank",
"email": "Frank@email.com",
"additionalInformation": "",
"enabled": true,
"expires": "",
"groups": [],
"roles": ["ANALYST"],
"lastLoginDate": "",
"loginCount": 0,
"datameerVersion":"5.11.0"
} All users:
{
"firstResult": 0,
"maxResults": 10,
"total": 3,
"elements": [
{
"username": "admin",
"_links": {
"self": {
"href": "/rest/user-management/users/admin"
},
"delete": {
"method": "DELETE",
"permitted": false,
"href": "/rest/user-management/users/admin"
},
"modify": {
"method": "PUT",
"permitted": true,
"href": "/rest/user-management/users/admin"
}
}
},
{
"username": "analyst",
"_links": {
"self": {
"href": "/rest/user-management/users/analyst"
},
"delete": {
"method": "DELETE",
"permitted": true,
"href": "/rest/user-management/users/analyst"
},
"modify": {
"method": "PUT",
"permitted": true,
"href": "/rest/user-management/users/analyst"
}
}
},
{
"username": "colin",
"_links": {
"self": {
"href": "/rest/user-management/users/colin"
},
"delete": {
"method": "DELETE",
"permitted": true,
"href": "/rest/user-management/users/colin"
},
"modify": {
"method": "PUT",
"permitted": true,
"href": "/rest/user-management/users/colin"
}
}
}
],
"datameerVersion": "5.11.0"
} Logged In User Account InformationRequest method - GET
Description Returns account information about a specific Datameer user.
URI syntax curl -u '<username>:<password>' -X GET http://<Datameer-serverIP>:<port-number>/rest/user-management/logged-in-user?pretty
Example response {
"username": "admin",
"email": "admin@localhost",
"additionalInformation": "",
"enabled": true,
"expires": "",
"groups": [IT-Dept.],
"roles": ["ADMIN"],
"capabilities": ["HADOOP_CLUSTER_ACCESS","EXPORTJOB_EDIT"],
"internal": false,
"lastLoginDate": "",
"loginCount": 0
}
Returns capabilities of a user as defined in User Roles .
Create a UserRequest method - POST
Description Creates an internal user in Datameer.
URI syntax curl -u '<username>:<password>' -d '{username:"<user name>", email:"<user's email address>", roles : [<role>]}' -X POST http://<Datameer-serverIP>:<port-number>/rest/user-management/users
Example response {
"version": "3.1",
"username": "Robert",
"email": "Robert@email.com",
"enabled": true,
"expires": "",
"groups": [],
"roles": [
"ANALYST"
]
}