SCIM User Provisioning User Guide

In this Document

Summary

The System for Cross-domain Identity Management (SCIM) User Provisioning APIs enable user provisioning for ICE MT supported products (e.g. Encompass, DDA). In addition, SCIM APIs also support assignment of users and organizations to Encompass user groups for purposes of provisioning access to loans and shared Encompass resources (such as Templates and other items configurable on the User Group level).

SCIM is an open standard, REST and JSON based protocol that simplifies the user identity lifecycle management process by enabling automation between cloud-based identity providers (e.g., Okta) and service providers (e.g., Encompass). With SCIM, user identities are created and managed in a single user directory (identity and HR systems) and the user provisioning and deprovisioning changes are communicated across different applications such as Encompass.
The Encompass SCIM APIs are compliant with version 2.0 of the SCIM specification, which supports standard CRUD (Create, Retrieve, Update, Delete) operations.

Use Cases

Use Cases Supported

  • Retrieve User(s) Encompass and/or DDA(AIQ)
    • Retrieve List of Users, including pagination.
    • Retrieve Details for Specific User.
  • Retrieving Encompass User Group(s)
    • Retrieve Encompass User Group List, including pagination.
    • Retrieve Specific Encompass User Group.
  • Creating a User
    • Create an Encompass User.
    • Create an Encompass SSO User.
    • Create a DDA user and link to an existing Encompass User.
  • Modifying a User
    • Modify attributes of the user profile for a user created via SCIM API.
  • Assigning Encompass Users and Organizations to User Groups
  • Removing Encompass Users and Organizations from User Groups
  • Disabling a User Profile
    • Suspending user access by “disabling” the user account. The user account remains in the system but is inactive, preventing them from logging in or accessing resources.

Use Cases Currently Not Supported

  • Adding and managing Standalone DDA users.
  • Adding or managing other User Setup settings.
  • User Group set-up and maintenance outside of the supported use cases noted above.

Schemas

A JSON schema is provided that represents the user based on the ICE MT product user management requirements. The schema tells the SCIM provisioning service how to provision users for Encompass, or DDA. See SCIM API contract attributes for more details.

Schema URIs are used to indicate the namespaces of the SCIM schemas. Depending on the API call, they are provided either as a query parameter, and/or in the request body.

The following Schemas are available for SCIM User provisioning. Select from the list below to see the attributes that make up each Schema.

Request Schemas

Response Schemas

API Endpoints

The following API endpoints are available for SCIM User provisioning. Click on the Endpoint name in the table below to see the API definition for the given endpoint call.

A reference is provided to a postman sample(s) published for each API call. A link to the latest postman collection is published here.

API NameEndpoint URLDescriptionPostman Example
POST Create Userscim2/v1/usersCreate User API provides the ability to create a standalone Encompass or DDA User.- POST 4a Create an Encompass user with SCIM


- POST 4b Create an Encompass SSO user with SCIM
GET Get Userscim2/v1/users/{userId}GET User profiles associated with the globalUserId.- GET 5b Retrieve Details for Specific User by global user id.
GET Get Usersscim2/v1/usersGET All Users and associated User profiles.- GET 1 Retrieve List of Users


- GET 5a Retrieve Details for Specific User by username
PATCH Update Userscim2/v1/users/{userId}PATCH User profiles associated with the globalUserId, create a DDA User and link to an existing Encompas User. - PATCH 6a Modifying attributes of the user profile


- PATCH 10 Create a DDA User and link to an existing Encompass User
DELETE Userscim2/v1/users/{userId}Disable a user profile associated with the globalUserId.- DEL 9 Disable user
GET User Groupsscim2/v1/groupsGET User Groups associated with the realm for a given schema. This feature is supported only for Encompass product.- GET 2 Retrieving Encompass User Group List
GET User Groupscim2/v1/groups/{groupId}GET members for a given group id. This feature is supported only for Encompass product.- GET 3 Retrieving Specific Encompass User Group
PATCH Update User Groupscim2/v1/groups/{groupId}PATCH user group members for a given group id. This feature is supported only for Encompass product. Any changes to user group outside of members list must be done within the Encompass Admin.- PATCH 7 Assigning Encompass Users and Orgs to User Groups


- PATCH 8 Removing Encompass Users and Orgs from User Groups

Configuring Encompass User Defaults

  • A System Administrator can configure default values for user Organization, Persona and Working Folder attributes in the Admin Tools > Server Settings Manager > Policies for a given instance of Encompass.
  • When the defaults are configured, then you do not need to provide the following properties in the request payload when creating an Encompass user. The user is setup with the default settings.
    • workingFolder
    • personas
    • organization

