User APIs

The User APIs are used in the log in, log out, user setup and migration features.

Summary

API Purpose Usage in Izenda Front-end
GET user/all/(tenant_id)

Returns an array of users, filtered by tenant_id if available.

Deprecated, please use POST user/all to avoid timeouts loading large data.

Settings menu > User Setup
POST user/all Returns an array of users by tenant. Settings menu > User Setup
POST user/load Returns an array of users for Report Access or Schedule, with paging. Report Designer > Schedule > Add Schedule > select Recipient(s)
Report Designer > Access > Add Sharing > Share With > User > select
POST user/login Performs login. Login page
POST user/logout Performs logout. User section in page header > Sign Out
POST user

Saves a user.

Note

To set up a user with password, this API is only the first step. See Add Internal User for the guide.

Settings menu > User Setup > Add User > Save
POST user/userProfile Saves a user profile. not used
POST user/passwordProfile Saves a password profile. not used
POST user/securityQuesitions

Saves security questions for a user.

Note

Will be renamed to securityQuestions

User section in page header > My Profile > Security Options > Change Security Options > Save
POST user/password

Saves password for a user.

Note

Obsolete, use POST user/passwordAndSecurityQuestion instead

Not used
POST user/active Activates a user. Settings menu > User Setup > Activate link
POST user/deactive Deactivates a user. Settings menu > User Setup > Deactivate link
DELETE user/{user_id} Deletes a user. Settings menu > User Setup > Delete link
POST user/passwordAndSecurityQuestion Saves a user password and security question. Password Link page > Save
GET user/securityQuestion/{user_name}/(tenant_display_id) Returns security question for a user and tenant. User section in page header > My Profile > Security Options
POST user/generatePasswordLink Generates password link. Settings menu > User Setup > Configure Password Option > Generate Password Link
POST user/validatePasswordLink Validates password link. Not used
POST user/validateSecurityQuestion Validates security questions. Not used
POST user/validateUserInfo Validates user information. Not used
POST user/validateExpirationPasswordLink Validates password expiration link. When user opens password link
POST user/sendPasswordLink Sends password link via email to user. Settings menu > User Setup > Configure Password Option > Generate Password Link > Send password link in email
POST user/integration/saveUser

Adds or updates external user.

Changed in version 1.25: Used to be named “intergration”

Not used
POST user/validateUserRoleAssociation Validates user and role association after some roles are removed. Settings menu > User Setup > remove a role > Save
POST user/allowedSharingUsers/(tenant_id) Returns a list of users allowed to be selected in report/dashboard access. Report Designer > Access > Add Sharing
GET user/isLastSystemAdmin Checks if the number of not deleted system admins equals 1. Settings menu > User Setup > delete a system admin
POST external/user

Add or update external user.

New in version 2.6.16.

To be updated

GET user/all/(tenant_id)

Returns an array of users, filtered by tenant_id if available.

Request

No payload

Response

An array of UserDetail objects

Samples

GET /api/user/all HTTP/1.1
Sample Response:
[
   {
      "password": null,
      "roles": [],
      "userRoles": null,
      "userSecurityQuestions": null,
      "status": 1,
      "issueDate": "0001-01-01T00:00:00",
      "autoLogin": false,
      "newPassword": null,
      "userName": "johndoe@system.com",
      "emailAddress": "johndoe@system.com",
      "firstName": "John",
      "lastName": "Doe",
      "tenantId": "b5b3a5cc-9e55-424c-ae85-ba92ec3b934e",
      "tenantDisplayId": null,
      "tenantName": null,
      "dataOffset": null,
      "timestampOffset": null,
      "initPassword": false,
      "active": true,
      "retryLoginTime": null,
      "lastTimeAccessed": null,
      "passwordLastChanged": null,
      "locked": null,
      "lockedDate": null,
      "cultureName": null,
      "securityQuestionLastChanged": null,
      "dateFormat": "MM/DD/YYYY",
      "systemAdmin": false,
      "notAllowSharing": false,
      "numberOfFailedSecurityQuestion": null,
      "fullName": "John Doe",
      "currentModules": null,
      "id": "f6923261-b8bf-4f7a-a5a6-7d7ca61d8ccb",
      "state": 0,
      "deleted": false,
      "inserted": true,
      "version": 1,
      "created": "2017-09-08T07:54:22.597",
      "createdBy": "$RootAdmin$",
      "modified": "2017-09-08T07:54:22.597",
      "modifiedBy": "$RootAdmin$"
   },
   {
      "password": null,
      "roles": [
            {
               "name": "Manager",
               "tenantId": "b5b3a5cc-9e55-424c-ae85-ba92ec3b934e",
               "active": true,
               "notAllowSharing": false,
               "id": "d256d058-aeb7-468f-9f95-962d65979707",
               "state": 0,
               "deleted": false,
               "inserted": true,
               "version": 4,
               "created": "2017-09-08T07:11:11.24",
               "createdBy": "$RootAdmin$",
               "modified": "2017-09-15T07:12:01.527",
               "modifiedBy": null
            }
      ],
      "userRoles": null,
      "userSecurityQuestions": null,
      "status": 1,
      "issueDate": "0001-01-01T00:00:00",
      "autoLogin": false,
      "newPassword": null,
      "userName": "Acme@system.com",
      "emailAddress": "acme@system.com",
      "firstName": "Anna",
      "lastName": "Belle",
      "tenantId": "b5b3a5cc-9e55-424c-ae85-ba92ec3b934e",
      "tenantDisplayId": null,
      "tenantName": null,
      "dataOffset": null,
      "timestampOffset": null,
      "initPassword": false,
      "active": true,
      "retryLoginTime": null,
      "lastTimeAccessed": null,
      "passwordLastChanged": null,
      "locked": null,
      "lockedDate": null,
      "cultureName": null,
      "securityQuestionLastChanged": null,
      "dateFormat": "MM/DD/YYYY",
      "systemAdmin": false,
      "notAllowSharing": false,
      "numberOfFailedSecurityQuestion": null,
      "fullName": "Poke Pippi",
      "currentModules": null,
      "id": "14fbf9ac-2d7b-41e9-a272-dd51e161914d",
      "state": 0,
      "deleted": false,
      "inserted": true,
      "version": 2,
      "created": "2017-09-15T07:12:01.74",
      "createdBy": "$RootAdmin$",
      "modified": "2017-09-15T07:26:29.357",
      "modifiedBy": "$RootAdmin$"
   }
]

POST user/all

Returns an array of users by tenant.

Request

A PagedRequest object

Note

The keys for SearchCriteria that this API support:
- FullName
- All will be returned when no search criteria is provided

Response

A PagedResult object with result field containing an array of UserDetail objects

Samples

POST /api/user/all HTTP/1.1

Request Payload:

{
   "tenantId": "b5b3a5cc-9e55-424c-ae85-ba92ec3b934e",
   "skipItems": 0,
   "pageSize": 100,
   "criteria": [{
      "key": "FullName",
      "value": "John",
      "operation":1
   }]
}

Sample response:

