Update credit data
Credit reporting integrations in EPC must use a custom Transaction Result Action to populate the Encompass loan with liabilities, credit scores and FACTA data. This is done by patching a transaction with a response result object with the action UPDATE_CREDIT_DATA.
Prerequisites
Credit technology provider IDs for Fannie (
CreditCompanyCode) and Freddie (CreditProviderCodeandCreditAffiliateCode) have to be registered on the product. These values are assigned to CRAs by Freddie Mac and Fannie Mae, and are used in underwriting submissions to support inclusion of credit reissue requests. The codes shown in the sample below are for illustration purposes, and will support variances in length of codes as assigned by Freddie Mac and Fannie Mae."additionalInfo": [ { "key": "DUCreditProvider", "metadata": { "code":"999" } }, { "key": "LPACreditProvider", "metadata": { "code":"9" } }, { "key": "LPACreditAffiliate", "metadata": { "code":"999" } } ]The Product has to be entitled to UPDATE_CREDIT_DATA action in order to use it via transaction patch.
Products can be entitled to UPDATE_CREDIT_DATA action by adding it in the response.results array of the specific request type within $.entitlements.data.transaction.
{ "action": "UPDATE_CREDIT_DATA", "formats": [ "application/vnd.credit-data-update-1.0.0.json" ] }
Loan data not included in the UPDATE_CREDIT_DATA action can be entitled on the product and patched as normal by including the "loan" payload in the transaction update call.
{
"status": "processing",
"loanFormat": "application/vnd.plm-2.0.0+json",
"loan": {
... // Additional loan data, sent as part of standard transaction loan update
},
"result": {
"action": "UPDATE_CREDIT_DATA",
"format": "application/vnd.credit-data-update-1.0.0.json",
"details": {
... // update credit data action details
}
},
"partnerStatus": "partner status"
}
format and action
The Encompass Partner Connect Platform (EPC) uses $.result.format and $.result.action to properly handle the action details sent in the transaction PATCH payload. Make sure you use:
"format": "application/vnd.credit-data-update-1.0.0.json"
"action": "UPDATE_CREDIT_DATA"
The "details" object in the result is required to control the processing of key credit data that is sourced from the referenced credit response file. These fields are defined below.
| Fields | Additional Information |
|---|---|
$.result.details.resource.id | SkyDrive file Id uploaded by partner for raw response. |
$.result.details.resource.type | MISMO Credit XML format. Note MISMO 3.4 will be supported in a future release. Sample: urn:ice:epc:partner:credit:report:version:V2.3.1. |
$.result.details.importOptions.creditReportType | Normalized credit report type used to update [4750] and [5006] and drive AUS underwriting flows. Enumerated: (Merge | Prequal | PreApproval). |
$.result.details.importOptions.creditReportTypeDesc | User friendly description of the credit order; displayed to user in AUS flow. |
$.result.details.importOptions.liabilityDetails.importLiabilities | If true, liabilities from the included raw response file will be imported to the loan application associated with the order. |
$.result.details.importOptions.liabilityDetails.deleteLiabilityRecords | Required if importLiabilities = true If true, all liabilities on the loan application associated with the order will be deleted before the import is executed. Note: importing liabilities does not support updates to existing liability records in this release; a request with importLiabilities = true and deleteLiabilityRecords = false will add liability records to the application and will not remove duplicates. |
$.result.details.importOptions.liabilityDetails.excludeZeroBalanceLiabilities | Required if importLiabilities = true If true, all liabilities with zero balances will be skipped during the import. |
The complete list of supported fields in the update credit data action details is captured in the JSON-schema object definition below. You can use online resources such as JSON Schema Validator to manually validate result details objects content.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"description": "Schema for credit import options",
"validationMessage": {
"invalid-string": "a valid String. Please provide a valid string."
},
"additionalProperties": false,
"required": [
"resource",
"importOptions"
],
"properties": {
"resource": {
"$ref": "#/definitions/resource"
},
"importOptions": {
"$ref": "#/definitions/importOptions"
}
},
"definitions": {
"non-empty-string": {
"type": "string",
"pattern": "^(?!\\s*$).+",
"validationMessage": {
"$ref": "#/validationMessage/invalid-string"
}
},
"resource": {
"type": "object",
"description": "Details about the resource being imported",
"additionalProperties": false,
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the resource",
"$ref": "#/definitions/non-empty-string"
},
"type": {
"type": "string",
"description": "Type of the resource, following a specific URN format",
"$ref": "#/definitions/non-empty-string"
}
}
},
"importOptions": {
"type": "object",
"description": "Options for importing credit data",
"additionalProperties": false,
"required": [
"creditReportType",
"liabilityDetails"
],
"properties": {
"creditReportType": {
"type": "string",
"enum": [
"Merge",
"Prequal",
"PreApproval"
],
"description": "Type of credit report to import"
},
"creditReportTypeDesc": {
"type": "string",
"description": "Description of the credit report type"
},
"liabilityDetails": {
"$ref": "#/definitions/liabilityDetails"
}
}
},
"liabilityDetails": {
"type": "object",
"description": "Details about liabilities to be imported",
"additionalProperties": false,
"required": [
"importLiabilities",
"deleteLiabilityRecords",
"excludeZeroBalanceLiabilities"
],
"properties": {
"importLiabilities": {
"type": "boolean",
"description": "Flag to indicate if liabilities should be imported"
},
"deleteLiabilityRecords": {
"type": "boolean",
"description": "Flag to indicate if existing liability records should be deleted"
},
"excludeZeroBalanceLiabilities": {
"type": "boolean",
"description": "Flag to exclude liabilities with zero balance"
}
}
}
}
}
Sample update credit data request payload with most of the fields supported:
{
"status": "Completed",
"loanFormat": "application/vnd.plm-2.0.0+json",
"retry": {
"interval": "1",
"duration": 10
},
"loan": {
"fees": [
{
"feeType": "CreditReportFee",
"paidToName": "test provider",
"borPaidAmount": "50.00"
}
]
},
"resources": [
{
"id": "B2.be11172646KS*515ed6d5-3ec8-40f5-82fa-5a1f8894ac1cKS*liability-_borrower1-725217050482315.xml",
"name": "liability-_borrower1-725217050482315.xml",
"mimeType": "application/xml"
}
],
"result": {
"format": "application/vnd.credit-data-update-1.0.0.json",
"action": "UPDATE_CREDIT_DATA",
"details": {
"resource": {
"id": "B2.be11172646KS*515ed6d5-3ec8-40f5-82fa-5a1f8894ac1cKS*liability-_borrower1-725217050482315.xml",
"type": "urn:ice:epc:partner:credit:report:version:V2.3.1"
},
"importOptions": {
"creditReportType": "Merge",
"creditReportTypeDesc": "Hard pull",
"liabilityDetails": {
"importLiabilities": true,
"deleteLiabilityRecords": true,
"excludeZeroBalanceLiabilities": true
}
}
}
}
}
Updated 11 days ago