Updating a User or User Group

When you create your request payload to update a user profile or a user group, you need to first determine the following two factors:

  • Type of update operation that should be used
  • Type of attribute and sub attribute that needs to be updated

Operations

The following patch operations(op) are supported for the SCIM PATCH calls.

  • Add - Use this operation to add a new value for the attribute.
  • Replace - Use this operation to replace existing value of an attribute.
    • Updating a User Profile
      • Also, use this operation to re-enable a disabled user.
    • Updating a User Group
      • This operation is only supported when updating the 'orgLevel' attribute when the type is 'Organization'.
  • Remove - Delete the existing value of an attribute.

Updating an Attribute

The path in the PATCH request body is used to specify the attribute/sub-attribute that should be updated.

  • Example: "path": "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser:emails.value"

Path is an optional parameter for add and replace operations, there are two ways to define the operation in a payload: with or without the path parameter.

Although the path is not mandatory for add and replace operations, the path is supported for all operations.

The difference is that with the path, if you want to add five sub-attributes, you need to define the attribute five times, whereas without the path, you can define all sub-attributes in a single JSON value.

If you are updating a complex attribute (an attribute with sub-attributes), the path must specify the attribute name, and a set of sub-attributes SHALL be specified in the "value" parameter. See the Example - Defining an operation with path below.

Example - Defining an operation without path

{  
    "schemas": [      
         "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "operations": [
    {
      "op": "add",
      "value": {
        "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
          "emails": [
            {
              "value": "[email protected]"             
            }
          ]
        }
      }
    }
  ]
}

Example - Defining an operation with path

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "operations": [
        {
            "op": "add",
            "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:EncompassInternalUser:emails",
            "value": [
                {
                    "value": "[email protected]"
                }
            ]
				}
    ]
}
      

Usage Notes

Access Controls

  • SCIM calls can only be made by users that have Super Admin, or Administrator personas.

Encompass System Audit Trail

  • SCIM calls will update the Encompass system audit trail.

SCIM Global User ID

The globalUserId (GUID) is a unique, immutable identifier assigned to a user by the ICE Mortgage Technology SCIM service. The GUID facilitates interoperability and consistent identification of users across the ICE MT applications that implement SCIM for identity management and cross-product Single Sign-on.

Lenders who are licensed for multiple ICE MT products (e.g. Encompass & DDA) must ensure that the user profiles for the same employee, across the different products, are linked to the same GUID.

To learn more about the Global User ID please see the SCIM Global User ID topic in this guide.

Retrieving Persona Id and Organization Id

  • Use these existing APIs to get a list of Encompass Persona IDs and Organization IDs. These Ids are needed when creating or updating users via SCIM.
    GET encompass/v3/settings/personas?personaType={{personaType}}
    
    GET encompass/v1/organizations?start=1&limit=20&view=summary
    

Pagination

This applies to GET Users and Get User Groups API calls.

  • Request Parameters
    • “startIndex” and “count” will allow you to specify which user record is the starting record, and how many user records to return.
      • If you do not include these parameters, the first 10 user records will be returned.
  • Response Attributes
    • totalResults = The total number of Encompass user records in your instance.
    • itemsPerPage = Default is 10. Or, if “count” parameter is provided, is equal to the number of user records requested. Max is 100.
    • startIndex = Default is 1. Or, if “startIndex” parameter is provided, is equal to the starting user record you specified.

Field Mapping - SCIM to Encompass Phone Number

The interface will translate SCIM compliant phone number types to the related supported types within Encompass (both inbound and outbound) per the following rules:

SCIM TypeEncompass Type
WorkPhone
MobileCellphone
FaxFax

Payload Request and Response Samples

Create User

