---
title: "Creates an empty portfolio. The name must be unique among your own portfolios and is how the MCP tools address it."
method: POST
path: "/v1/portfolios"
tags: ["Portfolios"]
---

# Creates an empty portfolio. The name must be unique among your own portfolios and is how the MCP tools address it.

`POST /v1/portfolios`

## Request

- Base URL: `https://api.equibles.com`
- URL: `https://api.equibles.com/v1/portfolios`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/equibles/apis/equibles-api/docs/v1/portfolios/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- CreatePortfolioRequest
  - `name` string, required: What to call the portfolio. Unique among your own portfolios, and how the MCP tools address it.
  - `currency` string, nullable: Optional ISO 4217 code the totals are reported in: USD (the default), EUR, GBP, CHF, DKK, NOK, SEK, CNY, HKD, CAD, JPY or INR. Each holding stays in the currency its listing trades in.

## Response `201`

Created

- PortfolioSummaryDto
  - `id` string, uuid
  - `name` string, nullable
  - `currency` string, nullable: ISO 4217 code the portfolio's totals are reported in.
  - `openLotCount` integer
  - `closedLotCount` integer
  - `createdAtUtc` string, date-time
  - `access` string, nullable: What you may do with it: Owner, Edit (change its lots and watches) or View.
  - `sharedBy` string, nullable: Who shared it with your organization. Absent on your own portfolios.

## Other responses

- `400`: Bad Request

## Changes

- **2026-11-06** `666e06778588`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/equibles/apis/equibles-api/changes/v1/portfolios/post.md)

---

[API](https://skmtc.dev/equibles/apis/equibles-api.md) - [All operations](https://skmtc.dev/equibles/apis/equibles-api/llms.txt) - [OpenAPI document](https://skmtc.dev/equibles/apis/equibles-api/revisions/7c3497e8839d?raw)
