Skip to content

Interrogate the deal's financial model live (SSE)

POST
/api/canvas/{deal_id}/interrogation/ask
curl --request POST \
--url https://example.com/api/canvas/example/interrogation/ask \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "operation": "breakpoint", "driver": "example", "target": "example", "hurdle": 1, "targets": [ "example" ], "overrides": { "additionalProperty": 1 }, "specs": { "additionalProperty": 1 }, "scenario_label": "example", "metric": "example", "top_n": 5 }'

Ask the deal’s own FormulaGraph one structured question — a breakpoint, a recompute under overrides, a Monte-Carlo stress, the model’s own scenario, or the ranked drivers of a metric — and stream the computed answer via Server-Sent Events. Read-only; works on APPROVED deals.

deal_id
required
Deal Id
string
Media typeapplication/json
InterrogationRequest

One structured question for the deal’s FormulaGraph.

operation selects the InterrogationService method; the remaining fields are the operation-specific arguments (validated per-operation before the stream opens).

object
operation
required
Operation

Which interrogation to run.

string
Allowed values: breakpoint recompute stress scenario contributors
driver
Any of:
string
target
Any of:
string
hurdle
Any of:
number
targets
Targets

Output metric keys to evaluate.

Array<string>
overrides
Overrides

(recompute) {metric_key: new_value}

object
key
additional properties
number
specs
Specs

(stress) {metric_key: center_value}

object
key
additional properties
number
scenario_label
Any of:
string
metric
Any of:
string
top_n
Top N

(contributors) how many drivers to return

integer
default: 5 >= 1 <= 25

Successful Response

Media typeapplication/json
Examplegenerated
example

Validation Error

Media typeapplication/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
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}