curl --location '{{API_SERVER}}/scim2/v1/users' \
--header 'Authorization: Bearer 0004kXhJdmMoEAkfn5MvvUICP230' \
--header 'Content-Type: application/json' \
--data-raw '{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
    ],
    "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
        "userName": "testUser1",
        "jobTitle": "Loan Officer",
        "comments": "testcomment",
        "employeeId": "testempID",
        "chumId": "testchumId",
        "name": {
            "familyName": "testFamilyName",
            "givenName": "testGivenName"
        },
        "emails": [
            {
                "value": [email protected],
                "type": "work",
                "primary": true
            }
        ],
        "phoneNumbers": [
            {
                "value": "1234562904 2345",
                "type": "work"
            },
            {
                "value": "1234561111 2312",
                "type": "mobile"
            },
            {
                "value": "1234562904 2345",
                "type": "fax"
            }
        ],
        "password": "Password@1",
        "workingFolder": "01A LR",
        "personas": [
            {
                "entityId": 11
            }
        ],
        "organization": {
            "entityId": 0
        },
        "ccSite": {
            "siteId": 4664924411,
            "url": "example.com",
            "useParentInformation": false
        },
        "licenses": [
            {
                "stateAbbreviation": "AL",
                "selected": true,
                "licenseNumber": "string",
                "issueDate": "2023-03-06T18:24:23.620Z",
                "startDate": "2023-03-06T18:24:23.620Z",
                "endDate": "2023-03-06T18:24:23.620Z",
                "licenseStatusType": "TransitionRequested",
                "statusDate": "2023-03-06T18:24:23.620Z",
                "lastChecked": "2023-03-06T18:24:23.620Z"
            }
        ]
    }
}'
{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
  ],
  "id": "18272ed6-0455-486f-94ea-a586924e8fd5",
  "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
    "ssoDisconnectedFromOrg": false,
    "jobTitle": "Loan Officer",
    "compensationPlans": {},
    "isSsoOnly": false,
    "ccSite": {
      "useParentInformation": false,
      "siteId": "4664924411",
      "url": "example.com"
    },
    "accountEnabled": true,
    "apiUser": false,
    "phoneNumbers": [
      {
        "type": "work",
        "value": "123-456-2904 2345"
      },
      {
        "type": "mobile",
        "value": "123-456-1111 2312"
      },
      {
        "type": "fax",
        "value": "123-456-2904 2345"
      }
    ],
    "userIndicators": [
      "TopLevelUser"
    ],
    "workingFolder": "01A LR",
    "emails": [
      {
        "type": "work",
        "value": "[email protected]"
      }
    ],
    "subordinateLoanAccess": "ReadOnly",
    "chumId": "testchumId",
    "loginEnabled": true,
    "id": "testuser1",
    "peerLoanAccess": "Disabled",
    "comments": "testcomment",
    "allowImpersonation": false,
    "lastModifiedBy": {
      "entityType": "User",
      "entityId": "<system>"
    },
    "employeeId": "testempID",
    "userName": "testuser1",
    "personas": [
      {
        "entityName": "Loan Processor",
        "entityType": "Persona",
        "entityId": "11"
      }
    ],
    "licenses": [
      {
        "statusDate": "2023-03-06",
        "endDate": "2023-03-06",
        "stateAbbreviation": "AL",
        "licenseStatus": "Transition Requested",
        "licenseNumber": "string",
        "licenseStatusType": "TransitionRequested",
        "issueDate": "2023-03-06",
        "lastChecked": "2023-03-06",
        "selected": true,
        "startDate": "2023-03-06"
      },
      {
        "stateAbbreviation": "AK",
        "selected": false
      },
      {
        "stateAbbreviation": "AZ",
        "selected": false
      },
      {
        "stateAbbreviation": "AR",
        "selected": false
      },
      {
        "stateAbbreviation": "CA",
        "selected": false
      },
      {
        "stateAbbreviation": "CO",
        "selected": false
      },
      {
        "stateAbbreviation": "CT",
        "selected": false
      },
      {
        "stateAbbreviation": "DC",
        "selected": false
      },
      {
        "stateAbbreviation": "DE",
        "selected": false
      },
      {
        "stateAbbreviation": "FL",
        "selected": false
      },
      {
        "stateAbbreviation": "GA",
        "selected": false
      },
      {
        "stateAbbreviation": "HI",
        "selected": false
      },
      {
        "stateAbbreviation": "ID",
        "selected": false
      },
      {
        "stateAbbreviation": "IL",
        "selected": false
      },
      {
        "stateAbbreviation": "IN",
        "selected": false
      },
      {
        "stateAbbreviation": "IA",
        "selected": false
      },
      {
        "stateAbbreviation": "KS",
        "selected": false
      },
      {
        "stateAbbreviation": "KY",
        "selected": false
      },
      {
        "stateAbbreviation": "LA",
        "selected": false
      },
      {
        "stateAbbreviation": "ME",
        "selected": false
      },
      {
        "stateAbbreviation": "MD",
        "selected": false
      },
      {
        "stateAbbreviation": "MA",
        "selected": false
      },
      {
        "stateAbbreviation": "MI",
        "selected": false
      },
      {
        "stateAbbreviation": "MN",
        "selected": false
      },
      {
        "stateAbbreviation": "MS",
        "selected": false
      },
      {
        "stateAbbreviation": "MO",
        "selected": false
      },
      {
        "stateAbbreviation": "MT",
        "selected": false
      },
      {
        "stateAbbreviation": "NE",
        "selected": false
      },
      {
        "stateAbbreviation": "NV",
        "selected": false
      },
      {
        "stateAbbreviation": "NH",
        "selected": false
      },
      {
        "stateAbbreviation": "NJ",
        "selected": false
      },
      {
        "stateAbbreviation": "NM",
        "selected": false
      },
      {
        "stateAbbreviation": "NY",
        "selected": false
      },
      {
        "stateAbbreviation": "NC",
        "selected": false
      },
      {
        "stateAbbreviation": "ND",
        "selected": false
      },
      {
        "stateAbbreviation": "OH",
        "selected": false
      },
      {
        "stateAbbreviation": "OK",
        "selected": false
      },
      {
        "stateAbbreviation": "OR",
        "selected": false
      },
      {
        "stateAbbreviation": "PA",
        "selected": false
      },
      {
        "stateAbbreviation": "RI",
        "selected": false
      },
      {
        "stateAbbreviation": "SC",
        "selected": false
      },
      {
        "stateAbbreviation": "SD",
        "selected": false
      },
      {
        "stateAbbreviation": "TN",
        "selected": false
      },
      {
        "stateAbbreviation": "TX",
        "selected": false
      },
      {
        "stateAbbreviation": "UT",
        "selected": false
      },
      {
        "stateAbbreviation": "VT",
        "selected": false
      },
      {
        "stateAbbreviation": "VA",
        "selected": false
      },
      {
        "stateAbbreviation": "WA",
        "selected": false
      },
      {
        "stateAbbreviation": "WV",
        "selected": false
      },
      {
        "stateAbbreviation": "WI",
        "selected": false
      },
      {
        "stateAbbreviation": "WY",
        "selected": false
      },
      {
        "stateAbbreviation": "VI",
        "selected": false
      },
      {
        "stateAbbreviation": "GU",
        "selected": false
      },
      {
        "stateAbbreviation": "PR",
        "selected": false
      }
    ],
    "createdBy": {
      "entityType": "User",
      "entityId": "<system>"
    },
    "meta": {
      "created": "2024-08-09T17:50:49Z",
      "location": "{{API_SERVER}}/v1/users/18272ed6-0455-486f-94ea-a586924e8fd5",
      "lastModified": "2024-08-09T17:50:49Z",
      "resourceType": "User"
    },
    "organization": {
      "entityName": "Administration",
      "entityType": "Organization",
      "entityId": "0"
    },
    "name": {
      "formatted": "testGivenName testFamilyName",
      "familyName": "testFamilyName",
      "givenName": "testGivenName"
    },
    "requirePasswordChange": false
  }
}
curl --location --request PATCH 'https://{{API-SERVER}}/scim2/v1/users/b32fc0df-5fa4-482d-bc08-8a34c767e50d' \
--header 'Authorization: Bearer 0004TFbZyHysPk15ePubJH2uvrYh' \
--header 'Content-Type: application/json' \
--data-raw '{
   "schemas":[
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
   ],
   "operations":[
      {
         "op":"add",
         "value":{
            "urn:ietf:params:scim:schemas:extension:ice:2.0:AIQUser":{
               "userName":"testaiq28j452",
               "roleName":"UnderWriter",
               "enabled":true,
               "ssoOnly":true,
               "name":{
                  "familyName":"testlname",
                  "middleName":"testmname",
                  "givenName":"testfirstname"
               },
               "phoneNumbers":[
                  {
                     "value":"7972431206",
                     "type":"work"
                  }
               ],
               "emails":[
                  {
                     "value":"[email protected]",
                     "type":"work",
                     "primary":true
                  }
               ],
            "authId":"5B9E2D6B-9ECE-7F92-A381-DA863E2E2CF0"
            }
         }
      }
   ]
}'

