REST endpoints: Users and permissions
These 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 restrictions 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 | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | The user to modify. |
Body fields (JSON)
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | The name of the permission policy to modify. |
Body fields (JSON)
| Name | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
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
No comments to display
No comments to display