Create a Subscription

Creates a new subscription for specified Encompass instance.

Important Maintenance Information
ICE regularly reviews webhook subscriptions and will automatically delete bad webhook subscriptions which have undeliverable endpoints (and are more than 30 days old, generate more than 1,000 events per week, have a delivery status of 5XX, errors, and timeouts). Please be sure to regularly review your active webhook subscriptions for an optimal user experience.

Usage Notes

  • Refer to the GET Resource API response for resources and events available for subscriptions. Review the Resources and Events overview for a listing of supported webhook events for Encompass customers.
  • The subscription ID for the new webhook subscription is available in the location header of the response. For example, /webhook/v1/subscriptions/44bbbaec-41ae-470d-8ca4-7e513464ca25.
  • If a subscription has already been created for the given resource, all subsequent updates to the subscription including addition or removal of webhook events and filter.attributes (limited to loan change and field change events) must be done using the Update Subscription API.
  • Currently only Loan resource "change" and "fieldchange" events support filters.attributes.
  • No validation on filters.attributes - Please note that we do not validate the values specified under filter attributes. Invalid attributes are ignored.
How to specify filter attributes when subscribing to loan "change" events

Summary

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

  1. Static Fields
  2. Collections
  3. Collections with Conditional Patterns
  4. Variable Collections
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".

  • Example: Applications, Contacts, and Custom Fields.

  • Attribute:

    • "applications/0/" will trigger a notification if there is a change in any field within application with applicationIndex '0'
    • To subscribe for a notification which gets triggered due to a change in any of the items in the Contacts collection, use "/contacts/"
    • 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

    • V1 JSON Path: "/contacts[?(@/contactType == "LOAN_CLOSER")]/name"
    • Supported Filter Attribute: "/contacts/*/contactType/name"
3. 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.

  • Example: Fees and Assets.
  • Attribute: "/fees/*"
4. Variable Collections:
  • When subscribing to variable collections that start with a 0 such as Non-Borrowing Owners, to ensure the loan "change" webhook event is sent when the initial and subsequent records are added to the collection, specify the loan "change" filter attributes in 2 formats including with, and without a slash. This will ensure that you are notified when the first and any subsequent Non-Borrowing Owners are added to the loan.

  • To determine if the collection is variable or not, refer to the "multiInstance"=true attribute in the V3 Get Field Schema API. If "multiInstance"=true for a given field then the collection is variable, in which case both "/nonBorrowerOwners/* and "/nonBorrowerOwners" attributes must be specified when subscribing to this collection.

  • Example:

"filters": {
 	 "attributes": [
        "/nonBorrowerOwners/*",
         "/nonBorrowerOwners"
     ]
   }
How to specify filter attributes when subscribing to loan "fieldchange" events

Filter Attributes for fieldchange

When specifying filter attributes for a "fieldchange" event subscription, note the following format: /fields/{{fieldId}}

  • Example:
"filters": {
    "attributes": [
        "/fields/1109"
    ]
  }
Language
URL