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

# Get holding

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

## Request

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

Retrieve a specific holding.

## Path parameters

- `pid` string, required
- `id` string, required

## Response `200`

An holding.

- Holding
  - `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.

## Other responses

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

## Changes

- **2026-11-03** `b49df1e4b3e9`: 10 breaking, 12 warning, 3 info
  - the `position` response's property type changed from `object` to no type for status `200`
  - removed the required property `position/etag` from the response with the `200` status
  - removed the required property `position/holdingId` from the response with the `200` status
  - removed the required property `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/:pid/holdings/:id/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)