{
   "result": [
      {
            "password": null,
            "roles": [],
            "userRoles": null,
            "userSecurityQuestions": null,
            "status": 1,
            "issueDate": "0001-01-01T00:00:00",
            "autoLogin": false,
            "newPassword": null,
            "userName": "John Doe",
            "emailAddress": "johndoe@system.com",
            "firstName": "John",
            "lastName": "Doe",
            "tenantId": "b5b3a5cc-9e55-424c-ae85-ba92ec3b934e",
            "tenantDisplayId": null,
            "tenantName": null,
            "dataOffset": null,
            "timestampOffset": null,
            "initPassword": false,
            "active": true,
            "retryLoginTime": null,
            "lastTimeAccessed": null,
            "passwordLastChanged": null,
            "locked": null,
            "lockedDate": null,
            "cultureName": null,
            "securityQuestionLastChanged": null,
            "dateFormat": "MM/DD/YYYY",
            "systemAdmin": false,
            "notAllowSharing": false,
            "numberOfFailedSecurityQuestion": null,
            "fullName": "John Doe",
            "currentModules": null,
            "id": "f6923261-b8bf-4f7a-a5a6-7d7ca61d8ccb",
            "state": 0,
            "deleted": false,
            "inserted": true,
            "version": 1,
            "created": "2017-09-08T07:54:22.597",
            "createdBy": "$RootAdmin$",
            "modified": "2017-09-08T07:54:22.597",
            "modifiedBy": "$RootAdmin$"
      }
   ],
   "pageIndex": 1,
   "pageSize": 100,
   "total": 1,
   "skipItems": 0,
   "isLastPage": true
}

POST user/load

Returns an array of users for Report Access or Schedule, with paging.

Request

A UserPagedRequest object

Note

The keys for SearchCriteria that this API support:
- UserName
- EmailAddress
- Role
- FullName
- All

Response

A PagedResult object with result field containing an array of UserDetail objects

Samples

POST /api/user/load HTTP/1.1
Request payload for Report Access:
{
   "userModeType": 1,
   "searchByRole": [
      {
         "id": "38bf8593-6a66-46e5-92a4-8d901f0088a9",
         "name": "anna_role",
         "users": [
            {
               "id": "9b54835b-0743-46e1-9353-a17a5380f3f3",
               "userName": "anna",
               "lastName": "domino",
               "firstName": "anna",
               "emailAddress": null
            }
         ]
      },
      {
         "id": "0d030b1a-9568-4c98-8b1e-5dcc94dbd283",
         "name": "Appraiser",
         "users": [
            {
               "id": "9d2f1d51-0e3d-44db-bfc7-da94a7681bf9",
               "userName": "juan",
               "lastName": "Carlos",
               "firstName": "Juan",
               "emailAddress": "izendateam@gmail.com"
            },
            {
               "id": "5cf7e984-bb0e-46b5-b856-530389b3b885",
               "userName": "teddy",
               "lastName": "Bear",
               "firstName": "Teddy",
               "emailAddress": "izendateam@gmail.com"
            }
         ]
      },
      {
         "id": "00653587-3604-45ae-ad08-178bf4554fe4",
         "name": "DB",
         "users": [
            {
               "id": "9d2f1d51-0e3d-44db-bfc7-da94a7681bf9",
               "userName": "juan",
               "lastName": "Carlos",
               "firstName": "Juan",
               "emailAddress": "izendateam@gmail.com"
            }
         ]
      }
   ],
   "tenantId": null,
   "criteria": [
      {
         "key": "all",
         "value": "",
         "operation": 1
      }
   ],
   "pageIndex": 1,
   "pageSize": 10,
   "sortOrders": [
      {
         "key": "userName",
         "descending": true
      }
   ]
}
Sample Response:
{
   "result": [
      {
         "password": null,
         "roles": [
            {
               "name": "anna_role",
               "tenantId": null,
               "active": true,
               "notAllowSharing": false,
               "id": "38bf8593-6a66-46e5-92a4-8d901f0088a9",
               "state": 0,
               "deleted": false,
               "inserted": true,
               "version": 3,
               "created": "2017-05-22T07:30:07.55",
               "createdBy": "anna domino",
               "modified": "2017-07-26T06:36:53.897",
               "modifiedBy": "anna domino"
            }
         ],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 3,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "anna",
         "emailAddress": null,
         "firstName": "anna",
         "lastName": "domino",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": null,
         "timestampOffset": null,
         "initPassword": false,
         "active": false,
         "retryLoginTime": null,
         "lastTimeAccessed": null,
         "passwordLastChanged": null,
         "locked": null,
         "lockedDate": null,
         "cultureName": null,
         "securityQuestionLastChanged": null,
         "dateFormat": null,
         "systemAdmin": false,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": null,
         "fullName": "anna domino",
         "currentModules": null,
         "id": "9b54835b-0743-46e1-9353-a17a5380f3f3",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": null,
         "created": null,
         "createdBy": "anna domino",
         "modified": null,
         "modifiedBy": null
      },
      {
         "password": null,
         "roles": [
            {
               "name": "Appraiser",
               "tenantId": null,
               "active": true,
               "notAllowSharing": false,
               "id": "0d030b1a-9568-4c98-8b1e-5dcc94dbd283",
               "state": 0,
               "deleted": false,
               "inserted": true,
               "version": 44,
               "created": null,
               "createdBy": "anna domino",
               "modified": "2017-05-22T06:39:38.657",
               "modifiedBy": null
            },
            {
               "name": "DB",
               "tenantId": null,
               "active": true,
               "notAllowSharing": false,
               "id": "00653587-3604-45ae-ad08-178bf4554fe4",
               "state": 0,
               "deleted": false,
               "inserted": true,
               "version": 10,
               "created": "2016-10-08T08:27:18.807",
               "createdBy": "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe",
               "modified": "2017-06-20T04:56:44.947",
               "modifiedBy": "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe"
            }
         ],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 3,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "juan",
         "emailAddress": "izendateam@gmail.com",
         "firstName": "Juan",
         "lastName": "Carlos",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": null,
         "timestampOffset": null,
         "initPassword": false,
         "active": false,
         "retryLoginTime": null,
         "lastTimeAccessed": null,
         "passwordLastChanged": null,
         "locked": null,
         "lockedDate": null,
         "cultureName": null,
         "securityQuestionLastChanged": null,
         "dateFormat": null,
         "systemAdmin": false,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": null,
         "fullName": "Juan Carlos",
         "currentModules": null,
         "id": "9d2f1d51-0e3d-44db-bfc7-da94a7681bf9",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": null,
         "created": null,
         "createdBy": "anna domino",
         "modified": null,
         "modifiedBy": null
      },
      {
         "password": null,
         "roles": [
            {
               "name": "Appraiser",
               "tenantId": null,
               "active": true,
               "notAllowSharing": false,
               "id": "0d030b1a-9568-4c98-8b1e-5dcc94dbd283",
               "state": 0,
               "deleted": false,
               "inserted": true,
               "version": 44,
               "created": null,
               "createdBy": "anna domino",
               "modified": "2017-05-22T06:39:38.657",
               "modifiedBy": null
            }
         ],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 3,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "teddy",
         "emailAddress": "izendateam@gmail.com",
         "firstName": "Teddy",
         "lastName": "Bear",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": null,
         "timestampOffset": null,
         "initPassword": false,
         "active": false,
         "retryLoginTime": null,
         "lastTimeAccessed": null,
         "passwordLastChanged": null,
         "locked": null,
         "lockedDate": null,
         "cultureName": null,
         "securityQuestionLastChanged": null,
         "dateFormat": null,
         "systemAdmin": false,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": null,
         "fullName": "Teddy Bear",
         "currentModules": null,
         "id": "5cf7e984-bb0e-46b5-b856-530389b3b885",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": null,
         "created": null,
         "createdBy": "anna domino",
         "modified": null,
         "modifiedBy": null
      }
   ],
   "pageIndex": 1,
   "pageSize": 10,
   "total": 3,
   "skipItems": 0,
   "isLastPage": false
}

Request payload for Report Schedule:

