v3
latestOpenAPI 3.1.02026-08-08123192255.1 KBCreate Term Sheet
Create a new term sheet against a placement on this deal.
Required body fields: placement_id, total_rate, initial_funding, quote_type, rate_type (mirrors the GraphQL CreateTermSheetMutation requirements). The deal_id in the path must match the placement's deal.
Path parameters
Request body
ID of the placement (lender outreach) this term sheet belongs to. The placement must already exist on this deal.
Rate as a percent (e.g. 7.53 = 7.53%). Interpret relative to the term sheet's base_rate: if base_rate is set, total_rate is the spread over that base rate; if base_rate is null or 'none-fixed', total_rate is the all-in fixed rate.
Provided loan amount.
Free-text title of the term sheet.
Set true to mark this as the winning term sheet on the deal.
Base rate identifier — accepts BaseRateNames member names (e.g. treasury_y5, sofr_m1, prime_rate) or the literal string 'none-fixed' for fixed-rate quotes. When this is a real base-rate identifier, send total_rate as the spread over that base rate. Unknown names return 422 with the full list of valid options. See app/models/enums.py::BaseRateNames for the full enum.
Maximum loan-to-value ratio as a percent.
Maximum loan-to-cost ratio as a percent.
Additional funding amount.
Rate floor as a percent.
Term length in months.
Amortization period in months.
Interest-only period in months.
First extension period in months.
Second extension period in months.
Third extension period in months.
Free-text details of the prepayment penalty structure.
Minimum debt service coverage ratio as a percent.
Minimum debt yield as a percent.
Origination fee as a percent.
Extension fee as a percent.
Exit fee as a percent.
Good-faith deposit amount.
Free-text notes on the term sheet.
Free-text interest rate details.
Whether the term sheet is visible to the borrower (default true on the model).
Response
Successful Response