Fixed
Rebalancing run and portfolio weight schemas corrected
September 1st, 2026
Broker API
The rebalancing run and portfolio weight schemas now match the behavior the API already implements. No production API behavior changes, but generated clients and strict validators will see contract differences.
Create Run (POST /v1/rebalancing/runs):
- The request body is now required, along with
account_idandtype. typedocuments the supported valuesfull_rebalanceandinvest_cash.- Adds an optional, nullable decimal
amountfield. weightschanges from a single object to an optional array ofPortfolioWeightRequestentries, each requiringtypeandpercent. Percentages must be positive and total exactly 100, and asset weights require a non-nullsymbol.- Omit
weightsor send an empty array to create a subscription-driven run; send a non-empty array for a manual one-off run, which is rejected when the account has an active subscription.
Weight schemas:
- Request and response weights are now separate models:
PortfolioWeightRequestfor inputs andPortfolioWeightsfor responses. Portfolio create and update requests now usePortfolioWeightRequest. PortfolioWeightsnow documentstype,symbol, andpercentas always present, withsymbolexplicitly nullable for cash weights andtypelimited toassetorcash.
Affected Endpoints
POST /v1/rebalancing/runsGET /v1/rebalancing/runsGET /v1/rebalancing/runs/{run_id}POST /v1/rebalancing/portfoliosPATCH /v1/rebalancing/portfolios/{portfolio_id}GET /v1/rebalancing/portfoliosGET /v1/rebalancing/portfolios/{portfolio_id}