Skip to content

Get Capital Stack

GET
/api/canvas/{deal_id}/capital-stack
curl --request GET \
--url https://example.com/api/canvas/example/capital-stack \
--header 'Authorization: Bearer <token>'

Return the debt capital stack (tranches + subordination + maturities) for deal_id.

Returns 200 with available: false and empty arrays when the property graph has no debt tranches for the deal (no debt schedule in the workbook, or the parse-time hook was skipped). The UI renders the empty state in that case.

deal_id
required
Deal Id
string

Successful Response

Media typeapplication/json
CapitalStackResponse

Top-level response for GET /canvas/{deal_id}/capital-stack.

object
deal_id
required
Deal Id
string
available
required
Available
boolean
tranches
required
Tranches
Array<object>
DebtTrancheRow

A single debt tranche in the capital stack, senior-first by position.

object
position
required
Position
integer
entity_id
required
Entity Id
string
name
required
Name
string
loan_instrument
Any of:
string
loan_amount
Any of:
number
interest_rate
Any of:
number
rate_type
Any of:
string
io_period_months
Any of:
integer
amortization_months
Any of:
integer
balloon_payment
Any of:
number
total_debt_service_year1
Any of:
number
maturity_date
Any of:
string
maturity_year
Any of:
integer
tranche_count
required
Tranche Count
integer
total_debt
Any of:
number
earliest_maturity_year
Any of:
integer
subordination
required
Subordination
Array<object>
SubordinationEdge

A junior→senior subordination relationship between two tranches.

object
junior_entity_id
required
Junior Entity Id
string
senior_entity_id
required
Senior Entity Id
string
Examplegenerated
{
"deal_id": "example",
"available": true,
"tranches": [
{
"position": 1,
"entity_id": "example",
"name": "example",
"loan_instrument": "example",
"loan_amount": 1,
"interest_rate": 1,
"rate_type": "example",
"io_period_months": 1,
"amortization_months": 1,
"balloon_payment": 1,
"total_debt_service_year1": 1,
"maturity_date": "example",
"maturity_year": 1
}
],
"tranche_count": 1,
"total_debt": 1,
"earliest_maturity_year": 1,
"subordination": [
{
"junior_entity_id": "example",
"senior_entity_id": "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": {}
}
]
}