{
   "userModeType": 2,
   "searchByRole": null,
   "tenantId": null,
   "criteria": [
      {
         "key": "all",
         "value": "",
         "operation": 1
      }
   ],
   "pageIndex": 1,
   "pageSize": 10,
   "sortOrders": [
      {
         "key": "userName",
         "descending": true
      }
   ]
}
Sample Response:
{
   "result": [
      {
         "password": null,
         "roles": [],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 1,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "1211",
         "emailAddress": null,
         "firstName": "1211",
         "lastName": "1211",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": 0,
         "timestampOffset": 0,
         "initPassword": true,
         "active": true,
         "retryLoginTime": 0,
         "lastTimeAccessed": "2016-12-11T12:20:05.187",
         "passwordLastChanged": "2016-12-11T11:04:47.453",
         "locked": false,
         "lockedDate": null,
         "cultureName": "en-US",
         "securityQuestionLastChanged": "2016-12-11T11:04:47.453",
         "dateFormat": "MM/DD/YYYY",
         "systemAdmin": false,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": 0,
         "fullName": "1211 1211",
         "currentModules": null,
         "id": "719868a5-daeb-4e8a-a884-9f697b94b8d1",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": 2,
         "created": "2016-12-11T11:04:07.22",
         "createdBy": "System Admin",
         "modified": "2016-12-11T12:20:05.2",
         "modifiedBy": "System Admin"
      },
      {
         "password": null,
         "roles": [
            {
               "name": "Theo Role",
               "tenantId": null,
               "active": true,
               "notAllowSharing": false,
               "id": "804eeed1-e8cf-44a6-a180-a896250f9990",
               "state": 0,
               "deleted": false,
               "inserted": true,
               "version": 1,
               "created": "2017-04-11T10:07:48.343",
               "createdBy": "Theo Nord",
               "modified": "2017-04-11T10:07:48.343",
               "modifiedBy": "Theo Nord"
            }
         ],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 1,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "14773",
         "emailAddress": null,
         "firstName": "14773",
         "lastName": "14773",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": 0,
         "timestampOffset": 6,
         "initPassword": true,
         "active": true,
         "retryLoginTime": 0,
         "lastTimeAccessed": "2017-04-13T06:41:43.02",
         "passwordLastChanged": "2017-04-13T04:27:02.003",
         "locked": false,
         "lockedDate": null,
         "cultureName": "en-US",
         "securityQuestionLastChanged": "2017-04-13T04:27:02.003",
         "dateFormat": "MM/DD/YYYY",
         "systemAdmin": false,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": 0,
         "fullName": "14773 14773",
         "currentModules": null,
         "id": "70e0cca5-9772-4798-84c4-89e2d9e62263",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": 1,
         "created": "2017-04-13T04:26:01.097",
         "createdBy": "Theo Nord",
         "modified": "2017-04-13T04:27:02.003",
         "modifiedBy": "Theo Nord"
      },
      {
         "password": null,
         "roles": [
            {
               "name": "Analyst",
               "tenantId": "c06b5e2e-6ac2-499d-938d-04846efc37e8",
               "active": true,
               "notAllowSharing": false,
               "id": "0d030b1a-9568-4c98-8b1e-5dcc94dbd281",
               "state": 0,
               "deleted": false,
               "inserted": true,
               "version": 1,
               "created": null,
               "createdBy": "System Administrator",
               "modified": null,
               "modifiedBy": null
            }
         ],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 1,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "3",
         "emailAddress": "izendateam@gmail.com",
         "firstName": "First",
         "lastName": "Last",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": 0,
         "timestampOffset": 0,
         "initPassword": true,
         "active": true,
         "retryLoginTime": 0,
         "lastTimeAccessed": null,
         "passwordLastChanged": null,
         "locked": false,
         "lockedDate": null,
         "cultureName": "en-US",
         "securityQuestionLastChanged": null,
         "dateFormat": null,
         "systemAdmin": false,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": 0,
         "fullName": "First Last",
         "currentModules": null,
         "id": "fa567f4f-574b-456c-a2a5-912a6bb9c621",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": 4,
         "created": "2016-09-21T09:56:36.03",
         "createdBy": "System Administrator",
         "modified": "2016-09-26T10:01:51.727",
         "modifiedBy": null
      },
      {
         "password": null,
         "roles": [],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 1,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "aa",
         "emailAddress": "aa@aa.com",
         "firstName": "aa",
         "lastName": "aa",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": 0,
         "timestampOffset": 6,
         "initPassword": true,
         "active": true,
         "retryLoginTime": 0,
         "lastTimeAccessed": "2017-07-25T10:57:28.767",
         "passwordLastChanged": "2017-05-08T10:48:32.193",
         "locked": false,
         "lockedDate": null,
         "cultureName": "en-US",
         "securityQuestionLastChanged": "2017-05-08T10:48:32.193",
         "dateFormat": "MM/DD/YYYY",
         "systemAdmin": true,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": 0,
         "fullName": "aa aa",
         "currentModules": null,
         "id": "d41fb48b-ba69-40c7-827e-afb41d18149a",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": 1,
         "created": "2017-05-08T10:48:05.02",
         "createdBy": "lee mak",
         "modified": "2017-07-25T10:42:32.067",
         "modifiedBy": "lee mak"
      },
      {
         "password": null,
         "roles": [],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 1,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "abc",
         "emailAddress": "abc@gmail.com",
         "firstName": "abc",
         "lastName": "abc",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": 0,
         "timestampOffset": 0,
         "initPassword": true,
         "active": true,
         "retryLoginTime": 0,
         "lastTimeAccessed": "2016-11-18T08:40:29.69",
         "passwordLastChanged": "2016-11-18T08:40:29.66",
         "locked": false,
         "lockedDate": null,
         "cultureName": "en-US",
         "securityQuestionLastChanged": "2016-11-18T08:40:29.66",
         "dateFormat": "MM/DD/YYYY",
         "systemAdmin": false,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": 0,
         "fullName": "abc abc",
         "currentModules": null,
         "id": "11e84611-58f1-47d2-a4c1-46877ae19134",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": 1,
         "created": "2016-11-18T08:39:54.363",
         "createdBy": "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe",
         "modified": "2016-11-18T08:40:29.69",
         "modifiedBy": "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe"
      },
      {
         "password": null,
         "roles": [],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 1,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "adminfull",
         "emailAddress": "izendateam@gmail.com",
         "firstName": "admin",
         "lastName": "pavillion",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": 0,
         "timestampOffset": 0,
         "initPassword": false,
         "active": true,
         "retryLoginTime": 0,
         "lastTimeAccessed": null,
         "passwordLastChanged": null,
         "locked": false,
         "lockedDate": null,
         "cultureName": "en-US",
         "securityQuestionLastChanged": null,
         "dateFormat": "MM/DD/YYYY",
         "systemAdmin": true,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": 0,
         "fullName": "admin pavillion",
         "currentModules": null,
         "id": "c62f2865-ad07-446c-8dca-bcf057ddf00f",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": 1,
         "created": "2016-11-07T03:08:02.74",
         "createdBy": "f5206c3d-2d77-40cf-969b-80168fb80a8b",
         "modified": "2016-11-07T03:08:02.74",
         "modifiedBy": "f5206c3d-2d77-40cf-969b-80168fb80a8b"
      },
      {
         "password": null,
         "roles": [],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 1,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "anna",
         "emailAddress": null,
         "firstName": "Anna",
         "lastName": "Domino",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": 0,
         "timestampOffset": 6,
         "initPassword": true,
         "active": true,
         "retryLoginTime": 0,
         "lastTimeAccessed": "2017-06-29T10:15:51.67",
         "passwordLastChanged": "2017-05-05T06:19:55.403",
         "locked": false,
         "lockedDate": null,
         "cultureName": "en-US",
         "securityQuestionLastChanged": "2017-05-05T06:19:55.403",
         "dateFormat": "MM/DD/YYYY",
         "systemAdmin": true,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": 0,
         "fullName": "Anna Domino",
         "currentModules": null,
         "id": "656de137-ed6a-4a6f-a9b2-e714db05630b",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": 1,
         "created": "2017-05-05T06:19:10.467",
         "createdBy": "Anna Domino",
         "modified": "2017-06-29T04:20:32.13",
         "modifiedBy": "Anna Domino"
      },
      {
         "password": null,
         "roles": [],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 1,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "anlee",
         "emailAddress": "an@email.com",
         "firstName": "An",
         "lastName": "Lee",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": 0,
         "timestampOffset": 0,
         "initPassword": true,
         "active": true,
         "retryLoginTime": 0,
         "lastTimeAccessed": "2017-07-24T14:01:41.667",
         "passwordLastChanged": "2017-05-11T07:13:27.41",
         "locked": false,
         "lockedDate": null,
         "cultureName": "en-US",
         "securityQuestionLastChanged": "2017-05-11T07:13:27.41",
         "dateFormat": "MM/DD/YYYY",
         "systemAdmin": true,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": 0,
         "fullName": "An Lee",
         "currentModules": null,
         "id": "c822feaa-d07d-454e-9343-63437081e3d9",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": 13,
         "created": "2016-11-03T03:15:52.903",
         "createdBy": "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe",
         "modified": "2017-07-24T13:02:46.433",
         "modifiedBy": "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe"
      },
      {
         "password": null,
         "roles": [
            {
               "name": "anna_role",
               "tenantId": null,
               "active": true,
               "notAllowSharing": false,
               "id": "38bf8593-6a66-46e5-92a4-8d901f0088a9",
               "state": 0,
               "deleted": false,
               "inserted": true,
               "version": 3,
               "created": "2017-05-22T07:30:07.55",
               "createdBy": "Theo Nord",
               "modified": "2017-07-26T06:36:53.897",
               "modifiedBy": "Theo Nord"
            }
         ],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 1,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "anna",
         "emailAddress": null,
         "firstName": "anna",
         "lastName": "king",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": 0,
         "timestampOffset": 6,
         "initPassword": true,
         "active": true,
         "retryLoginTime": 0,
         "lastTimeAccessed": "2017-05-22T09:41:29.337",
         "passwordLastChanged": "2017-05-22T07:31:28.237",
         "locked": false,
         "lockedDate": null,
         "cultureName": "en-US",
         "securityQuestionLastChanged": "2017-05-22T07:31:28.237",
         "dateFormat": "MM/DD/YYYY",
         "systemAdmin": false,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": 0,
         "fullName": "anna king",
         "currentModules": null,
         "id": "9b54835b-0743-46e1-9353-a17a5380f3f3",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": 1,
         "created": "2017-05-22T07:30:40.597",
         "createdBy": "Theo Nord",
         "modified": "2017-05-22T09:41:29.337",
         "modifiedBy": "Theo Nord"
      },
      {
         "password": null,
         "roles": [],
         "userRoles": null,
         "userSecurityQuestions": null,
         "status": 1,
         "issueDate": "0001-01-01T00:00:00",
         "autoLogin": false,
         "newPassword": null,
         "userName": "antou",
         "emailAddress": null,
         "firstName": "An",
         "lastName": "Tou",
         "tenantId": null,
         "tenantDisplayId": null,
         "tenantName": null,
         "dataOffset": 0,
         "timestampOffset": 6,
         "initPassword": true,
         "active": true,
         "retryLoginTime": 0,
         "lastTimeAccessed": "2017-07-25T05:10:34.733",
         "passwordLastChanged": "2017-04-18T04:51:18.647",
         "locked": false,
         "lockedDate": null,
         "cultureName": "en-US",
         "securityQuestionLastChanged": "2017-04-18T04:51:18.647",
         "dateFormat": "MM/DD/YYYY",
         "systemAdmin": true,
         "notAllowSharing": false,
         "numberOfFailedSecurityQuestion": 0,
         "fullName": "An Tou",
         "currentModules": null,
         "id": "5a474141-c85d-42ed-adda-7768dc689c52",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": 1,
         "created": "2017-04-18T04:50:51.46",
         "createdBy": "System Admin",
         "modified": "2017-07-25T05:10:34.733",
         "modifiedBy": "System Admin"
      }
   ],
   "pageIndex": 1,
   "pageSize": 10,
   "total": 80,
   "skipItems": 0,
   "isLastPage": false
}