Get Users

curl --location 'https://int.api.ellielabs.com/scim2/v1/users?schema=urn%3Aietf%3Aparams%3Ascim%3Aschemas%3Aextension%3Aice%3A2.0%3AEncompassInternalUser&count=5000&startIndex=800&filter=enc_isRecursive%20eq%20true' \
--header 'Authorization: Bearer 0004slozApNDsw5uLxhWHnCLPorh'
{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:ListResponse"
  ],
  "totalResults": "896",
  "itemsPerPage": "4",
  "startIndex": "800",
  "Resources": [
    {
      "schemas": [
        "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser",
        "urn:ietf:params:scim:schemas:core:2.0:User"
      ],
      "id": "d403fa57-71d1-4a86-b24b-a4d22ae9fcda",
      "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
        "emails": [
          {
            "type": "work",
            "value": "[email protected]"
          }
        ],
        "createdBy": {
          "entityType": "User",
          "entityId": "<system>"
        },
        "meta": {
          "created": "2024-08-01T17:46:44Z",
          "location": "http://int.api.ellielabs.com/v1/users/d403fa57-71d1-4a86-b24b-a4d22ae9fcda",
          "lastModified": "2024-08-01T17:46:44Z",
          "resourceType": "User"
        },
        "lastModifiedBy": {
          "entityType": "User",
          "entityId": "<system>"
        },
        "name": {
          "familyName": "testFamilyName",
          "givenName": "testGivenName"
        },
        "loginEnabled": true,
        "id": "test123",
        "userName": "test123",
        "accountEnabled": true,
        "phoneNumbers": [
          {
            "type": "work",
            "value": "123-456-2904 2345"
          }
        ]
      }
    },
    {
      "schemas": [
        "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser",
        "urn:ietf:params:scim:schemas:core:2.0:User"
      ],
      "id": "18272ed6-0455-486f-94ea-a586924e8fd5",
      "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
        "emails": [
          {
            "type": "work",
            "value": "[email protected]"
          }
        ],
        "createdBy": {
          "entityType": "User",
          "entityId": "<system>"
        },
        "meta": {
          "created": "2024-08-09T17:50:49Z",
          "location": "http://int.api.ellielabs.com/v1/users/18272ed6-0455-486f-94ea-a586924e8fd5",
          "lastModified": "2024-08-09T17:50:49Z",
          "resourceType": "User"
        },
        "lastModifiedBy": {
          "entityType": "User",
          "entityId": "<system>"
        },
        "name": {
          "familyName": "testFamilyName",
          "givenName": "testGivenName"
        },
        "loginEnabled": true,
        "id": "testuser1",
        "userName": "testuser1",
        "accountEnabled": true,
        "phoneNumbers": [
          {
            "type": "work",
            "value": "123-456-2904 2345"
          }
        ]
      }
    },
    {
      "schemas": [
        "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser",
        "urn:ietf:params:scim:schemas:core:2.0:User"
      ],
      "id": "fb5fb3eb-cfa0-4a8f-b2be-000a44744bd6",
      "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
        "emails": [
          {
            "type": "work",
            "value": "[email protected]"
          }
        ],
        "createdBy": {
          "entityType": "User",
          "entityId": "<system>"
        },
        "meta": {
          "created": "2024-07-25T20:35:25Z",
          "location": "http://int.api.ellielabs.com/v1/users/fb5fb3eb-cfa0-4a8f-b2be-000a44744bd6",
          "lastModified": "2024-07-25T20:35:25Z",
          "resourceType": "User"
        },
        "lastModifiedBy": {
          "entityType": "User",
          "entityId": "<system>"
        },
        "name": {
          "familyName": "Smith",
          "givenName": "Will"
        },
        "loginEnabled": true,
        "id": "thomast",
        "userName": "thomast",
        "accountEnabled": true,
        "phoneNumbers": [
          {
            "type": "work",
            "value": "123-456-2904 2345"
          }
        ]
      }
    },
    {
      "schemas": [
        "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser",
        "urn:ietf:params:scim:schemas:core:2.0:User"
      ],
      "id": "dd3cf411-6fa8-46d6-bd7e-55f441d86667",
      "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
        "emails": [
          {
            "type": "work",
            "value": "[email protected]"
          }
        ],
        "createdBy": {
          "entityType": "User",
          "entityId": "<system>"
        },
        "meta": {
          "created": "2024-07-25T23:36:23Z",
          "location": "{{API_SERVER}}/v1/users/dd3cf411-6fa8-46d6-bd7e-55f441d86667",
          "lastModified": "2024-07-25T23:36:23Z",
          "resourceType": "User"
        },
        "lastModifiedBy": {
          "entityType": "User",
          "entityId": "<system>"
        },
        "name": {
          "familyName": "Robertson",
          "givenName": "Will"
        },
        "loginEnabled": true,
        "id": "wrobertson",
        "userName": "wrobertson",
        "accountEnabled": true,
        "phoneNumbers": [
          {
            "type": "work",
            "value": "123-456-2904 2345"
          }
        ]
      }
    }
  ]
}

