Get Rate Periods
A rate period is a published bundle of rate programs and rate grids that a company makes available to its users. Use this endpoint to list every rate period your company can access — including each program's grids — without running a pricing search.
This is useful for:
- Discovering which rate periods, programs, and grids exist before building a pricing request
- Inspecting the configuration of a specific program/grid (terms, loan types, mortgage limits, etc.)
- Populating a UI that lets users pick which products to price
How rate periods are structured
A company can have many rate periods. Each rate period contains many rate programs, and each rate program contains many rate grids. The response from this endpoint reflects that hierarchy exactly.
| Level | What it represents |
|---|---|
| Rate Period | A published bundle of rates (e.g. Wholesale, Retail, Correspondent). Companies typically publish several, each scoped to a channel or user group. |
| Rate Program | A product category within a rate period (e.g. Conventional, FHA, VA, Jumbo). |
| Rate Grid | A specific rate sheet within a program — defined by loan term, loan type, mortgage limit, etc. (e.g. 30 Year Fixed Conforming). This is the unit that holds the actual rate/price pairs used during pricing. |
Prerequisites
This endpoint authenticates using the PPE API Secret method — the same secret header used by /multisearch.
If you don't already have a secret, follow the steps in Authentication → PPE API Secret to:
- Create (or identify) a PPE-enabled user in your company.
- Call
GET /encodeAES128/:apiKey/:userIdto generate thesecretvalue used in the header below.
You will also need your Company ID, available in Settings → Company Settings.
Request
GET {{domain}}/rest/ratePeriod
Headers
| Header | Value |
|---|---|
secret | {{token}} — the PPE API Secret from the prerequisites above |
companyid | {{companyID}} — your Lender Price company ID |
Example
curl --location 'https://{{domain}}/rest/ratePeriod' \
--header 'secret: {{token}}' \
--header 'companyid: {{companyID}}'
Response
200 OK
Returns a JSON array of rate periods. Each rate period contains its rate programs, and each rate program contains its rate grids.
The example below shows a single rate program with a single rate grid for brevity. A rate period can contain many rate programs, and each rate program can contain many rate grids. The response also includes additional fields not shown here.
[
{
"id": "5aelk8c94cedfd00013g235q",
"name": "Wholesale Rates - Lender ABC",
"rateType": "All",
"isPublish": true,
"publish": true,
"ratePrograms": [
{
"id": "5aeceb225cedaz94513b496f",
"order": 0,
"name": "Conventional (DU & LP) Pricing",
"rateGrids": [
{
"id": "5aeceb2c4cedfd97013q8633",
"order": 0,
"name": "30 Year - 26 Year",
"displayName": "30 Year - 26 Year",
"enable": true,
"interestOnlyMonth": 0,
"mortgageLimits": ["Conforming", "HighBalance"],
"mortgageTypes": ["Conventional"],
"terms": [25, 30],
"termsInMonths": false,
"amortizationTerms": 0,
"loanType": "Fixed",
"varaiableLoanTypes": [],
"loanPurposes": [
"StreamLineRefinance",
"CashoutRefinance",
"Refinance",
"Purchase"
]
}
]
}
]
}
]
Rate Period fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the rate period. |
name | string | Display name of the rate period. |
rateType | string | Scope of rates included (e.g. All). |
isPublish / publish | boolean | Whether the rate period is currently published and available for pricing. |
ratePrograms | array | Programs contained in this rate period — see below. |
Rate Program fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the rate program. |
name | string | Display name of the program (e.g. Conventional (DU & LP) Pricing). |
order | integer | Display order within the parent rate period. |
rateGrids | array | Grids contained in this program — see below. |
Rate Grid fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the rate grid. |
name | string | Internal name of the grid. |
displayName | string | Name shown to end users. |
order | integer | Display order within the parent rate program. |
enable | boolean | Whether the grid is enabled. |
interestOnlyMonth | integer | Number of interest-only months (0 if not interest-only). |
mortgageLimits | array<string> | Mortgage limit categories — e.g. Conforming, HighBalance. |
mortgageTypes | array<string> | Mortgage types supported — e.g. Conventional, FHA, VA, USDA. |
terms | array<integer> | Loan terms supported (in years unless termsInMonths is true). |
termsInMonths | boolean | If true, terms values are interpreted as months instead of years. |
amortizationTerms | integer | Amortization term, if different from the loan term. 0 when not applicable. |
loanType | string | Primary loan type — e.g. Fixed, ARM. |
varaiableLoanTypes | array<string> | Variable loan type variants (used when loanType is ARM). |
loanPurposes | array<string> | Loan purposes supported — e.g. Purchase, Refinance, CashoutRefinance, StreamLineRefinance. |
The id values returned here can be used to reference specific rate periods, programs, or grids in pricing-search filters. See Search Filters & Options for details.