---
title: "Reg Z Appendix J APR Solver"
method: POST
path: "/v1/tools/compute_reg_z_appendix_j_apr"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Reg Z Appendix J APR Solver

`POST /v1/tools/compute_reg_z_appendix_j_apr`

## Request

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

Reg Z Appendix J actuarial APR solver. Bracketed bisection on the general actuarial equation (12 CFR 1026 Appendix J), with the odd-days fraction priced at simple interest per (b)(6) and only full unit-periods compounded. Handles regular and irregular payment schedules with an odd-days fractional first period, and reports a rate only when a sign-change bracket was established. Pure ECMA-262 arithmetic, no floating-point built-ins beyond basic operations. APR accuracy, TRID disclosure, and QM spread test input.

**Tool URL:** https://ainumbers.co/chaingraph/art-215-reg-z-appendix-j-apr.html

## Request body

- object
  - `advances` unknown[], required
    - unknown
  - `loan_amount` number
  - `num_payments` number
  - `odd_days` number: Duration in days
  - `payment_amount` number
  - `payments` unknown[], required
    - unknown
  - `periods_per_year` number
  - `unit_period_days` number: Duration in days

## Response `200`

Successful tool execution result

- object
  - `advance_total` integer
  - `apr_pct` number, nullable
  - `bracketed` boolean
  - `converged` boolean
  - `finance_charge` number
  - `iterations` integer
  - `note` string
  - `num_payments` integer
  - `payment_total` number
  - `periodic_rate` number, nullable
  - `periods_per_year` integer
  - `regulatory_basis` string

---

[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)