POST user/login

Performs login.

Request

A Credential object

Response

An OperationResult object with success field true and data field containing an AccessToken object

Samples

POST /api/user/login HTTP/1.1

Request payload:

{
  "userName" : "johndoe",
  "password" : "secret"
}

Sample response:

{
  "success" : true,
  "messages" : null,
  "data" : {
     "token" : "UWmQLI13sORSrN5VLodTxqO9e/yElV4RwRb2K6PzW6l4tYtw7kkbHH2Im9oQNxToVBHCihEIophicrWyCf6J7w==",
     "tenant" : null,
     "isExpired" : false,
     "notifyDuringDay" : null
  }
}

POST user/logout

Performs logout.

Request

No payload

Response

  • true if successful
  • false if not

Samples

POST /api/user/logout HTTP/1.1

Sample response:

true

POST user

Saves a user.

Note

To set up a user with password, this API is only the first step. See Add Internal User for the guide.

Request

A UserDetail object

Note

The mandatory fields required to post are listed as below:

  • userName
  • tenantId
  • Ids of the roles
  • lastName
  • firstName

Response

An OperationResult object with success field true and data field containing a User object

Samples

POST /api/user HTTP/1.1

Request payload:

{
   "id": null,
   "systemAdmin": false,
   "userName": "nina@retcl.com",
   "tenantId": "1bd615d4-d3c4-4820-80bb-f34348b85f98",
   "emailAddress": "nina@retcl.com",
   "roles": [{
      "id": "d41378bd-0b22-4085-b90f-f9ccaa85e9e6"
   }],
   "state": 1,
   "inserted": true,
   "version": 1,
   "created": "2017-12-20T06:42:44.337",
   "createdBy": "$RootAdmin$",
   "modified": "2017-12-20T06:42:44.337",
   "modifiedBy": "$RootAdmin$",
   "lastName": "Doe",
   "firstName": "John",
   "fullName": "John Doe",
   "active": true,
   "password": null,
   "deleted": false,
   "userSecurityQuestions": null,
   "userRoles": null,
   "dataOffset": null,
   "timestampOffset": null,
   "initPassword": false,
   "status": 1,
   "cultureName": null,
   "dateFormat": "MM/DD/YYYY"
}

Sample response:

