Skip to main content

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 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

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