Get User

curl --location 'https://int.api.ellielabs.com/scim2/v1/users/a327ae1d-14d8-499a-a740-31d188ca65b1?schema=urn%3Aietf%3Aparams%3Ascim%3Aschemas%3Aextension%3Aice%3A2.0%3AEncompassInternalUser' \
--header 'Authorization: Bearer 0004slozApNDsw5uLxhWHnCLPorh'
{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
    ],
    "id": "a327ae1d-14d8-499a-a740-31d188ca65b1",
    "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
        "ssoDisconnectedFromOrg": false,
        "lastLogin": "2024-05-20T12:46:00Z",
        "realmName": "encompass:be11200922",
        "compensationPlans": {},
        "isSsoOnly": false,
        "ccSite": {},
        "accountEnabled": false,
        "apiUser": false,
        "phoneNumbers": [],
        "userIndicators": [
            "TopLevelUser"
        ],
        "workingFolder": "My Pipeline",
        "emails": [
            {
                "type": "work",
                "value": "[email protected]"
            }
        ],
        "subordinateLoanAccess": "ReadOnly",
        "loginEnabled": false,
        "id": "aa03",
        "peerLoanAccess": "Disabled",
        "nmlsOriginatorId": "122",
        "allowImpersonation": false,
        "lastModifiedBy": {
            "entityType": "User",
            "entityId": "<system>"
        },
        "groups": [
            {
                "entityName": "All Users",
                "entityType": "UserGroup",
                "entityId": "1"
            }
        ],
        "userName": "aa03",
        "personas": [
            {
                "entityName": "Loan Officer",
                "entityType": "Persona",
                "entityId": "7"
            }
        ],
        "licenses": [
            {
                "stateAbbreviation": "AL",
                "selected": false
            },
            {
                "stateAbbreviation": "AK",
                "selected": false
            },
            {
                "stateAbbreviation": "AZ",
                "selected": false
            },
            {
                "stateAbbreviation": "AR",
                "selected": false
            },
            {
                "stateAbbreviation": "CA",
                "selected": false
            },
            {
                "stateAbbreviation": "CO",
                "selected": false
            },
            {
                "stateAbbreviation": "CT",
                "selected": false
            },
            {
                "stateAbbreviation": "DC",
                "selected": false
            },
            {
                "stateAbbreviation": "DE",
                "selected": false
            },
            {
                "stateAbbreviation": "FL",
                "selected": false
            },
            {
                "stateAbbreviation": "GA",
                "selected": false
            },
            {
                "stateAbbreviation": "HI",
                "selected": false
            },
            {
                "stateAbbreviation": "ID",
                "selected": false
            },
            {
                "stateAbbreviation": "IL",
                "selected": false
            },
            {
                "stateAbbreviation": "IN",
                "selected": false
            },
            {
                "stateAbbreviation": "IA",
                "selected": false
            },
            {
                "stateAbbreviation": "KS",
                "selected": false
            },
            {
                "stateAbbreviation": "KY",
                "selected": false
            },
            {
                "stateAbbreviation": "LA",
                "selected": false
            },
            {
                "stateAbbreviation": "ME",
                "selected": false
            },
            {
                "stateAbbreviation": "MD",
                "selected": false
            },
            {
                "stateAbbreviation": "MA",
                "selected": false
            },
            {
                "stateAbbreviation": "MI",
                "selected": false
            },
            {
                "stateAbbreviation": "MN",
                "selected": false
            },
            {
                "stateAbbreviation": "MS",
                "selected": false
            },
            {
                "stateAbbreviation": "MO",
                "selected": false
            },
            {
                "stateAbbreviation": "MT",
                "selected": false
            },
            {
                "stateAbbreviation": "NE",
                "selected": false
            },
            {
                "stateAbbreviation": "NV",
                "selected": false
            },
            {
                "stateAbbreviation": "NH",
                "selected": false
            },
            {
                "stateAbbreviation": "NJ",
                "selected": false
            },
            {
                "stateAbbreviation": "NM",
                "selected": false
            },
            {
                "stateAbbreviation": "NY",
                "selected": false
            },
            {
                "stateAbbreviation": "NC",
                "selected": false
            },
            {
                "stateAbbreviation": "ND",
                "selected": false
            },
            {
                "stateAbbreviation": "OH",
                "selected": false
            },
            {
                "stateAbbreviation": "OK",
                "selected": false
            },
            {
                "stateAbbreviation": "OR",
                "selected": false
            },
            {
                "stateAbbreviation": "PA",
                "selected": false
            },
            {
                "stateAbbreviation": "RI",
                "selected": false
            },
            {
                "stateAbbreviation": "SC",
                "selected": false
            },
            {
                "stateAbbreviation": "SD",
                "selected": false
            },
            {
                "stateAbbreviation": "TN",
                "selected": false
            },
            {
                "stateAbbreviation": "TX",
                "selected": false
            },
            {
                "stateAbbreviation": "UT",
                "selected": false
            },
            {
                "stateAbbreviation": "VT",
                "selected": false
            },
            {
                "stateAbbreviation": "VA",
                "selected": false
            },
            {
                "stateAbbreviation": "WA",
                "selected": false
            },
            {
                "stateAbbreviation": "WV",
                "selected": false
            },
            {
                "stateAbbreviation": "WI",
                "selected": false
            },
            {
                "stateAbbreviation": "WY",
                "selected": false
            },
            {
                "stateAbbreviation": "VI",
                "selected": false
            },
            {
                "stateAbbreviation": "GU",
                "selected": false
            },
            {
                "stateAbbreviation": "PR",
                "selected": false
            }
        ],
        "createdBy": {
            "entityType": "User",
            "entityId": "<system>"
        },
        "meta": {
            "created": "2024-05-20T10:58:36Z",
            "location": "http://int.api.ellielabs.com/v1/users/a327ae1d-14d8-499a-a740-31d188ca65b1",
            "lastModified": "2024-08-08T23:55:20Z",
            "resourceType": "User"
        },
        "organization": {
            "entityName": "Administration",
            "entityType": "Organization",
            "entityId": "0"
        },
        "name": {
            "formatted": "aa03 Internal user",
            "familyName": "user",
            "givenName": "aa03",
            "middleName": "Internal"
        },
        "requirePasswordChange": false
    }
}

