Escrow Module - Response
The Data object for Escrow module Response is defined below, in the order of
fields returned:
| Object | Fields |
|---|---|
🟥 Data | 🔹Adjustment |
🟥 Errors[] | |
🟥 Warnings[] | |
🟥 Schedule[] | 🔸Category, 🔸Pmt, 🔸NumPmts, 🔸Cushion, 🔸Closing, 🔸Slush, 🔹Adjustment |
🟥 Event[] | 🔸Date, 🔸Name, 🔸Amt, 🔸Balance |
🟥 Data
| Type | Required |
|---|---|
| Object | yes |
The Data object encapsulates the response data for a given module, and will
always be present.
Fields:
🔹AdjustmentObjects:
🟥 Errors[],🟥 Warnings[],🟥 Schedule[]
🟥 Data.Errors[]
| Type | Required |
|---|---|
| Array of String | yes |
The Errors[] field contains an Array of Strings which describe any errors
encountered while handling the request. If the length of the Errors[] Array is
zero (0), then the module processed the request successfully, and the Data
object can be further processed by the calling application for the returned
data.
On the other hand, if the length of the Errors[] Array is greater than zero
(0), then this indicates that an error condition has been detected, and the
calling application should not process the respons Data object further. In
this case, the contents of the Errors[] array will describe the error(s)
encountered.
A typical error is the omission of a 🟥 required field.
🟥 Data.Warnings[]
| Type | Required |
|---|---|
| Array of String | yes |
The Warnings[] field contains an Array of Strings which describe any warnings
generated by the module handling the request. The most common warnings returned
by modules inform the calling application that the module does not recognize a
specified field (which may help to isolate a field name spelling error in the
calling application's code). Note that field names which start with "//" will
bre treated as comment fields by the SCE, and no warnings will be generated
for these unrecognized fields.
Example - Request and response illustrating warnings when passing unrecognized fields:
{
"Module": "Escrow",
"Data": {
"//": "This is a comment.",
"Hello": "Friend!",
"How": "are you?"
}
}
{
"Result": 200,
"Module": "Escrow",
"Data": {
"Errors": [
"Data.PmtStream (Object) not found.",
"Data.EscrowItems[] (Array) not found."
],
"Warnings": [
"Request field Data.Hello (String) not recognized.",
"Request field Data.How (String) not recognized."
]
}
}
🔹 Data.Adjustment
| Type | Required |
|---|---|
| Currency | no |
This optional field represents the difference between the aggregate
Schedule Closing cost and the sum of the
closing costs in each itemized funding schedule. It is present only in
successful responses, and is returned immediately before the
Schedule[] array.
🟥 Data.Schedule[]
| Type | Required |
|---|---|
| Array of Objects | yes |
The core output for the Escrow module is the disclosure of funding schedules.
All valid responses will contain an aggregate funding schedule of category,
Aggregate. This aggregate schedule will contain a unique field of name,
'Adjustment', whose value is the difference between the aggregate
🔸Closing cost and the sum of closing costs in each
itemized funding schedule.
Fields:
🔸Category,🔸Pmt,🔸NumPmts,🔸Cushion,🔸Closing,🔸Slush,🔹AdjustmentObjects:
🟥 Event[]
🔸 Data.Schedule[].Category
| Type | Required |
|---|---|
| String | yes |
This required field identifies the category of the funding schedule established
through the use of Name and
Category fields of the
EscrowItem object in the Request.
🔸 Data.Schedule[].Pmt
| Type | Required |
|---|---|
| Currency | yes |
The value of this required field contains the currency value of the periodic
payment used to fund the escrow item(s) of the schedule. This payment is rounded
up to the nearest penny (or currency unit) and is the sum of each individually
rounded EscrowItem appearing in the
Schedule[].
🔸 Data.Schedule[].NumPmts
| Type | Required |
|---|---|
| Integer | yes |
The value of this required field contains the value of the number of funding
payments, Pmt, necessary to fund the
Closing cost and Cushion required
by the escrow items listed in the Schedule.
🔸 Data.Schedule[].Cushion
| Type | Required |
|---|---|
| Currency | yes |
The value of this required field represents the Cushion required to fund the
Schedule. A Cushion is a
CushionNo of
Pmt's beyond Closing cost required at
the commencement of a Schedule.
🔸 Data.Schedule[].Closing
| Type | Required |
|---|---|
| Currency | yes |
The value of this required field represents the closing cost required to fund
the Schedule.
🔸 Data.Schedule[].Slush
| Type | Required |
|---|---|
| Currency | yes |
This required field represents the penny-difference between a number of payments
computed by rounding an amount and that amount, itself. It is a rounding error.
In this case we have rounded payments derived from
EscrowItem
Cost's and the sum of the EscrowItem
Cost's, themselves.
🔹 Data.Schedule[].Adjustment
This optional field represents the difference between the sum of each individual
Schedule Closing cost, and the aggregate
schedule's closing cost. This field will only be present in the first disclosed
schedule of Category, "Aggregate"
🟥 Data.Schedule[].Event[]
| Type | Required |
|---|---|
| Array of Objects | yes |
This required array of objects represents all of the elements of which a
Schedule[] is composed. The layout of the events is like a
spreadsheet, clearly displaying the evolution of the balance of the schedule
from beginning to end. The events are ordered by the dates on which they occur.
Fields:
🔸Date,🔸Name,🔸Amt,🔸BalanceObjects:
None
🔸Data.Schedule[].Event[].Date
| Type | Required | Value |
|---|---|---|
| String | yes | YYYY-MM-DD |
The value of this required field represents the date of the event. If an event
of name Pmt occurs on the same date as an
EscrowItem
Cost, the event of name Pmt will be
processed first.
🔸Data.Schedule[].Event[].Name
| Type | Required |
|---|---|
| String | yes |
The value of this required field is either Pmt or the
Name of the
EscrowItem being paid.
🔸Data.Schedule[].Event[].Amt
| Type | Required |
|---|---|
| Currency | yes |
The value of this required field is the cash value of the event. If the event is
a payment, the value of this field is positive. If the event is an
EscrowItem
Cost, the value is negative.
🔸Data.Schedule[].Event[].Balance
| Type | Required |
|---|---|
| Currency | yes |
The value of this required field is the accumulating escrow balance immediately
after the event's Amt is applied. The balance immediately before
the Amt is applied can be derived by subtracting the
Amt from this value.