---
title: "HOEPA High-Cost Mortgage Trigger Test"
method: POST
path: "/v1/tools/test_hoepa_high_cost"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# HOEPA High-Cost Mortgage Trigger Test

`POST /v1/tools/test_hoepa_high_cost`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/test_hoepa_high_cost`
- Auth: none declared

Tests all three HOEPA high-cost mortgage triggers per Reg Z §1026.32(a)(1): (i) APR trigger (APOR+6.5pp first-lien, APOR+8.5pp subordinate or dwelling below $50k); (ii) points-and-fees trigger (5% of loan or $1,380 floor, 2026, FR 2025-22773); (iii) prepayment penalty trigger (>36 months or >2% of prepaid amount). Outputs is_high_cost plus which triggers fired. Consumes art-220 (lookup_reg_z_thresholds) for the pinned HOEPA threshold table. Use test_hpml_escrow (art-235) for HPML escrow, not HOEPA. Use check_qm_points_and_fees (art-218) for the QM points-and-fees ability-to-repay test.

**Tool URL:** https://ainumbers.co/chaingraph/art-234-test-hoepa-high-cost.html

## Request body

- object
  - `apor_pct` number: Percentage value
  - `apr_pct` number: Percentage value
  - `has_prepayment_penalty` boolean, required
  - `is_small_dwelling` boolean, required
  - `lien_type` unknown, required
  - `loan_amount` number
  - `points_and_fees` number
  - `prepayment_penalty_pct` number: Percentage value
  - `prepayment_penalty_period_months` number
  - `year` number

## Response `200`

Successful tool execution result

- object
  - `apor_pct` number
  - `apr_pct` number
  - `apr_spread_pct` integer
  - `apr_threshold_basis` string
  - `apr_threshold_pct` number
  - `apr_trigger_met` boolean
  - `consumes` string
  - `fr_citation` string
  - `has_prepayment_penalty` boolean
  - `is_high_cost` boolean
  - `is_small_dwelling` boolean
  - `lien_type` string
  - `loan_amount` integer
  - `note` string
  - `points_and_fees` number
  - `points_fees_floor` number
  - `points_fees_limit` number
  - `points_fees_limit_pct` integer
  - `points_fees_trigger_met` boolean
  - `pp_pct_limit` integer
  - `pp_period_limit_months` integer
  - `prepayment_penalty_pct` integer
  - `prepayment_penalty_period_months` integer
  - `prepayment_penalty_trigger_met` boolean
  - `regulatory_basis` string
  - `table_version` string
  - `triggers_fired` string[]
  - `year` integer

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
