---
title: "Trigger portfolio rebalancing"
method: POST
path: "/portfolios/rebalancings/executions"
tags: ["Portfolios Rebalancing"]
---

# Trigger portfolio rebalancing

`POST /portfolios/rebalancings/executions`

## Request

- Base URL: `https://sandbox.upvest.co`
- URL: `https://sandbox.upvest.co/portfolios/rebalancings/executions`
- Auth: OAuth 2 (client credentials, token URL `https://sandbox.upvest.co/auth/token`, scopes: `portfolios:admin`)

Triggers an immediate rebalancing execution for all accounts linked to the specified allocation.

The rebalancing adjusts each account's positions to match the current target allocation weights. In rare situations, individual orders within the rebalancing may not be cancellable once submitted.

See the Portfolios rebalancing guide ([TOL](https://docs.upvest.co/products/tol/guides/portfolios/rebalancing/rebalancing) / [BYOL](https://docs.upvest.co/products/byol/guides/portfolios/rebalancing/rebalancing)) for implementation details.

## Headers

- `idempotency-key` string, uuid, required

## Request body

- union
  - object
    - `accounts` string[], required: List of accounts
  - object
    - `allocations` string[], required: List of allocations

## Response `200`

Portfolio

- object: Response returned after triggering a portfolio rebalancing, containing the `id` of the rebalancing execution created.
  - `id` string, uuid, required: Universally Unique Identifier (UUID) of a portfolio rebalancing execution.

## Other responses

- `400`: Bad Request. The incoming request had a malformed parameter/object.
- `401`: Unauthorized. The caller has not been authenticated.
- `403`: Forbidden. The caller has been authenticated but is not allowed to take the requested action.
- `404`: Not Found. The requested resource could not be found.
- `406`: Not Acceptable. The resource does not have a current representation that would be acceptable to the user agent. "Accept" header defined unsupported value.
- `429`: Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.
- `500`: Internal Server Error. The service encountered an unexpected error.
- `503`: Service Unavailable. The service handling for this request cannot be reached at this time.
- `504`: Gateway Timeout. The service gateway has reached its internal timeout.

---

[API](https://skmtc.dev/upvest/apis/upvest-investment-api.md) · [All operations](https://skmtc.dev/upvest/apis/upvest-investment-api/llms.txt) · [OpenAPI document](https://skmtc.dev/upvest/apis/upvest-investment-api/revisions/ca69534b631d?raw)
