Skip to content

Compute ripple impact preview with SSE progress

POST
/api/canvas/{deal_id}/ripple/preview
curl --request POST \
--url https://example.com/api/canvas/example/ripple/preview \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "metric_key": "example", "new_value": 1, "probabilistic": false }'

Compute how a metric change would ripple across memo sections.

Returns an SSE stream with progress events, ending with a ripple_preview event containing the full impact assessment and a preview_token for the apply endpoint.

deal_id
required
Deal Id
string
Media type application/json
RipplePreviewRequest

Request body for computing a ripple impact preview.

object
metric_key
required
Metric Key

Canonical metric key (e.g., ‘purchase_price’, ‘noi’, ‘cap_rate’)

string
new_value
required
New Value

New metric value (in native units: dollars for currency, percentage points for rates)

number
probabilistic
Probabilistic

FormulaGraph Phase 6: when True, additionally run a Monte Carlo around the new_value and emit a probabilistic_view SSE event with P5/P50/P95 per derived metric. Requires a full-tier formula graph; legacy/values_only deals silently skip the MC.

boolean

Successful Response

Media type application/json
Example generated
example

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}