{
   "success": true,
   "messages": null,
   "data": {
      "password": "",
      "roles": [{
         "name": null,
         "tenantId": null,
         "active": false,
         "notAllowSharing": false,
         "id": "d41378bd-0b22-4085-b90f-f9ccaa85e9e6",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": null,
         "created": null,
         "createdBy": "System Admin",
         "modified": null,
         "modifiedBy": null
      }],
      "userRoles": [{
         "userId": "4fb95725-1e32-4f09-99f1-aa994de5de82",
         "roleId": "d41378bd-0b22-4085-b90f-f9ccaa85e9e6",
         "id": "bca85e44-d508-4538-9c8a-e07c6c593f25",
         "state": 0,
         "deleted": false,
         "inserted": true,
         "version": 1,
         "created": "2017-12-20T06:44:50.445425",
         "createdBy": "System Admin",
         "modified": "2017-12-20T06:44:50.445425",
         "modifiedBy": "System Admin"
      }],
      "userSecurityQuestions": null,
      "status": 1,
      "issueDate": "0001-01-01T00:00:00",
      "autoLogin": false,
      "newPassword": null,
      "userName": "nina@retcl.com",
      "emailAddress": "nina@retcl.com",
      "firstName": "John",
      "lastName": "Doe",
      "tenantId": "1bd615d4-d3c4-4820-80bb-f34348b85f98",
      "tenantDisplayId": null,
      "tenantName": null,
      "dataOffset": null,
      "timestampOffset": null,
      "initPassword": false,
      "active": true,
      "retryLoginTime": null,
      "lastTimeAccessed": null,
      "passwordLastChanged": null,
      "locked": null,
      "lockedDate": null,
      "cultureName": null,
      "securityQuestionLastChanged": null,
      "dateFormat": "MM/DD/YYYY",
      "systemAdmin": false,
      "notAllowSharing": false,
      "numberOfFailedSecurityQuestion": null,
      "fullName": "John Doe",
      "currentModules": null,
      "id": "4fb95725-1e32-4f09-99f1-aa994de5de82",
      "state": 0,
      "deleted": false,
      "inserted": true,
      "version": 1,
      "created": "2017-12-20T06:42:44.337",
      "createdBy": "$RootAdmin$",
      "modified": "2017-12-20T06:42:44.337",
      "modifiedBy": "$RootAdmin$"
   }
}

POST user/userProfile

Saves a user profile.

Request

A UserDetail object

Response

An OperationResult object with success field true and data field containing the saved User object

Samples

POST /api/userProfile HTTP/1.1

Request payload:

{
  "id": "9fc0f5c2-decf-4d65-9344-c59a1704ea0c",
  "systemAdmin": true,
  "userName": "jdoe",
  "firstName": "John",
  "lastName": "Doe",
  "cultureName": "en-US",
  "dateFormat": "MM/DD/YYYY",
  "tenantId": null,
  "emailAddress": "jdoe@acme.com",
  "roles": [],
  "dataOffset": 0,
  "timestampOffset": 0,
  "tenantName": null,
  "hasChangeLanguage": false
}

Sample response:

{
  "success": true,
  "messages": null,
  "data": {
    "password": "",
    "roles": [],
    "userRoles": null,
    "userSecurityQuestions": null,
    "status": 3,
    "issueDate": "0001-01-01T00:00:00",
    "autoLogin": false,
    "newPassword": null,
    "userName": "jdoe",
    "emailAddress": "jdoe@acme.com",
    "firstName": "John",
    "lastName": "Doe",
    "tenantId": null,
    "tenantDisplayId": null,
    "tenantName": null,
    "dataOffset": 0,
    "timestampOffset": 0,
    "initPassword": false,
    "active": false,
    "retryLoginTime": null,
    "lastTimeAccessed": null,
    "passwordLastChanged": null,
    "locked": null,
    "lockedDate": null,
    "cultureName": "en-US",
    "securityQuestionLastChanged": null,
    "dateFormat": "MM/DD/YYYY",
    "systemAdmin": true,
    "notAllowSharing": false,
    "numberOfFailedSecurityQuestion": null,
    "fullName": "John Doe",
    "currentModules": null,
    "id": "9fc0f5c2-decf-4d65-9344-c59a1704ea0c",
    "state": 0,
    "deleted": false,
    "inserted": true,
    "version": null,
    "created": null,
    "createdBy": "John Doe",
    "modified": null,
    "modifiedBy": null
  }
}

POST user/passwordProfile

Saves a password profile.

Request

A UserDetail object

Response

An OperationResult object with success field true and data field containing an AccessToken object

Samples

POST /api/user/passwordProfile HTTP/1.1

Request payload:

{
  "newPassword": "secret",
  "password": "secret",
  "userName": "jdoe",
  "id": "9fc0f5c2-decf-4d65-9344-c59a1704ea0c"
}

Sample response:

{
  "success": true,
  "messages": null,
  "data": {
    "token": "123Abc..=",
    "tenant": null,
    "cultureName": "en-US",
    "dateFormat": "MM/DD/YYYY",
    "isExpired": false,
    "notifyDuringDay": null
  }
}

POST user/securityQuesitions

Saves security questions for a user.

Request

A UserDetail object

Response

An OperationResult object with success field true and data field containing the updated UserDetail object

Samples

POST /api/user/securityQuestions HTTP/1.1

Request payload:

{
  "userSecurityQuestions": [
    {
      "securityQuestionId": "5784ece5-d2e7-42b1-89bb-859737b7b2a9",
      "answer": "Jenny Doe"
    },
    {
      "securityQuestionId": "3771bdc2-1add-481a-9649-18a7e494860b",
      "answer": "911"
    }
  ],
  "userName": "jdoe",
  "id": "9fc0f5c2-decf-4d65-9344-c59a1704ea0c"
}
Sample Response:
{
"success": true,
"messages": null,
"data": {
   "password": null,
   "roles": [],
   "userRoles": null,
   "userSecurityQuestions": [
      {
      "userId": "9fc0f5c2-decf-4d65-9344-c59a1704ea0c",
      "securityQuestionId": "5784ece5-d2e7-42b1-89bb-859737b7b2a9",
      "question": null,
      "id": "b3131be9-e39a-46b2-aa59-dc112fcff5f0",
      "state": 0,
      "deleted": false,
      "inserted": true,
      "version": 1,
      "created": "2017-01-06T07:48:13.281359",
      "createdBy": "John Doe",
      "modified": "2017-01-06T07:48:13.281359",
      "modifiedBy": "John Doe"
      },
      {
      "userId": "9fc0f5c2-decf-4d65-9344-c59a1704ea0c",
      "securityQuestionId": "3771bdc2-1add-481a-9649-18a7e494860b",
      "question": null,
      "id": "c50a5b68-20b2-4c0d-b8f0-20072104ac51",
      "state": 0,
      "deleted": false,
      "inserted": true,
      "version": 1,
      "created": "2017-01-06T07:48:13.281359",
      "createdBy": "John Doe",
      "modified": "2017-01-06T07:48:13.281359",
      "modifiedBy": "John Doe"
      }
   ],
   "status": 3,
   "issueDate": "0001-01-01T00:00:00",
   "autoLogin": false,
   "newPassword": null,
   "userName": "jdoe",
   "emailAddress": null,
   "firstName": null,
   "lastName": null,
   "tenantId": null,
   "tenantDisplayId": null,
   "tenantName": null,
   "dataOffset": 0,
   "timestampOffset": 0,
   "initPassword": false,
   "active": false,
   "retryLoginTime": null,
   "lastTimeAccessed": null,
   "passwordLastChanged": null,
   "locked": null,
   "lockedDate": null,
   "cultureName": null,
   "securityQuestionLastChanged": "2017-01-06T07:48:13.2387372",
   "dateFormat": null,
   "systemAdmin": false,
   "notAllowSharing": false,
   "numberOfFailedSecurityQuestion": null,
   "fullName": "jdoe",
   "currentModules": null,
   "id": "9fc0f5c2-decf-4d65-9344-c59a1704ea0c",
   "state": 0,
   "deleted": false,
   "inserted": true,
   "version": null,
   "created": null,
   "createdBy": "John Doe",
   "modified": null,
   "modifiedBy": null
}
}