Update User

curl--request PATCH 
    --url 'https://qa.api.ellielabs.com/scim2/v1/users/104eafb6-3e73-4317-9fc7-38d21517cb9a' \
    --header 'Authorization: Bearer 0004y7wCXYPQiCrYhkFGP7Ou5mFl' \
    --header 'Content-Type: application/json' \
    --data-raw
'{


  "schemas": [

    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],

  "operations": [
    {
      "op": "add",
      "value": {
        "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
          "emails": [
            {
              "value": "[email protected]"
             
            }
          ],
          "phoneNumbers": [
          {
          "value": "123456755",
           "type": "mobile"
          }
		  
          ],
          "name":{
            "familyName":"testlname",
            "middleName":"testmname",
            "givenName":"testfirstname"
               }
        }
      }
    }
  ]
}'
curl --location --request PATCH 'https://int.api.ellielabs.com/scim2/v1/users/a327ae1d-14d8-499a-a740-31d188ca65b1' \
--header 'Authorization: Bearer 0004slozApNDsw5uLxhWHnCLPorh' \
--header 'Content-Type: application/json' \
--data '{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "operations": [
        {
            "op": "remove",
            "path": "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser:name.middleName"
        }
    ]
}'
{
  "description": "No Content"
}

Disable User

curl --location --request DELETE 'https://int.api.ellielabs.com/scim2/v1/users/a327ae1d-14d8-499a-a740-31d188ca65b1?schema=urn%3Aietf%3Aparams%3Ascim%3Aschemas%3Aextension%3Aice%3A2.0%3AEncompassInternalUser' \
--header 'Authorization: Bearer 0004slozApNDsw5uLxhWHnCLPorh'
{
  "description": "No Content"
}

