REST API - POST User

This operation creates a user.

Request

Syntax

POST <webservice>/User HTTP/1.1 Host: <host name> Accept: application/xml Authtoken: <authentication token> Content-type: application/xml <create_user_template.xml>

where <webservice> is the root path used to route the API requests to the Web Server.

For more information, see Available Web Services for REST API.

Request Header

Name

Description

Host

The host name of the Web Server or Web Console used in the API request.

Accept

The format of the response. Valid values are: application/xml or application/json.

Authtoken

The authentication token received after successfully logging on. For details on receiving an authentication token, see Authentication.

Content-type

The media type contained in the request body.

Request Body

Download the create_user_template.xml file required for this request. The following table displays the parameters for the create_user_template.xml file.

Parameter

Description

Element

userName

The name of the user.

userEntity

associationsOperationType

The operation to perform on the role and entities inside the <associations> block. The entity, role, and user form a security association. To perform an operation on multiple security associations, add an <associations> block in the XML file for each security association:

<associations>
   <entities>
     <entity>
       <entity_name></entity_name>
     </entity>
   </entities>
   <properties>
     <role>
       <roleName></roleName>
     </role>
   </properties>
</associations>

Valid values are:

  • ADD, to create a new security association between the entity, role, and user

  • OVERWRITE, to overwrite existing security associations with new security associations

  • DELETE, to delete one or more security associations

securityAssociations

entity name

Replace entity_name with the name of the entity operated on by the associationsOperationType parameter.

Valid replacement values are:

  • clientGroupName

  • clientName

  • appName

  • backupsetName

  • subclientName

  • userName

  • userGroupName

  • providerDomainName

  • mediaAgentName

  • libraryName

  • containerName

  • locationName

  • shelfName

  • storagePolicyName

  • schedulePolicyName

  • trackingPolicyName

    To include multiple entities in a security association, add the following elements in the XML file for each entity:

    <entity> <entity_name>entity_value</entity_name> </entity>

    Examples

    To associate two libraries, enter the following in the XML file:

    <entities>
       <entity>
         <libraryName>library_001</libraryName>
       </entity>
       <entity>
         <libraryName>library_022</libraryName>
       </entity>
    </entities>

    To associate a domain, enter the following in the XML file:

    <entities>
       <entity>
         <providerDomainName>mydomain</providerDomainName>
       </entity>
    </entities>

    To associate a file system and a MySQL agent, enter the following in the XML file:

    <entities>
       <entity>
         <appName>File System</appName>
       </entity>
     </entities>
     <entities>
       <entity>
         <appName>MySQL</appName>
       </entity>
    </entities>

Tip

For a list of valid values for the <appName> element, see GET Agent: appName.

entity

roleName

The name of the role operated on by the associationsOperationType parameter. The <associations> block must have exactly one role, for example:

<associations>
   <properties>
     <role>
       <roleName>Role3</roleName>
     </role>
   </properties>
 ...
 ...
</associations>

role

permissionName

Use this element to add permissions without selecting a role. If you use the permissionName parameter, you cannot use the roleName parameter.

The name of the permission operated on by the associationsOperationType parameter. To work with multiple permissions, add the following elements in the XML file for each permission:

<categoriesPermissionList permissionName = ""/>

For a list of valid values, see User Security Permissions and Permitted Actions.

categoriesPermissionList

categoryName

Use this element to add all of the permissions in a category without selecting a role. If you use the categoryName parameter, you cannot use the roleName parameter.

The name of the permission category operated on by the associationsOperationType parameter. To work with multiple categories, add the following elements in the XML file for each category:

<categoriesPermissionList categoryName = ""/>

Valid values are:

Access Policies

Features

Alert

Global

Analytics

Monitoring Policy

Billing

Plan

Client

Schedule Policy

Client Group

Storage Management

CommCell

Storage Provisioning

Content Director

Subclient Policy

Custom Property

User Management

Developer Tools

VM Operations

categoriesPermissionList

enableUser

The option to enable/disable the user.

Valid values are True/False.

users

agePasswordDays

The number of days to keep the password active.

users

email

The email address of the user.

users

password

The password of the user to access the user account.

The password must be in plain text in XML request and Base64 encoded in JSON request.

users

fullName

The full name of the user.

users

description

A general description of the user account.

users

userGroupName

The name of the user group associated with the user. To associate a user with more than one user group, add the following line in the XML file:

<userGroupName>user_group</userGroupName>

associatedUserGroups

Response

Response Parameters

Parameter

Description

Element

errorCode

The possible error codes.

Valid values are:

  • 0, successful completion.

  • 2, a failure.

  • a specific error code.

response

errorString

The description of the error code. Not all error codes have an error string.

response

errorMessage

The description of the error code. Not all error codes have an error message.

response

userId

The system-generated ID assigned to the user.

entity

userName

The name of the user.

entity

Examples

Sample Request

This request uses a Base64 encoded password.

POST <webservice>/User HTTP/1.1
Host: client.mydomain.com
Accept: application/xml
Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
Content-type: application/xml
 <App_CreateUserRequest>
     <users>
         <userEntity>
             <userName>jdoe</userName>
         </userEntity>
         <enableUser>True</enableUser>
         <agePasswordDays>10</agePasswordDays>
         <email>jdoe@company.com</email>
         <password>UDl1NDU4OQ==</password>
         <fullName>Jane Doe</fullName>
         <description>backup admin user</description>
         <associatedUserGroups>
             <userGroupName>View All</userGroupName>
         </associatedUserGroups>
     </users>
 </App_CreateUserRequest>

Sample Response

This is the response when the user is created.

<App_CreateUserResponse>
   <processinginstructioninfo>
     <attributes name="exitval" value="0"/>
   </processinginstructioninfo>
   <response errorCode="0" errorString="Successful">
     <entity userId="4" userName="jdoe"/>
   </response>
</App_CreateUserResponse>

This is the response when the user already exists.

<Api_GenericResp errorMessage="User [jdoe] already exists." errorCode="1" />

Loading...