---
title: "Stress a loan against rate shocks, income decline, and combined scenarios."
method: POST
path: "/api/v1/tools/stress_test"
tags: ["Calculators"]
---

# Stress a loan against rate shocks, income decline, and combined scenarios.

`POST /api/v1/tools/stress_test`

## Request

- Base URL: `https://relendi.com`
- URL: `https://relendi.com/api/v1/tools/stress_test`
- Auth: none declared

Stress a loan against rate shocks, income decline, and combined scenarios. Returns stressed DSCR per scenario with a pass/marginal/fail verdict — the same tests a credit committee runs. Rates are PERCENT (7.25 = 7.25%).

## Request body

- object
  - `netOperatingIncome` number, required
  - `loanAmount` number, required
  - `propertyValue` number, required
  - `rate` number, required: Current annual rate, percent (7.25 = 7.25%)
  - `amortizationYears` number, required: Amortization in years; 0 = interest-only
  - `minDscr` number

## Response `200`

The computed result.

- object
  - `tool` 'stress_test', required
  - `deterministic` boolean
  - `result` object, required: Result fields: scenarios.scenario, scenarios.kind, scenarios.description, scenarios.baseRate, scenarios.baseDSCR, scenarios.stressedRate, scenarios.stressedNOI, scenarios.stressedDSCR, scenarios.passesMinDSCR, scenarios.severity, summary.passed, summary.marginal, summary.failed.

## Other responses

- `400`: Error. Possible codes: invalid_input.
- `404`: Error. Possible codes: unknown_tool, not_found.
- `405`: Error. Possible codes: method_not_allowed.
- `429`: Error. Possible codes: rate_limited, quota_exhausted.
- `500`: Error. Possible codes: tool_error.
- `503`: Error. Possible codes: flag_off.

---

[API](https://skmtc.dev/relendi/apis/relendi-public-api.md) · [All operations](https://skmtc.dev/relendi/apis/relendi-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/relendi/apis/relendi-public-api/revisions/7e4b30838121?raw)
