SCIM User Provisioning User Guide

In this Document

Summary

The System for Cross-domain Identity Management (SCIM) User Provisioning APIs enable 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 AIQ (DDA)
    • Retrieve List of Users, including pagination.
    • Retrieve Details for Specific User.
  • Retrieving Encompass User Group(s)
    • Retrieve User Group List, including pagination.
    • Retrieve Specific Encompass User Group.
  • Creating a User
    • Create an Encompass User.
    • Create an Encompass SSO User.
    • Create an AIQ user and linking 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
  • Deleting a User
    • ICE MT best practice is to “disable” an Encompass user and not delete them.
    • If you create a user, and that user is assigned to loans, you should be extremely careful. Recommendation is to not delete that user. If a user is deleted and that user is assigned to loans, they will remain assigned to those loans until removed.

Use Cases Currently Not Supported

  • Adding and managing Standalone AIQ 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 Encompass user management requirements. The schema tells the SCIM provisioning service how to provision users for Encompass, or DDA (AIQ). 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 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 global userId.- GET 5b Retrieve Details for Specific User by global user id
GET Get Usersscim2/v1/usersGET All Users and associated User profiles.- GET 1 Retreive List of Users

- GET 5a Retrieve Details for Specific User by username
PATCH Update Userscim2/v1/users/{userId}PATCH User profiles associated with the global UserId, create an AIQ User and link to an existing Encompas User. Also, use this call to disable an Encompass user account, or enable/re-enable.- PATCH 6a Modifying attributes of the user profile

- PATCH 6b Modifying user profile - Disable

- PATCH 10 Create an AIQ User and link to an existing Encompass User
DELETE Userscim2/v1/users/{userId}DELETE User profile associated with the global userId.- DEL 9 DELETE user (use with caution)
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.
      • When updating accountIndicators, licenses and persona collection properties, the replace operation is going to replace the entire collection, replacement of individual collection records and sub-attributes is not supported.
        • For example, if you have two personas associated, and you only include one in the PATCH replace call, the two get replaced with the one.
        • If only one of the two personas associated needs to be replaced, the request payload must include the details for both records (existing record to be retained and a new record to be added).
    • 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

Global User ID (GUID) is a unique 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 (supported in a future release).

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

The SCIM GUID is generated when the Create User POST API call is executed to create a user, and captured in the "location" attribute, within the Header. Clients can extract and store it within their global user management system.

The Response body for the GET User API has an attribute meta.location, which provides the URI of the resource. This includes the GUID, which can be parsed and extracted for PATCH and DELETE user calls.

Important: The GUID must be stored on the client side as it is a required attribute for updating and deleting SCIM users.

If a SCIM user profile has already been created for one of the ICE MT products (e.g. Encompass), the GUID would have been generated; therefore, user provisioning for additional ICE MT products (e.g. DDA) for the given employee must be executed via the SCIM PATCH call.

If multiple GUIDs have been generated for provisioning access to different ICE MT products for the same employee in error, one of the Global User ID's must be removed to ensure both accounts are linked to the same Global User ID.

Use CaseAPI MethodResult
New employee access needed for Encompass and DDA.POSTA Global User ID is created.
An Encompass and DDA user profiles are created and linked to the newly created Global User ID.
Existing employee who already has access to Encompass, and needs access to DDA.PATCHA DDA user profile is created and linked to the existing Global User ID.

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 --request POST \
     --url 'https://api.elliemae.com/scim2/v1/users' \
     --header 'Authorization: Bearer 0004xfRNYOEiFfeBoRgJMqpGPCBz' \
     --header 'content-type: application/json'
     --data-raw
