API Reference

Base URL: https://api.portfolwright.com/v1

POST /portfolios

Create portfolio

Create a new portfolio object. Returns a portfolio_id used in subsequent requests.

Request parameters

ParameterTypeRequiredDescription
namestringrequiredPortfolio display name
currencystringrequiredBase currency (ISO 4217). EUR, GBP, CHF, SEK, DKK, NOK
tax_jurisdictionstringrequiredISO 3166-1 country code. Determines default tax lot method.
account_typeenumoptionaldepot | isa | pea | pension. Defaults to depot.
metadataobjectoptionalKey-value pairs for your own reference (max 16 keys)
POST /v1/portfolios
{
  "name": "Maria Schneider — Depot",
  "currency": "EUR",
  "tax_jurisdiction": "DE",
  "account_type": "depot",
  "metadata": {
    "internal_id": "cust_8812"
  }
}
{
  "portfolio_id": "pf_3x8k2m",
  "name": "Maria Schneider — Depot",
  "currency": "EUR",
  "tax_jurisdiction": "DE",
  "account_type": "depot",
  "default_tax_method": "FIFO",
  "created": 1750512734
}
POST /portfolios/{id}/rebalance

Trigger rebalance

Calculate and queue a rebalancing sequence for the specified portfolio. Returns immediately with a rebalance_id; status is delivered via webhook or polled via GET /rebalances/{id}.

ParameterTypeRequiredDescription
target_weightsobjectrequiredISIN → weight (0.0–1.0) map. Weights must sum to 1.0 ± 0.001.
tax_methodenumoptionalFIFO | HIFO | average_cost | specific_id. Overrides portfolio default.
drift_thresholdnumberoptionalAbsolute drift threshold (0.01–0.25). Default 0.05.
idempotency_keystringoptionalUnique string for safe retry. Same key returns same result within 24h.
See quickstart for full example →
GET /mifid-records/{id}

Get MiFID II record

Retrieve a MiFID II Article 25 compliance record for a specific order execution. Records are retained for 5 years per regulatory requirement.

MiFID II compliance details →