REST endpoints: Users and permissions
REST
These endpoints:endpoints mirror the CLI commands described in Users, Permission policies. Each endpoint runs the CLI command named under its heading, so the behavior, defaults, and permissionsrestrictions are the same; this page lists how to call it over REST.
Conventions that apply to every endpoint (request format, the async and outputType parameters, and the response envelope) are in Requests and responses. In the tables below, Required is Yes when the parameter must always be supplied, No when it is optional, and Depends when it is required only in some combinations (for example, either an application and volume, or a consistency group ID); the CLI chapter for the same command explains the combinations.
POST /users/create
Create a user that can view and manage S1.
CLI command: users create
Body fields (JSON)
Name
string
Yes
The username for the new user.
Password
string
Yes
The password for the new user.
PasswordValidation
string
Yes
Re-enter the password to confirm (avoids typos).
Role
string
Depends
The user's basic permission role.
PermissionPolicies
array of string
Depends
Assign advanced permission policies to the user.
Email
string
Yes
The user's email address.
EnabledMultiFactorAuthentication
boolean
No
Enable multi-factor authentication.
Force
boolean
No
Skip the confirmation prompt if the selected permission policies conflict with existing command rules.
DELETE /users/delete
Delete a user.
CLI command: users delete
Query parameters
name
string
Yes
The username to delete.
force
boolean
No
Skip the confirmation prompt.
PUT /users/edit
Edit a user.
CLI command: users edit
Query parameters
name
string
Yes
The user to modify.
Body fields (JSON)
Role
string
No
The user's new basic permission role.
PermissionPolicies
array of string
No
Assign advanced permission policies to the user.
OldPassword
string
No
Your current password, required only when changing your own password.
Password
string
No
The new password.
PasswordValidation
string
No
Provide the new password again for validation (to avoid typos).
Email
string
No
The user's new email address.
EnabledMultiFactorAuthentication
boolean
No
Enable multi-factor authentication. In REST one field covers a pair of CLI flags: true applies --enabledMultiFactorAuthentication, false applies --disabledMultiFactorAuthentication, and omitting the field applies neither.
Force
boolean
No
Skip the confirmation prompt if the selected permission policies conflict with existing command rules.
POST /users/ldap/authenticate
Authenticate to the LDAP server and start a session used by other LDAP commands.
CLI command: users ldap authenticate
Body fields (JSON)
User_principal_name
string
Yes
LDAP UPN (user principal name).
Password
string
Yes
LDAP password.
POST /users/ldap/link
Link an LDAP user so it can view and manage S1.
CLI command: users ldap link
Body fields (JSON)
Name
string
Yes
The LDAP username to link.
Role
string
Depends
The user's basic permission role.
PermissionPolicies
array of string
Depends
Assign advanced permission policies to the user.
Email
string
Yes
The user's email address.
EnabledMultiFactorAuthentication
boolean
No
Enable multi-factor authentication.
Force
boolean
No
Skip the confirmation prompt if the selected permission policies conflict with existing command rules.
GET /users/ldap/list
View LDAP users.
CLI command: users ldap list
Query parameters
filter
string
Yes
Show only LDAP users whose account names match this partial account name.
Response: a list of LdapUserElement objects in Result, each with: Name (string), DisplayName (string).
GET /users/list
List available users.
CLI command: users list
Query parameters
permissionPolicies
array of string
No
Filter by assigned permission policies.
Response: a list of UserElement objects in Result, each with: Name (string), OldPassword (string), Password (string), PasswordValidation (string), AccountType (UserData.UserType), PermissionPolicies (array of string), Email (string), EnabledMultiFactorAuthentication (boolean), Role (string), Force (boolean).
POST /users/permission_policy/create
Create a permission policy.
CLI command: users permission_policy create
Body fields (JSON)
Name
string
Yes
The name of the permission policy.
AllowedOperationTypes
array of string
Yes
Allowed operations on the specified entity types.
AllowedEntityTypes
array of string
No
The entity types this policy manages.
AdditionalCommands
array of string
No
Explicitly allow these additional commands.
BlockedCommands
array of string
No
Explicitly blocked commands.
DELETE /users/permission_policy/delete
Delete a permission policy.
CLI command: users permission_policy delete
Query parameters
name
string
Yes
The name of the permission policy to delete.
force
boolean
No
Skip the confirmation prompt.
PUT /users/permission_policy/edit
Edit a permission policy.
CLI command: users permission_policy edit
Query parameters
name
string
Yes
The name of the permission policy to modify.
Body fields (JSON)
Name
string
Yes
The name of the permission policy to modify.
AllowedOperationTypes
array of string
No
Allowed operations on the specified entity types.
AllowedEntityTypes
array of string
No
The entity types this policy manages.
AdditionalCommands
array of string
No
Explicitly allow these additional commands.
BlockedCommands
array of string
No
Explicitly blocked commands.
Force
boolean
No
Skip the confirmation prompt. Editing resets all of the policy's previous settings to the new values.
GET /users/permission_policy/list
List permission policies.
CLI command: users permission_policy list
Query parameters
name
string
No
Filter by permission policy name.
operationTypes
array of string
No
Filter by allowed operation types.
entityTypes
array of string
No
Filter by managed entity type.
commands
array of string
No
Filter by specific allowed commands.
showCommands
boolean
No
Show the allowed commands for the policies.
Response: a list of PermissionPolicyElement objects in Result.PermissionPolicyElement, each with: Name (string), AllowedOperationTypes (array of string), AllowedEntityTypes (array of string), AdditionalCommands (array of string), BlockedCommands (array of string), ExposedCommands (array of string), Force (boolean).
See also: Requests and responses - Authentication - Examples