POST user/password

Saves password for a user.

Request

A UserDetail object.

Response

The updated OperationResult object.

Samples

POST /api/user/password HTTP/1.1

Simple Request Payload:

{
   "password": "P4@ssW0rd",
   "userSecurityQuestions": null,
   "newPassword": "P1k@P1k@123",
   "userName": "acme@system.com",
   "emailAddress": "ecme@system.com",
   "firstName": "John",
   "lastName": "Doe",
   "tenantId": "b5b3a5cc-9e55-424c-ae85-ba92ec3b934e",
   "id":"88ca2835-81e0-443b-b29e-e694a66b8e7a"
}

Sample Response:

{
   "success": true,
   "messages": null,
   "data": {
      "token": "",
      "tenant": null,
      "cultureName": null,
      "dateFormat": null,
      "systemAdmin": false,
      "isExpired": false,
      "notifyDuringDay": null
   }
}

POST user/active

Activates a user.

Request

A UserDetail object

Response

The updated UserDetail object

Samples

POST /api/user/active HTTP/1.1

Request payload:

{
  "isDirty" : false,
  "id" : "6c447061-8f1d-4ff4-803c-b6b15695b8c3",
  "userName" : "jdoe",
  "password" : null,
  "tenantId" : null,
  "emailAddress" : "jdoe@acme.com",
  "roles" : [{
        "name" : "CreateUserRole",
        "tenantId" : null,
        "active" : true,
        "id" : "b992c772-6cb1-4103-b6b1-0da581368862",
        "state" : 0,
        "deleted" : false,
        "inserted" : true,
        "version" : 1,
        "created" : "2016-10-10T07:25:55.653",
        "createdBy" : "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe",
        "modified" : "2016-10-10T07:25:55.653",
        "modifiedBy" : "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe"
     }
  ],
  "state" : 0,
  "inserted" : true,
  "version" : 2,
  "created" : "2016-10-10T07:50:26.237",
  "createdBy" : "e5dabf75-c5b7-4877-86cc-b3afd83eed62",
  "modified" : "2016-10-10T08:31:13.89",
  "modifiedBy" : "e5dabf75-c5b7-4877-86cc-b3afd83eed62",
  "selected" : true,
  "lastName" : "Doe",
  "firstName" : "John",
  "fullName" : "John Doe",
  "active" : false,
  "initPassword" : true,
  "deleted" : false,
  "userSecurityQuestions" : null,
  "userRoles" : null,
  "dataOffset" : 0,
  "timestampOffset" : 0,
  "passwordLink" : null,
  "failedlogin" : false,
  "status" : 2,
  "rolesValue" : "b992c772-6cb1-4103-b6b1-0da581368862",
  "recipientValue" : [],
  "clearSercurityQuestion" : false,
  "sendEmail" : false
}

Sample response:

{
  "password" : null,
  "roles" : [{
        "name" : "CreateUserRole",
        "tenantId" : null,
        "active" : true,
        "id" : "b992c772-6cb1-4103-b6b1-0da581368862",
        "state" : 0,
        "deleted" : false,
        "inserted" : true,
        "version" : 1,
        "created" : "2016-10-10T07:25:55.653",
        "createdBy" : "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe",
        "modified" : "2016-10-10T07:25:55.653",
        "modifiedBy" : "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe"
     }
  ],
  "userRoles" : null,
  "userSecurityQuestions" : null,
  "status" : 1,
  "issueDate" : "0001-01-01T00:00:00",
  "autoLogin" : false,
  "newPassword" : null,
  "userName" : "jdoe",
  "emailAddress" : "jdoe@acme.com",
  "firstName" : "John",
  "lastName" : "Doe",
  "tenantId" : null,
  "tenantDisplayId" : null,
  "dataOffset" : 0,
  "timestampOffset" : 0,
  "initPassword" : true,
  "active" : true,
  "retryLoginTime" : null,
  "lastTimeAccessed" : null,
  "passwordActiveDate" : null,
  "locked" : null,
  "lockedDate" : null,
  "fullName" : "John Doe",
  "id" : "6c447061-8f1d-4ff4-803c-b6b15695b8c3",
  "state" : 0,
  "deleted" : false,
  "inserted" : true,
  "version" : 2,
  "created" : "2016-10-10T07:50:26.237",
  "createdBy" : "e5dabf75-c5b7-4877-86cc-b3afd83eed62",
  "modified" : "2016-10-10T08:31:13.89",
  "modifiedBy" : "e5dabf75-c5b7-4877-86cc-b3afd83eed62"
}

POST user/deactive

Deactivates a user.

Request

A UserDetail object

Response

The updated UserDetail object

Samples

POST /api/user/deactive HTTP/1.1

Request payload:

{
  "isDirty" : false,
  "id" : "6c447061-8f1d-4ff4-803c-b6b15695b8c3",
  "userName" : "jdoe",
  "password" : null,
  "tenantId" : null,
  "emailAddress" : "jdoe@acme.com",
  "roles" : [{
        "name" : "CreateUserRole",
        "tenantId" : null,
        "active" : true,
        "id" : "b992c772-6cb1-4103-b6b1-0da581368862",
        "state" : 0,
        "deleted" : false,
        "inserted" : true,
        "version" : 1,
        "created" : "2016-10-10T07:25:55.653",
        "createdBy" : "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe",
        "modified" : "2016-10-10T07:25:55.653",
        "modifiedBy" : "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe"
     }
  ],
  "state" : 0,
  "inserted" : true,
  "version" : 2,
  "created" : "2016-10-10T07:50:26.237",
  "createdBy" : "e5dabf75-c5b7-4877-86cc-b3afd83eed62",
  "modified" : "2016-10-10T08:31:13.89",
  "modifiedBy" : "e5dabf75-c5b7-4877-86cc-b3afd83eed62",
  "selected" : true,
  "lastName" : "Doe",
  "firstName" : "John",
  "fullName" : "John Doe",
  "active" : true,
  "initPassword" : true,
  "deleted" : false,
  "userSecurityQuestions" : null,
  "userRoles" : null,
  "dataOffset" : 0,
  "timestampOffset" : 0,
  "passwordLink" : null,
  "failedlogin" : false,
  "status" : 1,
  "rolesValue" : "b992c772-6cb1-4103-b6b1-0da581368862",
  "recipientValue" : [],
  "clearSercurityQuestion" : false,
  "sendEmail" : false
}

Sample response:

{
  "password" : null,
  "roles" : [{
        "name" : "CreateUserRole",
        "tenantId" : null,
        "active" : true,
        "id" : "b992c772-6cb1-4103-b6b1-0da581368862",
        "state" : 0,
        "deleted" : false,
        "inserted" : true,
        "version" : 1,
        "created" : "2016-10-10T07:25:55.653",
        "createdBy" : "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe",
        "modified" : "2016-10-10T07:25:55.653",
        "modifiedBy" : "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe"
     }
  ],
  "userRoles" : null,
  "userSecurityQuestions" : null,
  "status" : 2,
  "issueDate" : "0001-01-01T00:00:00",
  "autoLogin" : false,
  "newPassword" : null,
  "userName" : "jdoe",
  "emailAddress" : "jdoe@acme.com",
  "firstName" : "John",
  "lastName" : "Doe",
  "tenantId" : null,
  "tenantDisplayId" : null,
  "dataOffset" : 0,
  "timestampOffset" : 0,
  "initPassword" : true,
  "active" : false,
  "retryLoginTime" : null,
  "lastTimeAccessed" : null,
  "passwordActiveDate" : null,
  "locked" : null,
  "lockedDate" : null,
  "fullName" : "John Doe",
  "id" : "6c447061-8f1d-4ff4-803c-b6b15695b8c3",
  "state" : 0,
  "deleted" : false,
  "inserted" : true,
  "version" : 2,
  "created" : "2016-10-10T07:50:26.237",
  "createdBy" : "e5dabf75-c5b7-4877-86cc-b3afd83eed62",
  "modified" : "2016-10-10T08:31:13.89",
  "modifiedBy" : "e5dabf75-c5b7-4877-86cc-b3afd83eed62"
}

