October 21.3 Major Release
New and Updated V3 APIs
New V3 APIs for Disclosure Tracking 2015 Logs
With this release, we are introducing V3 APIs for retrieving and managing Disclosure Tracking 2015 Logs. Use these APIs to retrieve and manage log tracking entries for the 2015 Loan Estimate, Closing Disclosure, Settlement Service Provider, and Safe Harbor disclosures.
Endpoint URL: /v3/loans/{loanId}/disclosureTracking2015Logs
The following APIs are available for retrieving and managing Disclosure Tracking 2015 Logs:
- Get All Disclosure Tracking Logs. Retrieves all disclosure tracking logs for a specified loan.
- Get a Disclosure Tracking Log. Retrieves the specified Disclosure Tracking 2015 log for the specified loan.
- Add a Disclosure Tracking Log. Adds a disclosure tracking 2015 log to a specified loan.
- Update a Disclosure Tracking Log. Updates an existing disclosure tracking 2015 log on a specified loan.
- Get all Snapshots. Retrieves snapshot data for all the Disclosure Tracking logs for a loan.
- Get a Snapshot. Retrieves a snapshot of a specified Disclosure Tracking log.
EBSP-26777, CBIZ-38716
New API Available for Viewing Eligible Roles for an Encompass User
The Eligible Roles API provides the ability to retrieve a list of roles that an Encompass user qualifies for based on their persona and user group affiliation.
Endpoint URL: /v3/users/{userId}/eligibleRoles
EBSP-28617
New APIs Available for Managing Registration Logs
Use the Loan Registration Log APIs to create and manage registration logs programmatically when loans are registered.
Endpoint URL: /v3/loans/{loanId}/registrationLogs
The following APIs are available to manage registration logs:
- Get Registration Logs. Retrieves all registration logs for a loan.
- Create Registration Log. Use this API to create a registration log for an existing loan
- Update Registration Log. Updates an existing registration log.
EBSP-29357
New Field Writer API Available
The Field Writer API updates the values of fields by Field IDs rather than JSON paths for a given loan. This is an alternative to the Update Loan API, and is especially helpful when trying to update specific fields by field IDs. This API also provides the ability to lock and unlock padlock fields.
Endpoint URL: /v3/loans/{loanId}/fieldWriter
The following Field Writer APIs are available with this release:
- Update Loan Field Values. Updates field values for a specified loan file.
- Manage Field Lock Data. Adds or removes field lock data.
EBSP-31551
New APIs Available for Retrieving and Applying Funding Templates
A new API has been added to the Settings: Secondary API set to retrieve a list of funding templates, and the Loan API has been expanded to support the ability to apply a funding template to an existing loan.
Get Funding Templates
The new Get Funding Templates API has been added to the Settings: Secondary API set. It retrieves a list of funding templates available on the Encompass instance.
Endpoint URL: /v3/settings/secondary/fundingTemplates
Use the itemizationType query parameter to filter the results. Possible values are 2009, 2010, and 2015.
GET /v3/settings/secondary/fundingTemplates?itemizationType=<2009|2010|2015>
Apply a Funding Template to an Existing Loan
The Update Loan-1 templateType query parameter has been enhanced to support a value of funding. Use this value to apply a funding template to an existing loan.
PATCH /v3/loans/{loanId}?templateType=funding&templatePath={URI encoded template name}
EBSP-31601
Updates to the Investor Template API Contract
The Investor Template API contract has been updated to include a new purchaserTypeValue attribute. This attribute provides a long form value of the purchaserType field. The purchaserTypeValue attribute is passed between Loan APIs and populates Type of Purchaser (field ID 1397) in the HMDA Information form when the investor template is applied to a loan file.
The table below displays the possible values for the purchaserTypeValue attribute and the correlative purchaserType values:
purchaserTypeValue (Long Form) | purchaserType (Enum) |
---|---|
Loan was not originated | NotApplicable |
FNMA | FannieMae |
GNMA | GinnieMae |
FHLMC | FreddieMac |
FAMC | FarmerMac |
Private Securitization | PrivateSecuritizer |
Savings Bank | CommercialSavingsBankOrAssociation |
Credit union, mortgage company, or finance company | CreditUnionMortgageOrFinanceCompany |
Life Insurance Co. | LifeInsurance |
Affiliate Institution | AffiliateInstitution |
Other type of purchaser | Others |
EBSP-29124
New and Updated V1 APIs
New Sell/Comparison Update Action Added to Submit Rate Lock API
The Submit Rate Lock API has been enhanced to support the update Sell/Comparison action. Use this action to update only the Sell Side and Comparison Side details for a lock that was previously confirmed, expired, or denied. This action creates a new lock snapshot, inheriting the attributes from the original lockId for lockRequest and buySide. The status of the original lock that you are updating is carried over.
POST /v1/loans/{loanId}/ratelockRequests?action=updateSellComparison&lockId={lock ID}
Enhancements Made to Lock Request Type in Rate Lock APIs
Enhancements have been made to the Rate Lock APIs to give clients the ability to distinguish between lock requests for active, expired, or cancelled locks. When attempting to relock a lock ID, the current status of the lock will determine the lock request type for the new lock request. If it is an active lock, the request type will be “LockUpdate”. If the lock is cancelled or expired, the request type will be “Re-lock”.
EBSP-31261
Enhancements Made to EPPS APIs to Return APR Details
EPPS API contracts have been updated to provide estimated basic APR calculation based on loan amount, rate, estimated closing costs and amortization.
EPPS-28405
New APIs Available to Create and Manage Correspondent Trade Notes
The Correspondent Trades APIs have been expanded to allow lenders to programatically add a note to a correspondent trade and manage existing notes.
Endpoint URL: /v1/trades/correspondent/{tradeId}/notes
The following new Correspondent Trades APIs are available with this release:
- Create a Trade Note. Adds a note to a correspondent trade.
- Manage Trade Notes. Updates or deletes an existing trade.
Usage Notes:
- To create, update, or delete notes via the APIs, the caller must have persona access to edit correspondent trades. Access is enabled in Encompass > Settings > Personas > Trades/Contacts/Dashboard/Reports tab > Trades area by selecting the Edit Correspondent Trades check box.
- Only one note can be created a time.
- When a note is created, updated, or deleted from an existing correspondent trade using these APIs, an event for “Trade Updated” is created in the correspondent trade history.
SEC-20529, SEC-20611, SEC-20868
New API to Retrieve User Roles
The Settings: Role API provides the ability to retrieve all the roles defined on the Encompass instance. The response includes details about the role, such as Role ID, Name, Abbreviation, assigned Personas and UserGroups, and whether the role has protected access to documents.
Endpoint URL: v1/settings/roles
EBSP-34589
Webhook Enhancements
Added Support for Exponential Back-Off for Retrying Failed Notification Attempts
The Encompass Platform now supports an exponential back-off retry policy that increases the resend interval for each webhook notification failure.
Retry Logic
If the Encompass Platform is unable to deliver a notification to the registered webhook callback or the callback fails to acknowledge the notification, the Encompass Platform will make other attempts to deliver the notification.
The following situations are considered a failed delivery attempt:
- HTTP status in the range 500-599.
- HTTP status outside the range 200-599.
- A request timeout (30 seconds). Note that if a request time-out occurs, the timing of the next retry attempt is based on the retry policy and number of failed attempts.
- Any connection error such as connection timeout, endpoint unreachable, bad SSL certificate, etc.
Default Retry Logic
By default, the Encompass Platform implements a linear back-off retry policy that will attempt delivery up to three times with a delay of 20 seconds between each retry. If the event is not delivered after three attempts, the notification is discarded.
Retry Logic with Exponential Back-Off
Exponential back-off can be applied to a webhook subscription to increase the resend interval for each failure. This policy allows for a longer retry period while not attempting to deliver the request constantly. When exponential back-off is applied to a subscription, any failed events will automatically retry for up to 8 hours with an exponential back-off interval. The table below shows the interval between retry attempts:
RETRY ATTEMPT | SECONDS BETWEEN ATTEMPTS | TIME SINCE ORIGINAL WEBHOOK EVENT |
---|---|---|
1 | 30 | 00:00:30 |
2 | 60 | 00:01:00 |
3 | 120 | 00:02:00 |
4 | 240 | 00:04:00 |
5 | 480 | 00:08:00 |
6 | 960 | 00:16:00 |
7 | 1920 | 00:32:00 |
8 | 3600 | 01:00:00 |
9 | 7200 | 02:00:00 |
10 | 10800 | 03:00:00 |
11 | 14400 | 04:00:00 |
12 | 18000 | 05:00:00 |
13 | 21600 | 06:00:00 |
14 | 25200 | 07:00:00 |
15 | 28800 | 08:00:00 |
Implement Exponential Back-Off for Webhook Subscriptions
The delivery policy for a webhook subscription is determined by the Subscription API deliveryPolicy parameter.
"deliveryPolicy":{"backoff":"linear | exponential"}
The deliveryPolicy parameter is optional. To implement exponential back-off for a webhook subscription, set the deliveryPolicy back-off parameter to “exponential”. If deliveryPolicy is not provided as input, the default retry logic, linear, is used.
curl --location --request POST 'https://<API_SERVER>/platform/v1/events/documentOrder' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <Token>' \
--data-raw '{
{ "endpoint": "<clientEndPoint>", "resource": "Loan", "events": ["create", "change", "update" ], "filters":{ "attributes":["/applications/0/borrower/firstName"] }, "deliveryPolicy":{"backoff":"exponential"} }
}'
PSS-33285
Webhook Support for Third-Party Service Orders
With this release, webhook subscriptions can be created to notify lenders when service orders are placed with third-party mortgage applications. When subscribed to the serviceOrder resource, the API will send a notification to the lender upon completion of each step in the service ordering workflow.
The following events are supported by the Webhook API for the serviceOrder resource:
EVENT | DESCRIPTION | SUPPORT |
---|---|---|
Placed | When a service order is delivered to the third-party service provider. | API |
Acknowledged | When a service order is acknowledged by the third-party service provider. | API |
Fulfilled | When an order is completed and the response is successfully ingested into Encompass. | API |
System Failure | When a system exception (API failure) occurred while attempting to prepare the order request. | API |
Process Failure | When a process exception (e.g. business rule, authorization, access, and so on) occurred while attempting to prepare the order request. | API |
PSS-34451
Single Sign-On (SSO) Support for Developer Connect Integrations
This release of Developer Connect introduces support for SSO authentication with Developer Connect API integrations and SSO-enabled Encompass instances. This implementation provides a seamless and secure sign-in experience for clients when accessing SSO-enabled Encompass instances from Developer Connect API integrations.
Requirements
- SSO must be enabled on the Encompass instance
- Your company's identity provider (IdP) must be configured with ICE Mortgage Technology settings
- A Developer Connect API connection must be set up in Developer Connect
For additional details about these requirements and for step-by-step instructions about how to set up SSO for Developer Connect, see the Setting Up SSO for Encompass Products Guide.
Additional Resources
- Resource Center: ICE Mortgage Technology Identity Management Solutions page (guides, webinars, videos, and more)
- Setting Up SSO for Encompass
New Parameter Added to the Authorization Endpoint
To support the new SSO flow, new is_sso and instance_id query parameters have been added to the authorization endpoint. The is_sso parameter is required to indicate whether SSO authentication is to be used. A value of true indicates that SSO is enabled. The default value is false.
The instance_id query parameter directs the browser to the Developer Connect SSO login page. It is required when is_sso is true.
Updated authorization endpoint:
https://idp.elliemae.com/authorize?client_id=<client_id>&response_type=code&redirect_uri= <redirect_uri>&state=<state>&scope=lp&is_sso=false
Example for SSO:
https://idp.elliemae.com/authorize?client_id=<client_id>&response_type=code&redirect_uri[…]com/page/api-key&scope=lp&is_sso=true&instance_id=BE11211665
For more information about these parameters and to learn about using SSO with the supported authorization flows, see the Authentication page.
Fixed Issues
Incorrect Case for Custom Field Names in Update Loan API Caused Fields to Get Blanked Out
With the V1 and V3 Update Loan API, when the fieldName attribute for a custom field is passed without proper casing (for example, cust02fv instead of CUST02FV), it was leading the corresponding value of the custom field to get cleared out.
This issue is resolved with the 21.3 release of Encompass Developer Connect.
EBSP-30432
Cancelling a Rate Lock Extension Request via Rate Lock Cancellation API Still Counts Towards Total Number of Extensions
When cancelling an extension rate lock request through the API, the lock was still getting counted towards total number of extensions. This would be an issue when there is a limit defined on the number of extensions in Secondary Settings. This issue is resolved. With the fix, only confirmed extensions will get counted towards the total number of extensions.
EBSP-28118