---
title: "Create Deal Structure"
method: POST
path: "/api/businesses/{business_id}/deal-structure"
tags: ["Deal Structure"]
---

# Create Deal Structure

`POST /api/businesses/{business_id}/deal-structure`

## Request

- Base URL: `https://api.flagpost.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.flagpost.ai/api/businesses/{business_id}/deal-structure`
- Auth: HTTP bearer

Create or replace deal structure rows.

## Path parameters

- `business_id` string, required

## Request body

- DealStructureCreate: Create payload.
  - `assumptions` DealAssumptions, required: Fixed inputs shared across scenarios (matches Scenario Analysis fixed assumptions).
    - `total_aum` number: Total AUM ($)
    - `gross_revenue` number: Annual gross revenue ($)
    - `operating_expenses_annual` number: Annual operating expenses ($)
    - `valuation_multiple` number: Applied to gross revenue or adjusted EBITDA for purchase price (see valuation_basis)
    - `platform_fee_pct` number: Platform fee on AUM as annual decimal (e.g. 0.0012 = 12 bps)
    - `advisor_grid` number: Advisor grid / revenue share factor
    - `seller_note_interest_rate` number: Annual seller note rate (decimal)
    - `down_payment_interest_rate` number: Annual bank / DP loan rate (decimal)
    - `purchasing_interest_pct` number: Share of revenue / economics purchased
    - `advisor_profitability_headcount` number
    - `admin_profitability_headcount` number
    - `comp_model_annual` number: Comp model annual amount ($)
    - `adjusted_ebitda_annual` number: Normalized / adjusted EBITDA ($) — used when valuation_basis is ebitda
    - `valuation_basis` 'revenue' | 'ebitda': Purchase price = multiple × (revenue or adjusted EBITDA) × purchasing interest
  - `scenarios` DealScenario[], required
    - `name` string, required
    - `down_payment_pct` number, required
    - `seller_note_pct` number, required
    - `earnout_pct` number
    - `earnout_term_years` number: Earnout payout period in years (0 if no earnout)
    - `seller_note_term_years` number, required
    - `down_payment_loan_term_years` number, required
    - `purchasing_interest_pct` number, nullable: Override global purchasing interest for this scenario if set
    - `notes` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/flagpost/apis/flagpost-api.md) - [All operations](https://skmtc.dev/flagpost/apis/flagpost-api/llms.txt) - [OpenAPI document](https://skmtc.dev/flagpost/apis/flagpost-api/revisions/0308cef485ca?raw)
