---
title: "Create Portfolio"
method: POST
path: "/v1/rebalancing/portfolios"
tags: ["Rebalancing"]
---

# Create Portfolio

`POST /v1/rebalancing/portfolios`

Creates a portfolio allocation containing securities and/or cash. Having no rebalancing conditions is allowed but the rebalance event would need to be triggered manually. Portfolios created with API may have multiple rebalance_conditions, but only one of type calendar.

## Request body

- object
  - `cooldown_days` integer — Count of calendar days following a rebalance before a subscription is eligible to trigger another rebalance
  - `description` string — Text to describe portfolio
  - `name` string — Name of portfolio
  - `rebalance_conditions` RebalancingConditions[] — Rebalancing conditions for portfolio
    - `day` string — Used to specify the rebalancing day for conditions of type = calendar. Only permitted and required for type = calendar. In scenarios when the specified day aligns to a non-trading day, the rebalance will be triggered on the preceding trading day. For type= annually, the value must be passed in MM-DD format. If 02-29 is specified and the current year is not a leap year, the rebalance will occur on the trading day preceding 2/29. For type= quarterly and monthly the value must be an integer between 1 and 31 inclusive. This represents the day of month. For quarterly, rebalancing will trigger on this day in January, March, June, and December. If the specified day is non-existent for the month then the rebalancing will trigger on the preceding trading day. For type = weekly, permitted values are Monday, Tuesday, Wednesday, Thursday, Friday.
    - `percent` string — Must be a positive value, up to two decimal places. Only permitted and required for type = drift_band. This is the max allowable drift percent from any target weight (+/-)
    - `sub_type` string — For type = drift_band: absolute or relative. For type = calendar: weekly,monthly, quarterly or annually. For type = on_portfolio_update: there is no subtype
    - `type` string — Possible values of drift_band, calendar or on_portfolio_update
  - `weights` PortfolioWeights[] — Weight configuration to portfolio. Sum of "percent" values in the weights array must be 100.00
    - `percent` string — Must be a positive value, up to two decimal places
    - `symbol` string — Must be fractionable asset. Only provided if type = "asset"
    - `type` string — Possible values of cash or asset

## Response `200`

OK

- Portfolio
  - `cooldown_days` integer, required — Count of calendar days following a rebalance before a subscription is eligible to trigger another rebalance
  - `created_at` string — Portfolio creation timestamp
  - `description` string — Text to describe portfolio
  - `id` string — Portfolio ID
  - `name` string — Name of portfolio
  - `rebalancing_conditions` string — Rebalancing conditions for portfolio
  - `status` 'active' | 'inactive' | 'needs_adjustment' — Current status of portfolio
  - `updated_at` string — Portfolio updated timestamp
  - `weights` PortfolioWeights[] — Weight configuration to portfolio. Sum of "percent" values in the weights array must be 100.00
    - `percent` string — Must be a positive value, up to two decimal places
    - `symbol` string — Must be fractionable asset. Only provided if type = "asset"
    - `type` string — Possible values of cash or asset

---

[API](https://skmtc.net/alpacahq/apis/gift-city-extensions-api.md) · [All operations](https://skmtc.net/alpacahq/apis/gift-city-extensions-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alpacahq/gift-city-extensions-api/revisions/62e3378bb273/schema)