'{
"schemas": 
    [
      "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser"
    ],
  "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
  "userName": {{userName}},
  "jobTitle": "Loan Officer",
  "comments": "testcomment",
  "employeeId": "testempID",
  "chumId": "testchumId",
  "name": {
    "familyName": "testFamilyName",
    "givenName": "testGivenName"
    
  },
  
  "emails": [
    {
      "value": {{EMAIL_ADDR}},
      "type": "work",
      "primary":true
    }
  ],
  "phoneNumbers": [
    {
      "value": "1234562904 2345",
      "type": "work"
      
    },
    {
      "value": "1234561111 2312",
      "type": "mobile"
      
    },
    {
      "value": "1234562904 2345",
      "type": "fax"
      
    }
  ],
  "password": "Password@1",
    "workingFolder": {{folderName}},
    "personas": [
      {
        "entityId": {{personaId}}
      }],
      "organization":{
          "entityId": {{orgId}}
      },
     "ccSite": {
    "siteId": {{ConsumerConnect_siteid}},
    "url": "example.com",
    "useParentInformation": false
  },
    "licenses": [
      {
        "stateAbbrevation": "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"
      }
    ]
  }
}'
 {
   "description": "No Content",
   "headers": {
        "Location": {
           "description": " A location header indicates where the resource can be fetched in subsequent requests.",
           "type": "string"
              }
curl --location --request PATCH 'https://int.api.ellielabs.com/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 --request GET \
     --url 'https://api.elliemae.com/scim2/v1/users?schemas=urn%3Aietf%3Aparams%3Ascim%3Aschemas%3Aextension%3Aenterprise%3A2.0%3AEncompassInternalUser' \
     --header 'Authorization: Bearer 0004xfRNYOEiFfeBoRgJMqpGPCBz' \
     --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

curl --request GET \
     --url 'https://api.elliemae.com/scim2/v1/users/userId?schemas=urn%3Aietf%3Aparams%3Ascim%3Aschemas%3Aextension%3Aenterprise%3A2.0%3AEncompassInternalUser' \
     --header 'X-api-key: 9JsmcmHyzJuokoWeJJ8HGiRgS5GR8cSKVswz' \
     --header 'accept: application/json'
{
    "schemas": [
        "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser",
        "urn:ietf:params:scim:schemas:extension:ice:2.0:AIQUser"
    ],
    "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser": {
        "ssoDisconnectedFromOrg": false,
        "comments": "testcomment",
        "jobTitle": "Loan Officer",
        "lastModifiedBy": {
            "entityType": "User",
            "entityId": "admin"
        },
        "employeeId": "Employee12",
        "userName": "usertest19",
        "isSsoOnly": false,
        "accountIndicators": [
            "Enabled"
        ],
        "ccSite": {
            "useParentInformation": false,
            "siteId": "testid",
            "url": "example.com"
        },
        "personas": [
            {
                "entityName": "Copy of (4) Loan Officer",
                "entityType": "Persona",
                "entityId": "807"
            }
        ],
        "apiUser": false,
        "phoneNumbers": [
            {
                "type": "work",
                "value": "123-456-2904 2345"
            },
            {
                "type": "mobile",
                "value": "123-456-1111 2312"
            },
            {
                "type": "fax",
                "value": "123-456-2904 2345"
            }
        ],
        "workingFolder": "My Pipeline",
        "emails": [
            {
                "type": "work",
                "value": "[email protected]"
            }
        ],
        "createdBy": {
            "entityType": "User",
            "entityId": "admin"
        },
        "meta": {
            "created": "2023-09-21T22:46:30Z",
            "location": "http://int.scim-service.rd.elliemae.io/v1/users/76342fcf-82e9-4325-910c-5e9f6023a67b",
            "lastModified": "2023-09-21T22:51:24Z",
            "resourceType": "User"
        },
        "subordinateLoanAccess": "ReadOnly",
        "organization": {
            "entityName": "Branch 2 Management",
            "entityType": "Organization",
            "entityId": "2"
        },
        "chumId": "testchumId",
        "name": {
            "formatted": "testGivenName NewFamilyName3",
            "familyName": "NewFamilyName3",
            "givenName": "testGivenName"
        },
        "requirePasswordChange": false,
        "id": "usertest19",
        "peerLoanAccess": "Disabled"
    }
}

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--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": "replace",
      "path": "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser:accountIndicators",
       "value": ["Enabled"]      
       
    },
        {
            "op": "replace",//replaces all associated personas with the new value, or values
            "path": "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassInternalUser:personas",
            "value": [
                {
                    "entityId": 40
                }
            ]
        }
  ]
}
{
  "description": "No Content"
}

Delete User

curl --request DELETE \
     --url https://api.elliemae.com/scim2/v1/users/userId \
     --header 'Authorization: Bearer 0004y7wCXYPQiCrYhkFGP7Ou5mFl' \
     --header 'accept: application/json'
{
  "description": "No Content"
}

Get User Groups

curl --request GET \
     --url 'https://api.elliemae.com/scim2/v1/groups?schemas=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?schemas=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--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": "remove",
        "path": "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassGroup:members",
        "value": 
             [
                {
                "value":"149",
                "type":"Organization",
                "orgLevel": "Current"
                }
             ]
        },
        {
        "op": "remove",
        "path": "urn:ietf:params:scim:schemas:extension:ice:2.0:EncompassGroup:members",
        "value": 
             [
                {
                "value":{{orgId}},
                "type":"Organization"
                },
                {
                "value":{{userName}},
                "type":"User"
                }
            ]
       }
  ]
}
{
  "description": "No Content"
}