Get User Groups

curl --request GET \
     --url 'https://api.elliemae.com/scim2/v1/groups?schema=urn%3Aietf%3Aparams%3Ascim%3Aschemas%3Aextension%3Aice%3A2.0%3AEncompassGroup' \
     --header'Authorization: Bearer 0004y7wCXYPQiCrYhkFGP7Ou5mFl' \
     --header 'accept: application/json'
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": "1364",
    "itemsPerPage": "10",
    "startIndex": "1",
    "Resources": [
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
            ],
            "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
                "emails": [
                    {
                        "type": "work",
                        "value": "[email protected]"
                    }
                ],
                "meta": {
                    "resourceType": "User"
                },
                "name": {
                    "familyName": "officer",
                    "givenName": "yongfei"
                },
                "id": "yongfei_lo_1"
            }
        },
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
            ],
            "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
                "emails": [
                    {
                        "type": "work",
                        "value": "[email protected]"
                    }
                ],
                "meta": {
                    "resourceType": "User"
                },
                "name": {
                    "familyName": "joshi",
                    "givenName": "yogini"
                },
                "id": "yjoshi"
            }
        },
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
            ],
            "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
                "emails": [
                    {
                        "type": "work",
                        "value": "[email protected]"
                    }
                ],
                "meta": {
                    "resourceType": "User"
                },
                "name": {
                    "familyName": "admin",
                    "givenName": "xoriant"
                },
                "id": "xoriantadmin"
            }
        },
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
            ],
            "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
                "emails": [
                    {
                        "type": "work",
                        "value": "[email protected]"
                    }
                ],
                "meta": {
                    "resourceType": "User"
                },
                "name": {
                    "familyName": "pune",
                    "givenName": "xoriant"
                },
                "id": "xoriant"
            }
        },
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
            ],
            "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
                "emails": [
                    {
                        "type": "work",
                        "value": "[email protected]"
                    }
                ],
                "meta": {
                    "resourceType": "User"
                },
                "name": {
                    "familyName": "Li",
                    "givenName": "Xiaomin"
                },
                "id": "xiaomin_super"
            }
        },
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
            ],
            "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
                "emails": [
                    {
                        "type": "work",
                        "value": "[email protected]"
                    }
                ],
                "meta": {
                    "resourceType": "User"
                },
                "name": {
                    "familyName": "cost",
                    "givenName": "wps5"
                },
                "id": "wpscustomcols6"
            }
        },
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
            ],
            "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
                "emails": [
                    {
                        "type": "work",
                        "value": "[email protected]"
                    }
                ],
                "meta": {
                    "resourceType": "User"
                },
                "name": {
                    "familyName": "cusomt",
                    "givenName": "wps5"
                },
                "id": "wpscustomcols5"
            }
        },
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
            ],
            "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
                "emails": [
                    {
                        "type": "work",
                        "value": "[email protected]"
                    }
                ],
                "meta": {
                    "resourceType": "User"
                },
                "name": {
                    "familyName": "custom",
                    "givenName": "wps4"
                },
                "id": "wpscustomcols4"
            }
        },
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
            ],
            "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
                "emails": [
                    {
                        "type": "work",
                        "value": "[email protected]"
                    }
                ],
                "meta": {
                    "resourceType": "User"
                },
                "name": {
                    "familyName": "cusotm",
                    "givenName": "wps2"
                },
                "id": "wpscustomcols3"
            }
        },
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
            ],
            "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
                "emails": [
                    {
                        "type": "work",
                        "value": "[email protected]"
                    }
                ],
                "meta": {
                    "resourceType": "User"
                },
                "name": {
                    "familyName": "col",
                    "givenName": "wps2"
                },
                "id": "wpscustomcols2"
            }
        }
    ]
}

