Hpml Module - Request
The fields of the Data object supported by a Hpml module request are defined
in alphabetical order below:
🟥 Data
| Type | Required |
|---|---|
| Object | yes |
The fields of the Data object supported by a Hcm module request are defined
in alphabetical order below:
Fields:
🔹DataPath,🔸IsJumbo,🔸LienType,🔸LockInDate,🔸RateType,🔸RegZApr,🔸TermInYearsObjects:
🟦 Format
🔹 Data.DataPath
| Type | Required | Values | Default |
|---|---|---|---|
| String | no | Text - See below | see below |
If this field is set, the SCE will look for a data folder containing the
APOR files in the path specified. Note that the APOR files must be
named as follows: YieldTableFixed.txt and YieldTableAdjustable.txt.
If this field is not set, the SCE will attempt to locate the file in the default data directory. Note that the AWS hosted version of the SCE API server places the necessary files in the correct default directory, and hence specifying this field is not required.
Since the APOR files are global in nature, you only need to have one copy of these files available even if your installation hosts multiple data paths for different clients. The APOR files are identical to those needed for the Hcm module, and thus a single location containing the APOR files can be used for both modules.
🔸 Data.IsJumbo
| Type | Required | Values | Default |
|---|---|---|---|
| Boolean | yes | true, false | n/a |
Effective June 1, 2013, first-lien loans that exceed the maximum principal obligation eligible for purchase by Freddie Mac (i.e., a "jumbo" loan) have a rate spread of 2.5% instead of the normal first-lien value of 1.5%.
Note that the value of this field will be ignored for subordinate-lien loans.
🔸 Data.LienType
| Type | Required | Values | Default |
|---|---|---|---|
| String | yes | First, Subordinate | n/a |
The type of lien determines the amount over the APOR at which time a loan's Regulation Z APR is considered a HPML. For first-lien loans, that value is 1.5% (or 2.5% for first-lien jumbo loans as of 6/01/2013); for subordinate-lien loans, that value is 3.5%.
🔸 Data.LockInDate
| Type | Required | Values | Default |
|---|---|---|---|
| String | yes | YYYY-MM-DD | n/a |
The value of this field holds the date on which the interest rate of the loan
was locked in. All dates must be in the form of YYYY-MM-DD, and be 10 characters
long.
The lock in date is used to lookup the APOR rate from the appropriate file. Each row of the file begins with a date, and the row which will be used will have a date which is either on the lock in date, or does not preceed it by more than 6 days. Since the rates are updated weekly, there should never be more than six days between the date of the row used and the specified lock in date.
If the SCE can not find a row in the APOR file which is appropriate for use with the specified lock in date, then an error message will be returned informing the calling application.
🔸 Data.RateType
| Type | Required | Values | Default |
|---|---|---|---|
| String | yes | Adjustable, Fixed | n/a |
The APOR is looked up in one of two tables, determined by the loan's rate type.
If the loan uses a fixed rate, then the SCE will look-up the APOR from the
YieldTableFixed.txt file. If the loan uses a variable or adjustable rate, then
the SCE will look-up the APOR from the YieldTableAdjustable.txt file.
🔸 Data.RegZApr
| Type | Required | Values | Default |
|---|---|---|---|
| String | yes | Number in [-99.999...600] | n/a |
The value of this field holds the computed Regulation Z APR for the loan we are checking. The Regulation Z APR should be expressed as a percentage.
🔸 Data.TermInYears
| Type | Required | Values | Default |
|---|---|---|---|
| String | yes | Integer | n/a |
The TermInYears field holds the term of the loan, in whole years. Valid terms
range from 1 year to 50 years, inclusive. If the loan's
RateType is Adjustable, then the value of this element
represents the initial, fixed rate term of the adjustable rate loan.
🟦 Data.Format
| Type | Required |
|---|---|
| Object | no |
The Format object is one of the first objects parsed from a request, as
various fields affect how date and numeric fields are parsed and validated.
Fields:
🔹CurrencyDecimals,🔹DateFormat,🔹DateSeparator,🔹DecimalSeparator,🔹StrictDP,🔹ThousandSeparatorObjects:
None
🔹 Data.Format.CurrencyDecimals
| Type | Required | Values | Default |
|---|---|---|---|
| String | no | 0 or 2 | 2 |
When displaying and parsing Currency fields, this field determines the maximum
number of decimal places allowed after the
DecimalSeparator.
🔹 Data.Format.DateFormat
| Type | Required | Values | Default |
|---|---|---|---|
| String | no | YMD, MDY, or DMY | YMD |
When displaying and parsing Date fields, this field determines the expected
format for all Date fields. The following DateFormat options
are allowed:
YMD- All dates should be formated asYYYY-MM-DD.MDY- All dates should be formated asMM-DD-YYYY.DMY- All dates should be formated asDD-MM-YYYY.
Note that the character which separates the individual month, day, and year
portions of the date is configurable via the
DateSeparator field.
🔹 Data.Format.DateSeparator
| Type | Required | Values | Default |
|---|---|---|---|
| String | no | empty or a single character | - |
When displaying and parsing Date fields, this field determines the character used to separate the individual month, day, and year portions of a date field.
🔹 Data.Format.DecimalSeparator
| Type | Required | Values | Default |
|---|---|---|---|
| String | no | empty or a single character | . |
When displaying and parsing Currency, Percentage, or Floating numeric fields, this field determines the character used to separate the fractional part from the whole.
🔹 Data.Format.StrictDP
| Type | Required | Values | Default |
|---|---|---|---|
| Boolean | no | true, false | false |
If the value of this field is true, then the SCE will strictly verify the
number of decimal places allowed for currency input values. Thus, if the calling
application sends in a request with a currency amount of 1000.005, the SCE will
return an error code.
If the value of this field is set to false, then currency values sent in
with an invalid number of decimal places will be rounded to the correct number
of decimal places by the SCE (using five/four rounding), and a warning message
with this information will be returned with the response.
🔹 Data.Format.ThousandSeparator
| Type | Required | Values | Default |
|---|---|---|---|
| String | no | empty or a single character | empty |
When displaying numeric fields, this field determines the character used to separate the thousands places from the hundreds. When parsing a numeric request field, if a thousand separator is specified in the request, then the SCE will now remove all occurrences of the specified thousand separator from the numeric field string before attempting to convert it to a number.