Performance requests can now target a specific output currency.
/performance- Added
POST /performancenow accepts an optionalcurrencyfield to calculate performance in a selected currency (defaults toEUR).
Performance requests can now target a specific output currency.
/performancePOST /performance now accepts an optional currency field to calculate performance in a selected currency (defaults to EUR).
A new read endpoint allows integrations to fetch the holdings of a specific portfolio, including asset-specific metadata and optional external IDs for reconciliation.
/portfolios/{portfolioId}/holdingsGET /portfolios/{portfolioId}/holdings now returns holdings for the requested portfolio.
Custom holding creation now supports importing an initial set of quotes. User-managed quote imports can now overwrite existing quotes for the same datetime, simplifying idempotent sync runs.
/portfolios/{portfolioId}/holdings/customPOST /portfolios/{portfolioId}/holdings/custom now accepts an optional quotes array so integrations can import initial price history while creating a custom holding.
/portfolios/{portfolioId}/quotes/user-managedPOST /portfolios/{portfolioId}/quotes/user-managed now updates existing quotes when an incoming quote uses the same datetime instead of rejecting it.
User-managed quote creation now supports a structured identifier for both Parqet holding IDs and external source IDs.
Source-system IDs are useful when syncing from external brokers, because they provide stable cross-system mapping of resources.
The pre-existing holdingId property is now deprecated
/portfolios/{portfolioId}/quotes/user-managedPOST /portfolios/{portfolioId}/quotes/user-managed now accepts identifier: { type: "holdingId" | "externalId", value } to target holdings by Parqet or source-system IDs.
The pre-existing holdingId field is still accepted for backward compatibility, but it is deprecated; migrate to identifier (for example, holdingId: "abc123" -> identifier: { type: "holdingId", value: "abc123" }).
Holding creation endpoints now support source-system reconciliation IDs consistently. Custom holdings also accept an optional image payload to align with other holding types that already support logos.
/portfolios/{portfolioId}/holdings/customexternalId is now supported when creating custom holdings.
imageData can now be provided when creating custom holdings.
/portfolios/{portfolioId}/holdings/cashexternalId is now supported when creating cash holdings.
/portfolios/{portfolioId}/holdings/commodityexternalId is now supported when creating commodity holdings.
/portfolios/{portfolioId}/holdings/real-estateexternalId is now supported when creating real estate holdings.
/performancePerformance responses now include externalId on holdings, allowing source-system reconciliation across read and write flows.
Sending cash in referenceAccountFor was previously accepted by the request schema but still failed during processing. The API now rejects this input during validation, which also results in improved type safety for clients.
/portfolios/{portfolioId}/holdings/cashPOST /portfolios/{portfolioId}/holdings/cash now returns a validation error when referenceAccountFor contains cash (previously this also errored later in processing).
Activities now support an optional externalId so integrations can map Parqet activities to source-system records (for example, broker transaction IDs). Use a stable ID per source activity to prevent duplicates and simplify sync logic.
/portfolios/{portfolioId}/activitiesexternalId can now be provided when creating activities.
/portfolios/{portfolioId}/activitiesexternalId is now returned in activity responses, allowing clients to reconcile Parqet data with their original source records.
/portfolios/{portfolioId}/holdings/cashProvide explicit error message if duplicate reference accounts are created (only one reference account is allowed per asset class).
Performance responses now include chart series and richer commodity metadata.
/performanceResponse now includes a charts array with mark, date, and time-series values (history, capitalHistory, perfHistory, perfHistoryUnrealized, ttwror, drawdown).
Commodity holdings in the performance response now expose an identifier field (gold, silver, platinum, palladium).
the currency RMB is no longer supported (use CNY instead).
/portfolios/{portfolioId}/activitiesholding_id is now forwarded for cash, commodity, real_estate, and custom_asset activity payloads.
/performanceAbsolute intervals now reject an end date in the future.
Parqet Connect now supports creating cash, commodity, and real estate holdings, and posting activities against those holdings.
/portfolios/{portfolioId}/holdings/cashNew endpoint to create cash holdings (with support for reference accounts).
/portfolios/{portfolioId}/holdings/commodityNew endpoint to create commodity holdings (identifier + definition with unit, amount, purity).
/portfolios/{portfolioId}/holdings/real-estateNew endpoint to create real estate holdings.
/portfolios/{portfolioId}/activitiesActivity creation now accepts assetIdentifierType values cash, commodity, and real_estate with holding_id.
/performanceA 400 response is returned if absolute intervals have an end date before the start date.