DELETE user/{user_id}

Deletes a user.

Request

No payload

Response

  • true if user was successfully deleted
  • false if not

Samples

DELETE /api/user/2727bb4a-ee5c-4f55-8ec3-dd73f4ffd440 HTTP/1.1

Sample response:

true

POST user/passwordAndSecurityQuestion

Saves a user password and security question.

Request

A UserDetail object

Response

An OperationResult object with success field true and data field containing an AccessToken object

Samples

POST /api/user/passwordAndSecurityQuestion HTTP/1.1

Request payload:

{
  "tenantDisplayID" : null,
  "tenantName" : null,
  "password" : "secret",
  "verification" : "H8K...swUc=",
  "userName" : "jdoe",
  "firstName" : "John",
  "lastName" : "Doe",
  "emailAddress" : "jdoe@acme.com",
  "userSecurityQuestions" : [],
  "autoLogin" : true
}

Sample response:

{
  "success" : true,
  "messages" : null,
  "data" : {
     "token" : "3AfY....yKg==",
     "tenant" : null,
     "isExpired" : false,
     "notifyDuringDay" : null
  }
}

GET user/securityQuestion/{user_name}/(tenant_display_id)

Returns security question for a user and tenant.

Request

No payload

Response

An OperationResult object with success field true and data field containing an AccessToken object

Samples

GET /api/user/securityQuestion/jdoe HTTP/1.1

Sample response:

{
 "success": true,
 "messages": null,
 "data": [
   {
     "userId": "9fc0f5c2-decf-4d65-9344-c59a1704ea0c",
     "securityQuestionId": "3771bdc2-1add-481a-9649-18a7e494860b",
     "question": "Which phone number do you remember most from your childhood?",
     "id": "c50a5b68-20b2-4c0d-b8f0-20072104ac51",
     "state": 0,
     "deleted": false,
     "inserted": true,
     "version": 1,
     "created": "2017-01-06T07:48:13.28",
     "createdBy": "John Doe",
     "modified": "2017-01-06T07:48:13.28",
     "modifiedBy": "John Doe"
   }
 ]
}

POST user/generatePasswordLink

Generates password link.

Request

A UserDetail object

Response

An OperationResult object with success field true and data field containing a hash value from the user details.

Samples

POST /api/user/generatePasswordLink HTTP/1.1

Request payload:

{
  "id" : "6c447061-8f1d-4ff4-803c-b6b15695b8c3",
  "username" : "jdoe",
  "firstname" : "John",
  "lastname" : "Doe",
  "emailaddress" : "jdoe@acme.com"
}

Sample response:

{
   "success": true,
   "messages": null,
   "data": "Abc/Def/..=="
}

POST user/validatePasswordLink

Validates password link.

Request

Response

An OperationResult object with success field true and data field containing the UserVerification object

Samples

POST /api/user/validatePasswordLink HTTP/1.1

Request payload:

{
  "tenantDisplayID" : null,
  "userName" : "jdoe",
  "firstName" : "John",
  "lastName" : "Doe",
  "emailAddress" : "jdoe@acme.com",
  "verification" : "H8K....RU="
}

POST user/validateSecurityQuestion

Validates security questions.

Request

A UserDetail object

Response

An OperationResult object with success field true if the question and answers are valid

Samples

POST /api/user/validateSecurityQuestion HTTP/1.1

Request payload:

{
  "tenantDisplayID": null,
  "userName": "jdoe",
  "userSecurityQuestions": [
    {
      "userId": "9fc0f5c2-decf-4d65-9344-c59a1704ea0c",
      "securityQuestionId": "5784ece5-d2e7-42b1-89bb-859737b7b2a9",
      "answer": "Jenny Doe"
    }
  ]
}

Sample response:

{
  "success": true,
  "messages": null,
  "data": null
}

POST user/validateUserInfo

Validates user information.

Request

A UserDetail object

Response

An OperationResult object with success field true and data field containing a User object

Samples

POST /api/user/validateUserInfo HTTP/1.1

Request payload:

{
  "tenantName": "",
  "userName": "jdoe",
  "firstName": "John",
  "lastName": "Doe",
  "emailAddress": "jdoe@acme.com",
  "verification": ""
}

Sample response:

{
  "success": true,
  "messages": null,
  "data": {
    "userName": "jdoe",
    "emailAddress": "jdoe@acme.com",
    "firstName": "John",
    "lastName": "Doe",
    "tenantId": null,
    "tenantDisplayId": null,
    "tenantName": null,
    "dataOffset": 0,
    "timestampOffset": 0,
    "initPassword": true,
    "active": true,
    "retryLoginTime": 0,
    "lastTimeAccessed": "2017-01-06T08:18:22.393",
    "passwordLastChanged": "2017-01-06T07:45:58.813",
    "locked": false,
    "lockedDate": null,
    "cultureName": "en-US",
    "securityQuestionLastChanged": "2017-01-06T07:48:13.24",
    "dateFormat": "MM/DD/YYYY",
    "systemAdmin": true,
    "notAllowSharing": false,
    "numberOfFailedSecurityQuestion": 0,
    "fullName": "John Doe",
    "currentModules": null,
    "id": "9fc0f5c2-decf-4d65-9344-c59a1704ea0c",
    "state": 0,
    "deleted": false,
    "inserted": true,
    "version": 14,
    "created": "2016-11-21T06:58:27.203",
    "createdBy": "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe",
    "modified": "2017-01-06T08:18:26.077",
    "modifiedBy": "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe"
  }
}

POST user/validateExpirationPasswordLink

Validates password expiration link.

Request

A UserDetail object

Response

An OperationResult object with success field true and data field containing a ValidateExpiration object

Samples

POST /api/user/validateExpirationPasswordLink HTTP/1.1

Request payload:

{
  "verification" : "H8K....Uc="
}

Sample response:

{
  "success" : true,
  "messages" : null,
  "data" : {
     "tenantId" : null,
     "isExpired" : false,
     "notifyDuringDay" : null
  }
}

POST user/sendPasswordLink

Sends password link via email to user.

Request

Payload: a PasswordOption object

Response

  • true if the action was successful
  • false if not

Note

While the UI takes care of URL encoding when clicking the generate password button, the API call will return the non-encoded hash.

Make sure to check that the hash in the URL is encoded so that the link is valid.

Samples

POST /api/user/sendPasswordLink HTTP/1.1

Request payload:

{
  "passwordLink" : "http://127.0.0.1:8888/account/activation?verification=H8K....RU%3D",
  "user" : {
     "userName" : "jdoe",
     "id" : "6c447061-8f1d-4ff4-803c-b6b15695b8c3"
  },
  "sendEmail" : false,
  "clearSercurityQuestion" : false,
  "emailAddresses" : ["jdoe@acme.com"]
}

Sample response:

true

POST user/integration/saveUser

Adds or updates external user.

Request

A UserDetail object

Note

