Contracts

Webhook Subscription Attributes

The following attributes are contained within the subscription object.

ATTRIBUTEDESCRIPTION
subscriptionId Unique identifier of the subscription.


filters
object
List of attributes to which to subscribe.
filters.attributes
array of strings
JSON paths of the resource entity to which to subscribe. Wildcards (*) are supported.

Refer to Path Generator API for how to indicate attributes for specific fields. Restrictions apply to collection entities. Refer to How to specify filter attributes for subscriptions section below for more details.

Note:
- Currently only Loan resource "change" and "fieldchange" events support filters.attributes.
- filters.attributes cannot be used for “enhancedFieldChange” event. All changed fields will be returned in the payload.
- The maximum limit of fields that can be added in a single subscription is 50.
fieldChangeEvents.modifiedField
string
Encompass Field ID. If more than one borrower pair exists, includes an application indicator for each borrower pair appended to the field ID.

Example: Loan with 3 borrower pairs

- modifiedFieldId: 4000
Description: Borrower First Name, borrower pair 1
- modifiedFieldId: 4000#2
Description: Borrower First Name, borrower pair 2
-modifiedFIeldId: 4000#3
Description: Borrower First Name, borrower pair 3
fieldChangeEvents.parentFieldId
string
Encompass Field ID. This is the parent field and does not include an application indicator.
fieldChangeEvents.encompass
string
Object containing previous and new values, as shown in Encompass.
fieldChangeEvents.previousValue
string
Previous value of the field in Encompass, prior to the Field Change Event.
fieldChangeEvents.newValue
string
New value of the field in Encompass, after the Field Change Event.
v3LoanModel
string
Object containing previous and new values within the v3 Loan Model.
v3LoanModel.previousValue
string
Previous value of the v3 Loan Model field, prior to the Field Change Event.
v3LoanModel.newValue
string
New value of the v3 Loan Model field, after the Field Change Event.
multipartIndicator
string
If payload exceeds 220 KB, the event will be split into multiple webhooks. Each webhook will have
chunkId
string


clientId
string
Unique identifier per client assigned by ICE Mortgage Technology. This is an optional field. It will be populated automatically based on your authentication details.
objectUrn
string
URN format of the subscribed resource. Format: urn:elli:webhook:1": "DESCR:TION",
":0": "**sub

For example, urn:elli:webhook:123456:be123456:loan

This is only returned when getting a subscription.


events
Array of objects
Required. Defines the events that make up the subscription.
events.name
array of strings
Comma-separated list of events in the subscription. Please see the Webhook Overview page for supported values.

Note: A wildcard (*) cannot be used to subscribe to all types of events.


instanceId
string
Subscriber's Encompass instance ID. This is an optional field. it will be populated automatically based on your authentication details.
endpoint
string
The callback URL where the event notification will be delivered. The URL is expected to be a functioning and reliable HTTPS URL that is known only to the subscriber (a client's application). The callback URLs need to be under one base domain.
E.g. [https://www.abc.com/url1].
signingkey
string
Optional. The password to assign to the subscription. When providing a signing key, ensure the complexity requirements are met. See Complexity Requirements for Signing Keys for details. For more information about signing keys, see Subscription Signing Key.

If a value is not provided, the default signing key will be used.
resource
string
Refers to the resource that is part of a subscription. For example, Loan or Transaction.

Please see the Webhook Overview page for supported resources.
enableSubscription
Boolean
Boolean true or false. Default is true.
Can be added to Create, and Update, Webhook Subscription APIs to indicate whether the subscription is enabled or disabled.
If "false" is chosen at subscription creation, the attribute must then be updated to "true" to enable the subscription.
alertChanges
object
Limited Availability only
Comma separated attributes about the alertChanges event. Important attributes are:

- alertTypeID: the Encompass Loan Alert ID
- alertChanges.Name: Name of the Encompass Loan Alert* (see alertChanges.Name attribute below for list of available names)
- alertChanges.type: "Regulatory"
- alertChanges.status: "Open" (active) , or "Cleared".
- alertChanges.alertDate: Date that the alert was triggered on the loan.
- alertChanges.displayDate: Date that the alert displays/is visible on the loan.
- alertChanges.message: message that displays on the loan when alert is triggered.
alertChanges.Name
object
The Compliance Encompass Loan Alert Names are shown below. The alertChanges.Name will be one of these, based on the specific compliance alert that was triggered on the loan:

- Ability-to-Repay Exemption Reason Not Determined
- Ability-To-Repay Loan Type Not Determined
- AUS Data Discrepancy Alert
- Closing Date Violation
- eConsent Not Yet Received
- General QM DTI Exceeded
- General QM Loan Feature Violation
- General QM Price Limit Exceeded
- GFE Expires
- Good Faith Fee Variance Violated
- HUD-1 Tolerance Violated
- Loan Estimate Expires
- Positive Aggregate Escrow Adjustment
- QM Safe Harbor Eligibility Not Determined
- Qualified Mortgage Type Not Determined
- Redisclose Closing Disclosure (APR, Product, Prepay)
- Redisclose Closing Disclosure (Changed Circumstance)
- Redisclose Closing Disclosure (NBO Updated)
- Redisclose Closing Disclosure (Rate Lock)
- Redisclose GFE (Changed Circumstance)
- Redisclose GFE (Rote Lock)
- Redisclose Loan Estimate (Changed Circumstance)
- Redisclose Loan Estimate (Rate Lock)
- Redisclose REGZ - TIL (APR Change)
- Residual Income Assessment Recommended
- Send Initial Disclosures
- VA Discount Charge Violation
- Withdrawn Loan

📘

How to specify filter attributes when subscribing to loan "change" events

When specifying filter attributes for a loan "change" event subscription, note that the fields in the Loan resource can be classified into three broad categories:

  1. Static Fields : These are the fields that can be listed as attributes directly.
    Example: applicationTakenMethodType
    Attribute: "/applicationTakenMethodType"

  2. Collections : These are the entities within the Loan object which contains a list of items.
    The attribute can be specified in the form of "/entity/itemNumber".
    A few examples are Applications, Contacts, and Custom Fields.
    Attribute:
    i. "applications/0/" will trigger a notification if there is a change in any field within application with applicationIndex '0'
    ii. To subscribe for a notification which gets triggered due to a change in any of the items in the Contacts collection, use "/contacts/
    "
    iii. To subscribe for a notification which gets triggered due to the completion of a milestone, use "/milestoneLogs/*/doneIndicator"

Example: To be notified when the name of a contact type LOAN_CLOSER is updated:

  1. V1 JSON Path: "/contacts[?(@/contactType == "LOAN_CLOSER")]/name"
  2. Supported Filter Attribute: "/contacts/*/contactType/name"
  1. Collections with conditional Patterns : These are entities which contain items that can
    have multiple conditions. Currently, they can be subscribed to only at the collection level.
    A couple of examples are Fees and Assets.
    Attribute: "/fees/*"

📘

How to specify filter attributes when subscribing to loan "fieldchange" events

When specifying filter attributes for a "fieldchange" event subscription, note the following format:

/fields/{{fieldId}}

Example:

"filters": {
    "attributes": [
        "/fields/1109"
    ]

🚧

No validation on filter's attributes

Please note that we do not validate the values specified under attributes. Invalid attributes are ignored.