Fixed
Corrected request and response schemas on rebalancing endpoints
September 1st, 2026
Broker API
The rebalancing schemas now match what the API actually accepts and returns. No API behavior changes; generated clients and strict validators may need updating.
Create Run (POST /v1/rebalancing/runs):
- The request body,
account_id, andtypeare now required.typeacceptsfull_rebalanceorinvest_cash, andaccount_idis documented as a UUID. - Adds a nullable decimal
amountfield. weightsis now an optional array of weight entries instead of a single object. Omitweightsor send an empty array to create a subscription-driven run; send a non-empty array for a manual one-off run, which is rejected if the account already has an active subscription.
Weight schemas:
- Request weights use the new
PortfolioWeightRequestschema, wheretypeandpercentare required, percentages must be positive, and the weights must total exactly 100. This schema is also used by the portfolio create and update requests. - Response weights (
PortfolioWeights) now requiretype,symbol, andpercent, withsymbolexplicitly nullable for cash weights.
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}