Practice Exercise: Save User
This is the fourth in a series of practice exercises to help you become familiar with Cherwell's REST API Discovery Tool. We highly recommend that you complete the following exercises before you begin:
In this exercise, you will use a Model Schema to build a complex request parameter, which will be passed into the API call in order to create a new User.
- Log into the REST API Discovery Tool. See Opening the REST API Discovery Tool.
- Click the Users heading to expand the list of operations.
- Click /api/V2/saveuser to expand the operation's details.
- Set the contents of the request Value field to match the model schema.
- Set the value for accountLocked to false.
-
Get the Business Object ID for UserInfo.
For the procedure to get a Business Object ID, see Practice Exercise: Get Business Object Schema.
- Set the value for busObId to the Business Object ID for UserInfo
- Delete the key-value pairs for busObPublicId and busObRecId from the JSON code. These values are not required for the creation of a new User.
- Set the value for displayName to Test User.
- Set the value for ldapRequired to false.
- Set the value for loginId to Test.
- Set the value for nextPasswordResetDate to null.
- Set the value for password to P@ssword. Ensure this value meets the password complexity requirements set in CSM.
- Ensure the value for passwordNeverExpires is set to true.
-
Set the value for securityGroupId to the Security Group ID for the
User's Security Group. For this exercise, choose any Security Group.
Call api/V2/getsecuritygroups to see a list of Security Groups and their IDs.
- Ensure the value for userCannotChangePassword is set to true.
-
Set the values for userInfoFields. Call
/api/V1/getbusinessobjectschema/busobid/{busobid}
to get the schema for the UserInfo Business Object. For each field:
-
Ensure the value for dirty is set to
true.
This setting must be enabled for each field in order to save the field values.
- Set the value for displayName to the Display Name.
- Set the value for fieldId to the Field ID.
- Set the value for name to the Name.
- Set the value for the field.
-
Ensure the value for dirty is set to
true.
- Set the value for userMustChangePasswordAtNextLogin to false.
-
Delete the key-value pair for windowsUserId. You are creating a
Cherwell User, so this value is unnecessary. See the example below of the full
request body:
{ "accountLocked": false, "busObId": "9338216b3c549b75607cf54667a4e67d1f644d9fed", "displayName": "Test User", "ldapRequired": false, "loginId": "Test", "nextPasswordResetDate": "null", "password": "P@ssword", "passwordNeverExpires": true, "securityGroupId": "93d5aa70c8893014a2b7dc4733953c6185777e92bf", "userCannotChangePassword": true, "userInfoFields": [ { "dirty": true, "displayName": "Full Name", "fieldId": "BO:9338216b3c549b75607cf54667a4e67d1f644d9fed,FI:93382178280a07634f62d74fc4bc587e3b3f479776", "name": "FullName", "value": "Test User" }, { "dirty": true, "displayName": "Email", "fieldId": "BO:9338216b3c549b75607cf54667a4e67d1f644d9fed,FI:933821793f43a638cf23e34723b907956d324ad303", "name": "Email", "value": "user@domain.com" } ], "userMustChangePasswordAtNextLogin": false, }
-
Click
Try it out!
Pay attention to the HTTP response codes you receive, and troubleshoot as appropriate:
200 Indicates a successful call. 400 Indicates a bad request due to missing parameters or incorrect formatting. 402 Indicates a failed call. The request body is formatted correctly, but the system is unable to execute the request. 404 Indicates a failed call due to a nonexistent URL. - Optional: Try adding or updating field values for the User you just created.
Parent topic: Practice Using the REST API Discovery Tool