Skip to content
/api/v1/portfolio/portfolios/{portfolio_id}/allocation

Read portfolio allocation

Returns exact allocation values and decimal weights from the portfolio valuation. SECURITY groups existing instrument marks and cash; CURRENCY groups the supported reporting currency; ACCOUNT retains existing account allocation. Values sum to the portfolio total and nonempty weights sum to one.

Why use this

Display a breakdown of current portfolio value.

Common use case

Show security, currency or account allocation beside saved holdings.

Parameters

NameInRequiredDefaultAllowedDescriptionExample
portfolio_idpathrequiredPortfolio identifier owned by the authenticated user.00000000-0000-4000-8000-000000000004
dimensionqueryrequiredASSET_CLASS, SECTOR, INDUSTRY, COUNTRY, CURRENCY, ACCOUNT, SECURITYGrouping dimension. Positioned USD portfolios currently support ACCOUNT, SECURITY and CURRENCY. Unsupported positioned dimensions return SERVICE_UNAVAILABLE; they are not invented from missing classifications.SECURITY
currencyqueryoptionalReporting currency; must match the supported portfolio base currency.USD
as_ofqueryoptionalOptional exact source timestamp in UTC. A snapshot without matching authority remains unavailable.2026-09-13T00:00:00.000000Z

Response schema

FieldTypeNullableDescription
statusstringnosuccess.
request_idstringnoRequest correlation identifier.
timestampstringnoResponse time in UTC.
dataobjectnoAdopted portfolio allocation result.
metaobjectnoSource timestamp, freshness, coverage counts, version and explicit omissions.

Sample response

·
  • "status": "success"
  • "request_id": "portfolio-documentation-example"
  • "timestamp": "2026-09-13T00:00:00.000000Z"
  • "data":
    • "portfolio_id": "00000000-0000-4000-8000-000000000004"
    • "as_of": "2026-09-13T00:00:00.000000Z"
    • "dimension": "CURRENCY"
    • "currency": "USD"
    • "total_value": "125.5"
    • "buckets":
    }
  • "meta":
    • "source_as_of": "2026-09-13T00:00:00.000000Z"
    • "freshness": "FRESH"
    • "coverage":
    • "version": "source-v1"
    • "omissions": []
    }
}

Errors

StatusLabelDescription
200Successful response with source freshness metadata.
400INVALID_REQUEST: invalid or unsupported query shape.
401UNAUTHENTICATED: a valid Portfolio Day Pass is required.
403FORBIDDEN: scope or entitlement does not permit the operation.
404NOT_FOUND: portfolio is absent or not owned by the caller.
429RATE_LIMITED: retry after the supplied delay.
503SERVICE_UNAVAILABLE or typed source validation failure: the requested authoritative result is not ready.

Code samples

curl "https://api.finradar.ai/api/v1/portfolio/portfolios/00000000-0000-4000-8000-000000000004/allocation?dimension=SECURITY&currency=USD&as_of=2026-09-13T00%3A00%3A00.000000Z" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).