{"$defs":{"DistributionPeriodInput":{"properties":{"period":{"description":"Period number","minimum":1,"title":"Period","type":"integer"},"date":{"description":"Distribution date (YYYY-MM-DD)","format":"date","title":"Date","type":"string"},"amount_available":{"description":"Cash available for distribution this period ($)","exclusiveMinimum":0,"title":"Amount Available","type":"number"}},"required":["period","date","amount_available"],"title":"DistributionPeriodInput","type":"object"},"PromoteTierInput":{"properties":{"hurdle":{"description":"IRR hurdle (e.g. 0.15) or MOIC hurdle (e.g. 2.0x), consistent with hurdle_type","exclusiveMinimum":0,"title":"Hurdle","type":"number"},"lp_pct":{"description":"Aggregate-LP share above this hurdle e.g. 0.80","exclusiveMaximum":1,"exclusiveMinimum":0,"title":"Lp Pct","type":"number"},"gp_pct":{"description":"GP share above this hurdle e.g. 0.20","exclusiveMaximum":1,"exclusiveMinimum":0,"title":"Gp Pct","type":"number"}},"required":["hurdle","lp_pct","gp_pct"],"title":"PromoteTierInput","type":"object"}},"example":{"catchup":"full","closing_date":"2020-01-01","compound":false,"day_count":"ACT/365","gp_contribution":1000000,"hurdle_type":"IRR","lp_contribution":9000000,"periods":[{"amount_available":2000000,"date":"2020-12-31","period":1},{"amount_available":4000000,"date":"2021-12-31","period":2},{"amount_available":4000000,"date":"2022-12-31","period":3},{"amount_available":5000000,"date":"2023-12-31","period":4},{"amount_available":5000000,"date":"2024-12-31","period":5}],"preferred_pct":0.08,"tiers":[{"gp_pct":0.2,"hurdle":0.15,"lp_pct":0.8},{"gp_pct":0.25,"hurdle":0.18,"lp_pct":0.75},{"gp_pct":0.3,"hurdle":99.0,"lp_pct":0.7}]},"properties":{"lp_contribution":{"description":"Aggregate LP equity contribution ($). Multiple pari-passu LP classes are pooled.","exclusiveMinimum":0,"title":"Lp Contribution","type":"number"},"gp_contribution":{"default":0.0,"description":"GP equity contribution ($). 0 for no GP co-invest.","minimum":0,"title":"Gp Contribution","type":"number"},"closing_date":{"description":"Date capital is contributed (YYYY-MM-DD)","format":"date","title":"Closing Date","type":"string"},"preferred_pct":{"description":"Annual preferred return rate e.g. 0.08. Accrues on unreturned capital for LP and GP pari passu.","exclusiveMaximum":0.5,"exclusiveMinimum":0,"title":"Preferred Pct","type":"number"},"day_count":{"default":"ACT/365","description":"Preferred accrual day count. One of ['ACT/365', 'ACT/360', '30/360', '30E/360', 'ACT/ACT']. IRR hurdle solve stays ACT/365 (Excel XNPV convention) regardless.","title":"Day Count","type":"string"},"compound":{"default":false,"description":"Annual compounding of unpaid preferred. False = simple/cumulative non-compounding.","title":"Compound","type":"boolean"},"hurdle_type":{"description":"'IRR' or 'MOIC' — applies to all tiers","title":"Hurdle Type","type":"string"},"catchup":{"default":"full","description":"'full' = soft pref, GP grossed up to tier-1 promote on LP preferred (gp1/(1-gp1) x LP pref). 'none' = hard pref, no catch-up.","title":"Catchup","type":"string"},"attest":{"default":false,"description":"If true, include an attestation block binding this result to the engine version and reconciliation pack (see GET /waterfall/reconciliation).","title":"Attest","type":"boolean"},"tiers":{"description":"Promote tiers ordered by hurdle ascending. The last tier catches all remaining distributions — set its hurdle to 99.0 to express 'all remaining above prior tier'. Example: [{hurdle:0.15,lp_pct:0.80,gp_pct:0.20},{hurdle:0.18,lp_pct:0.75,gp_pct:0.25},{hurdle:99.0,lp_pct:0.70,gp_pct:0.30}]","items":{"$ref":"#/$defs/PromoteTierInput"},"maxItems":5,"minItems":1,"title":"Tiers","type":"array"},"periods":{"description":"Distribution periods with date and cash available. Preferred accrues between period dates.","items":{"$ref":"#/$defs/DistributionPeriodInput"},"minItems":1,"title":"Periods","type":"array"}},"required":["lp_contribution","closing_date","preferred_pct","hurdle_type","tiers","periods"],"title":"WaterfallRequest","type":"object"}