Get User Group

curl --request GET \
     --url 'https://api.elliemae.com/scim2/v1/group/groupId?schema=urn%3Aietf%3Aparams%3Ascim%3Aschemas%3Aextension%3Aice%3A2.0%3AEncompassGroup' \
     --header 'Authorization: Bearer 0004y7wCXYPQiCrYhkFGP7Ou5mFl' \
     --header 'accept: application/json'
{
    "schemas": [
        "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassGroup"
    ],
    "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassGroup": {
        "lastModifiedDate": "2023-09-17T20:21:10Z",
        "displayName": "Accounting",
        "meta": {
            "location": "http://int.scim-service.rd.elliemae.io/v1/groups/8",
            "lastModified": "2023-09-17T20:21:10Z",
            "resourceType": "Group"
        },
        "lastModifiedBy": {
            "entityType": "User",
            "entityId": "admin"
        },
        "members": [
            {
                "orgLevel": "Recursive",
                "type": "Organization",
                "value": "1",
                "entityName": "Branch 1 Management"
            },
            {
                "orgLevel": "Recursive",
                "type": "Organization",
                "value": "37",
                "entityName": "Accounting Management"
            },
            {
                "type": "User",
                "accountIndicators": [
                    "Enabled"
                ],
                "value": "usertest9",
                "entityName": "testGivenName testRyan"
            }
        ],
        "id": "8"
    }
}

Update User Group

curl--request PATCH \
    --url 'https://qa.api.ellielabs.com/scim2/v1/groups/1' \
    --header 'Authorization: Bearer 0004xfRNYOEiFfeBoRgJMqpGPCBz' \
    --header 'content-type: application/json'
    --data-raw
  '{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "operations": [
        {
            "op": "add",
            "value": {
                "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassGroup": {
                    "members": [
                        {
                            "value": {{orgId}},
                            "type": "Organization",
                            "orgLevel": "Current"
                        }
                        ,
                        {
                            "value": {{userName}},
                            "type": "User"
                        }
                    ]
                }
            }
        }
    ]
}'
curl --location --request PATCH 'https://int.api.ellielabs.com/scim2/v1/groups/1' \
--header 'Authorization: Bearer 0004slozApNDsw5uLxhWHnCLPorh' \
--header 'Content-Type: application/json' \
--data '{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "operations": [
        {
            "op": "remove",
            "path": "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassGroup:members[value eq \"aa03\" and type eq\"User\"]"
        }
    ]
}'
{
  "description": "No Content"
}