Skip to navigation

Create a portfolio

Creates a portfolio (portfolios:manage); portfolios have no maker-checker, so it is live at once. A name in use refuses 409 NAME_TAKEN.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Headers

Idempotency-KeystringRequired

Required on every write: a URL-safe string of 1 to 64 characters from [A-Za-z0-9._~-] (a UUID fits), scoped to you. It names one operation on one record, ever: a retry replays the stored outcome (Idempotent-Replay: true) or attaches to the live one, and reuse on another record refuses 409 IDEMPOTENCY_KEY_REUSED. Missing or malformed, 400.

Request

This endpoint expects an object.
namestringRequired
portfolioIdinteger or nullOptional

0 = create.

expectedVersionstring or nullOptionalformat: "^-?[0-9]+$"
int64 as a decimal JSON string

Response

The portfolio as the platform now holds it after the write — the same row the read serves, with the answering change's position, the row's ETag and, on a replayed key, Idempotent-Replay.

globalSequencestringformat: "^[0-9]+$"

The position as a decimal string — the last change this member had applied, orders and balance readings included.

namestring

Natural key — per-org unique among live portfolios.

orgIdinteger

Owner-stamped.

portfolioIdinteger
Sticky entity key.
statusenum

UNKNOWN is the unset sentinel: outputs only — as input, omit the field instead; explicit UNKNOWN refuses 400. The value set is append-only: a consumer READING this field treats an unknown name as UNKNOWN, never as an error; as input an unknown name refuses 400 — the parse is strict

Allowed values:
versionstringformat: "^-?[0-9]+$"

The row's version: monotonic per record, bumped on every change — served as the ETag and taken by If-Match. int64 as a decimal JSON string

unscaledbooleanOptionalDeprecated

Never present since 0.3.3: every money value on this API states its own scale on the wire — a policy amount or cap since 0.3.3, an order's and an execution's since 0.3.2, a balance's since 0.3.1 — so a row is never served raw, whether or not this member holds the asset or instrument it references. Kept, deprecated, so a client generated from 0.3.2 still compiles; it goes at the next major.

Errors

400
Create Portfolios Request Bad Request Error
401
Create Portfolios Request Unauthorized Error
403
Create Portfolios Request Forbidden Error
409
Create Portfolios Request Conflict Error
413
Create Portfolios Request Content Too Large Error
422
Create Portfolios Request Unprocessable Entity Error
429
Create Portfolios Request Too Many Requests Error
500
Create Portfolios Request Internal Server Error
503
Create Portfolios Request Service Unavailable Error