---
title: "Run what-if loan sizing across a range of assumptions: a rate ladder, an NOI sensitivity table, or the feasibility of..."
method: POST
path: "/api/v1/tools/run_scenario"
tags: ["Calculators"]
---

# Run what-if loan sizing across a range of assumptions: a rate ladder, an NOI sensitivity table, or the feasibility of...

`POST /api/v1/tools/run_scenario`

## Request

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

Run what-if loan sizing across a range of assumptions: a rate ladder, an NOI sensitivity table, or the feasibility of a target loan amount against each constraint. Deterministic — same math as size_loan, swept.

## Request body

- object
  - `netOperatingIncome` number, required
  - `estimatedValue` number, required
  - `totalCost` number
  - `mode` 'rate_ladder' | 'noi_sensitivity' | 'loan_feasibility', required
  - `rates` number[]
  - `noiDeltaPcts` number[]
  - `desiredLoanAmount` number
  - `thresholds` object
    - `maxLtv` number
    - `minDscr` number
    - `minDebtYield` number
    - `maxLtc` number
    - `proposedRate` number
    - `amortizationYears` integer

## Response `200`

The computed result.

- object
  - `tool` 'run_scenario', required
  - `deterministic` boolean
  - `result` object, required: Result fields: mode, note, scenarios.recommendedLoan, scenarios.bindingConstraint, scenarios.byLtv, scenarios.byDscr, scenarios.byDebtYield, scenarios.byLtc, scenarios.thresholds.maxLtv, scenarios.thresholds.minDscr, scenarios.thresholds.minDebtYield, scenarios.thresholds.maxLtc, scenarios.thresholds.proposedRate, scenarios.thresholds.amortizationYears, scenarios.inputs.noi, scenarios.inputs.estimatedValue, scenarios.inputs.totalCost, scenarios.note, scenarios.label, feasibility.constraint, feasibility.maxLoan, feasibility.passes, feasibility.headroom.

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