---
title: "List holdings"
method: GET
path: "/financial-data/v2beta/portfolios/{id}/holdings"
tags: ["Investments"]
---

# List holdings

`GET /financial-data/v2beta/portfolios/{id}/holdings`

## Request

- Base URL: `https://api.atlar.com`
- URL: `https://api.atlar.com/financial-data/v2beta/portfolios/{id}/holdings`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/atlar/apis/atlar-api-v2/docs/financial-data/v2beta/portfolios/:id/holdings/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a list of holdings. For further details on Pagination, see general section above.

## Path parameters

- `id` string, required

## Query parameters

- `limit` integer
- `token` string

## Response `200`

List of holdings.

- object
  - `items` Holding[], required: A list of resources.
    - `id` string, required: Unique resource identifier.
    - `organizationId` string, required: Unique resource identifier for an Organization.
    - `portfolioId` string: Unique resource identifier.
    - `identifiers` unknown[], required
      - unknown
    - `name` string: Name of the holding.
    - `taxId` string: Tax ID of the holding.
    - `type` 'MONEY_MARKET_FUND' | 'FIXED_TERM_FUND' | 'EXCHANGE_TRADED_FUND' | 'GOVERNMENT_BOND' | 'CORPORATE_BOND' | 'MUTUAL_FUND', required: The type of holding.
    - `market` string: Two-letter ISO 3166-1 alpha2 country code.
    - `currency` string: Three-letter ISO 4217 currency code.
    - `position` Position
      - `id` string, required: Unique resource identifier.
      - `holdingId` string, required: Unique resource identifier.
      - `organizationId` string, required: Unique resource identifier for an Organization.
      - `timestamp` string, date-time, required: Timestamp of when the position was recorded. This timestamp is reported in UTC and thus the date component of this timestamp may be different than `localDate`.
      - `localDate` string, date, required: `full-date` notation as defined by [RFC 3339, section 5.6](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), for example, `2017-07-21`.
      - `maturityDate` string, date: `full-date` notation as defined by [RFC 3339, section 5.6](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), for example, `2017-07-21`.
      - `type` 'MONEY_MARKET_FUND' | 'FIXED_TERM_FUND' | 'EXCHANGE_TRADED_FUND' | 'GOVERNMENT_BOND' | 'CORPORATE_BOND' | 'MUTUAL_FUND', required: The type of holding.
      - `nav` Amount
        - `currency` string, required: Three-letter ISO 4217 currency code.
        - `stringValue` string, required: A string representation of the amount value. This will be a decimal number if the currency has decimals. The number is not formatted for display purposes (e.g. with locale specific thousand separator) and always contains the dot `.` character as decimal separator.
        - `value` integer, required: The amount value as an integer (int64) represented in currency minor units (e.g. 15.02 EUR is represented as the value 1502).
      - `scaledNav` ScaledAmount
        - `currency` string, required: Three-letter ISO 4217 currency code.
        - `value` integer, required: The amount value as a scaled integer (int64). The number of decimal places is given by the `decimals` field, not by the currency. E.g. value=10004 with decimals=4 represents 1.0004.
        - `decimals` integer, required: The number of decimal places in `value`.
        - `stringValue` string, required: A string representation of the amount value as a decimal number.
      - `shares` number, double: Number of shares held
      - `totalValue` Amount, required
        - `currency` string, required: Three-letter ISO 4217 currency code.
        - `stringValue` string, required: A string representation of the amount value. This will be a decimal number if the currency has decimals. The number is not formatted for display purposes (e.g. with locale specific thousand separator) and always contains the dot `.` character as decimal separator.
        - `value` integer, required: The amount value as an integer (int64) represented in currency minor units (e.g. 15.02 EUR is represented as the value 1502).
      - `yield` number, double: Annualized yield of the fund
      - `wam` number, double: Weighted Average Maturity in days
      - `wal` number, double: Weighted Average Life in days
      - `wla` number, double: Weekly Liquid Assets (%)
      - `nominal` Amount
        - `currency` string, required: Three-letter ISO 4217 currency code.
        - `stringValue` string, required: A string representation of the amount value. This will be a decimal number if the currency has decimals. The number is not formatted for display purposes (e.g. with locale specific thousand separator) and always contains the dot `.` character as decimal separator.
        - `value` integer, required: The amount value as an integer (int64) represented in currency minor units (e.g. 15.02 EUR is represented as the value 1502).
      - `fundAum` Amount
        - `currency` string, required: Three-letter ISO 4217 currency code.
        - `stringValue` string, required: A string representation of the amount value. This will be a decimal number if the currency has decimals. The number is not formatted for display purposes (e.g. with locale specific thousand separator) and always contains the dot `.` character as decimal separator.
        - `value` integer, required: The amount value as an integer (int64) represented in currency minor units (e.g. 15.02 EUR is represented as the value 1502).
      - `rate` number, double: Bond coupon rate expressed as a decimal fraction, e.g. 0.0425 for 4.25%
      - `totalPurchasePrice` Amount
        - `currency` string, required: Three-letter ISO 4217 currency code.
        - `stringValue` string, required: A string representation of the amount value. This will be a decimal number if the currency has decimals. The number is not formatted for display purposes (e.g. with locale specific thousand separator) and always contains the dot `.` character as decimal separator.
        - `value` integer, required: The amount value as an integer (int64) represented in currency minor units (e.g. 15.02 EUR is represented as the value 1502).
      - `version` integer, required: Resource version. Starts at value `1` when the resource is created and increases by one for each successive update.
      - `etag` string, required: [ETag](https://en.wikipedia.org/wiki/HTTP_ETag) based on the resource version. This can be passed along in `If-Match` HTTP header when updating a resource to perform a conditional update.
    - `created` string, date-time, required: Time at which the resource was created.
    - `updated` string, date-time, required: Time at which the resource was last updated.
    - `version` integer, required: Resource version. Starts at value `1` when the resource is created and increases by one for each successive update.
    - `metadata` Metadata, nullable: Metadata is a `string-string` key-value container that can be used to store information known at the time of resource creation. This can be retrieved later on, for instance when a payment or expected transaction is reconciled with the booked transaction on the bank statement. Metadata can have at most 20 entries. Keys may have a maximum length of 64 chars and values a maximum length of 512 chars. By default, this field is optional. It is possible to make it required in the Atlar Dashboard by visiting the [Metadata keys page](https://app.atlar.com/metadata-keys). Requirement rules can be specified per API resource. Both the Dashboard and the API will then enforce these rules and give validation errors when the required fields are not set.
    - `etag` string, required: [ETag](https://en.wikipedia.org/wiki/HTTP_ETag) based on the resource version. This can be passed along in `If-Match` HTTP header when updating a resource to perform a conditional update.
  - `nextToken` string, required: Pagination token for next page. The value will be a non-empty string if there are more resources to be fetched. The value will be an empty string if there are no more resources to be fetched.
  - `token` string, required: The pagination token that was used for this request. The value will be an empty string if no `token` query parameter was provided with the request.
  - `limit` integer, required: The page limit that was used for this request.

## Other responses

- `400`: Bad request.
- `404`: Resource not found.

## Changes

- **2026-11-03** `b49df1e4b3e9`: 10 breaking, 12 warning, 3 info
  - the `allOf[subschema #2]/items/items/position` response's property type changed from `object` to no type for status `200`
  - removed the required property `allOf[subschema #2]/items/items/position/etag` from the response with the `200` status
  - removed the required property `allOf[subschema #2]/items/items/position/holdingId` from the response with the `200` status
  - removed the required property `allOf[subschema #2]/items/items/position/id` from the response with the `200` status
  - …21 more

[Operation history](https://skmtc.dev/atlar/apis/atlar-api-v2/changes/financial-data/v2beta/portfolios/:id/holdings/get.md)

---

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