The mandatory fields required to post are listed as below:

  • userName
  • tenantDisplayID
  • Name of the roles (when adding or updating the external user, system will only save the external roles that their names are existing and ignore the others)
  • lastName
  • firstName

Response

  • true if the operation is successful
  • an error if not

Samples

POST /api/user/integration/saveUser HTTP/1.1
Request Payload:
{
   "id": null,
   "systemAdmin": false,
   "userName": "nina@retcl.com",
   "tenantId": null,
   "tenantDisplayId": "RETCL",
   "emailAddress": "nina@retcl.com",
   "roles": [{
         "name": "Emploee"
      }],
   "state": 0,
   "inserted": true,
   "version": 0,
   "created": "2017-12-20T06:42:44.337",
   "createdBy": "$RootAdmin$",
   "modified": "2017-12-20T06:44:48.527",
   "modifiedBy": "$RootAdmin$",
   "lastName": "Doe",
   "firstName": "Nina",
   "fullName": "Nina Doe",
   "active": true,
   "password": "",
   "deleted": false,
   "userSecurityQuestions": null,
   "userRoles": null,
   "dataOffset": null,
   "timestampOffset": null,
   "initPassword": false,
   "status": 1,
   "cultureName": null,
   "dateFormat": "MM/DD/YYYY"
}

Sample Response:

true

POST user/validateUserRoleAssociation

Validates user and role association after some roles are removed.

Request

Response

  • true if valid
  • false if not

Samples

POST /api/user/validateUserRoleAssociation HTTP/1.1

Request payload:

{
   "userId": "14fbf9ac-2d7b-41e9-a272-dd51e161914d",
   "removedRoleIds": ["d256d058-aeb7-468f-9f95-962d65979707"],
   "addedRoleIds": []
}

Sample Response:

true

POST user/allowedSharingUsers/(tenant_id)

Returns a list of users allowed to be selected in report/dashboard access.

Request

Payload: a SharingRoleUserParameter object

Response

An array of UserDetail objects

Samples

POST /api/user/allowedSharingUsers HTTP/1.1

Request payload:

{
   "reportId":"45f17b8a-3708-4f36-80ef-9178b7124841"
}
Sample Response:
[
{
   "password": null,
   "roles": [],
   "userRoles": null,
   "userSecurityQuestions": null,
   "status": 1,
   "issueDate": "0001-01-01T00:00:00",
   "autoLogin": false,
   "newPassword": null,
   "userName": "jdoe",
   "emailAddress": "jdoe@acme.com",
   "firstName": "John",
   "lastName": "Doe",
   "tenantId": null,
   "tenantDisplayId": null,
   "tenantName": null,
   "dataOffset": 0,
   "timestampOffset": 0,
   "initPassword": true,
   "active": true,
   "retryLoginTime": 0,
   "lastTimeAccessed": "2017-01-06T08:16:21.593",
   "passwordLastChanged": "2017-01-06T07:45:58.813",
   "locked": false,
   "lockedDate": null,
   "cultureName": "en-US",
   "securityQuestionLastChanged": "2017-01-06T07:48:13.24",
   "dateFormat": "MM/DD/YYYY",
   "systemAdmin": true,
   "notAllowSharing": false,
   "numberOfFailedSecurityQuestion": 0,
   "fullName": "John Doe",
   "currentModules": null,
   "id": "9fc0f5c2-decf-4d65-9344-c59a1704ea0c",
   "state": 0,
   "deleted": false,
   "inserted": true,
   "version": 14,
   "created": "2016-11-21T06:58:27.203",
   "createdBy": "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe",
   "modified": "2017-01-06T08:14:42.863",
   "modifiedBy": "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe"
},
{
   "password": null,
   "roles": [],
   "userRoles": null,
   "userSecurityQuestions": null,
   "status": 1,
   "issueDate": "0001-01-01T00:00:00",
   "autoLogin": false,
   "newPassword": null,
   "userName": "IzendaAdmin",
   "emailAddress": null,
   "firstName": "System",
   "lastName": "Admin",
   "tenantId": null,
   "tenantDisplayId": null,
   "tenantName": null,
   "dataOffset": 0,
   "timestampOffset": 0,
   "initPassword": true,
   "active": true,
   "retryLoginTime": 0,
   "lastTimeAccessed": "2017-01-05T03:58:35.073",
   "passwordLastChanged": null,
   "locked": null,
   "lockedDate": null,
   "cultureName": null,
   "securityQuestionLastChanged": null,
   "dateFormat": "MM/DD/YYYY",
   "systemAdmin": true,
   "notAllowSharing": false,
   "numberOfFailedSecurityQuestion": 0,
   "fullName": "System Admin",
   "currentModules": null,
   "id": "9d2f1d51-0e3d-44db-bfc7-da94a7581bfe",
   "state": 0,
   "deleted": false,
   "inserted": true,
   "version": 1,
   "created": null,
   "createdBy": "John Doe",
   "modified": "2017-01-05T03:58:49.12",
   "modifiedBy": null
}
]

GET user/isLastSystemAdmin

Checks if the number of not deleted system admins equals 1.

Request

No payload

Response

An OperationResult object with success field true and data field true if the number of not deleted system admins equals 1

Samples

GET /api/user/isLastSystemAdmin HTTP/1.1

Sample response:

{
   "success": true,
   "messages": null,
   "data": false
}

POST external/user

Add or update external user

Request

An UserDetail object

Response

An OperationResult object data field contains an UserDetail object.

Samples

POST /api/external/user HTTP/1.1

Request Payload:

{
   "id": null,
   "systemAdmin": false,
   "userName": "nina@retcl.com",
   "tenantId": "14fbf9ac-2d7b-41e9-a272-dd51e161914d",
   "tenantDisplayId": "RETCL",
   "emailAddress": "nina@retcl.com",
   "roles": [{
         "name": "Employee"
      }],
   "state": 0,
   "inserted": true,
   "version": 0,
   "created": "2017-12-20T06:42:44.337",
   "createdBy": "$RootAdmin$",
   "modified": "2017-12-20T06:44:48.527",
   "modifiedBy": "$RootAdmin$",
   "lastName": "Doe",
   "firstName": "Nina",
   "fullName": "Nina Doe",
   "active": true,
   "password": "",
   "deleted": false,
   "userSecurityQuestions": null,
   "userRoles": null,
   "dataOffset": null,
   "timestampOffset": null,
   "initPassword": false,
   "status": 1,
   "cultureName": null,
   "dateFormat": "MM/DD/YYYY"
}

Sample Reponse:

{
   "success": true,
   "messages": null,
   "data":
      {
         "id": "a3a3a5cc-123d-1c23-ae85-ba92ec3b934e",
         "systemAdmin": false,
         "userName": "nina@retcl.com",
         "tenantId": "14fbf9ac-2d7b-41e9-a272-dd51e161914d",
         "tenantDisplayId": "RETCL",
         "emailAddress": "nina@retcl.com",
         "roles": [{
               "name": "Employee"
            }],
         "state": 0,
         "inserted": true,
         "version": 0,
         "created": "2017-12-20T06:42:44.337",
         "createdBy": "$RootAdmin$",
         "modified": "2017-12-20T06:44:48.527",
         "modifiedBy": "$RootAdmin$",
         "lastName": "Doe",
         "firstName": "Nina",
         "fullName": "Nina Doe",
         "active": true,
         "password": "",
         "deleted": false,
         "userSecurityQuestions": null,
         "userRoles": null,
         "dataOffset": null,
         "timestampOffset": null,
         "initPassword": false,
         "status": 1,
         "cultureName": null,
         "dateFormat": "MM/DD/YYYY"
      }
}