openapi: 3.0.1
info:
version: 1.0.0
title: Authorization Tokens Accounts Performance API
description: 'Use the `oauth` endpoint to generate the secure, time-limited JSON Web Tokens (JWTs) used to authorize access to APIs and components.
To request a token, click Authorize and enter the following credentials:
* Username - Your Client ID.
* Password - Your Client Secret.'
servers:
- url: https://www.us-api.morningstar.com/token
description: PROD US
- url: https://www.emea-api.morningstar.com/token
description: PROD EMEA
- url: https://www.apac-api.morningstar.com/token
description: PROD APAC
security:
- BasicAuth: []
tags:
- name: Performance
paths:
/portfolioanalysis/v1/performance:
post:
tags:
- Performance
summary: Calculate portfolio performance
description: Calculate performance for portfolios specified in the request body. To override the default value in the Accept-Language HTTP header, use the `langcult` parameter.
operationId: calculatePortfolioPerformance
parameters:
- name: langcult
in: query
description: Language and locale used for the response. Defaults to en-US.
required: true
schema:
type: string
default: en-US
enum:
- en-US
- en-CA
- en-AU
- en-GB
requestBody:
$ref: '#/components/requestBodies/RequestPerformance'
responses:
'200':
$ref: '#/components/responses/ResponsePerformance'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/OutputErrorResponse'
examples:
General - BadRequest Response:
summary: General BadRequest
value: '{"Message": "The request is invalid.","SpecificErrorStatus": [ {"ErrorCode": "40015","ErrorMessage": "Portfolio does not have any valid holdings. Invalid portfolio name: TestPortfolio1. Invalid Holdings: TradingSymbol:DODGX1."}]}'
DisableRescaleTrue - BadRequestResponse:
summary: DisableRescale BadRequest
value: '{"Message": "The request is invalid.","SpecificErrorStatus": [ {"ErrorCode": "40059","ErrorMessage": "There are holdings present in portfolio which are invalid.","Metadata": {"InvalidPortfolios": [{ "Name": "Test Portfolio","InvalidHoldings": [{"SecurityId": "FX000015JA3","Status": "Invalid"},{"SecurityId": "F00000YZ48","Status": "Unentitled"}]}]}}]}'
/direct-web-services/time-series/v1/performance/12-mo-yield/{ids}:
get:
tags:
- Performance
summary: Get 12-Month Yield time series.
description: An expression of the amount paid out in distributions (pre-tax) by the investment in the last 12 months expressed as a percentage of the previous month end price.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX,EX$$$$AIMX,,EXTP$$$AMM
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformance12MoYield
/direct-web-services/time-series/v1/performance/7-day-gross-yield/{ids}:
get:
tags:
- Performance
summary: Get 7-Day Gross Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformance7DayGrossYield
/direct-web-services/time-series/v1/performance/7-day-unsubsidized-yield/{ids}:
get:
tags:
- Performance
summary: Get 7-Day Unsubsidized Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformance7DayUnsubsidizedYield
/direct-web-services/time-series/v1/performance/7-day-yield/{ids}:
get:
tags:
- Performance
summary: Get 7-Day Yield time series.
description: A figure calculated using the formula under Item 26. (a) (1) of SEC Form N-1A to reflect the expenses net of subsidies of management fee waiver or reimbursement.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformance7DayYield
/direct-web-services/time-series/v1/performance/aggregated-12-month-yield/{ids}:
get:
tags:
- Performance
summary: Get Aggregated 12-Month Yield time series.
description: The asset-weighted and rescaled aggregation of the 12 month yield of eligible holdings within a fund's portfolio.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceAggregated12MonthYield
/direct-web-services/time-series/v1/performance/aggregated-sec-yield/{ids}:
get:
tags:
- Performance
summary: Get Aggregated Sec Yield time series.
description: The asset-weighted and rescaled aggregation of the SEC yield of eligible holdings within a fund's portfolio.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceAggregatedSecYield
/direct-web-services/time-series/v1/performance/cum-fair-nav-unweighted-dri/{ids}:
get:
tags:
- Performance
summary: Get Cum Fair NAV Unweighted Dri time series.
description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceCumFairNavUnweightedDri
/direct-web-services/time-series/v1/performance/cum-fair-nav-weighted-dri/{ids}:
get:
tags:
- Performance
summary: Get Cum Fair NAV Weighted Dri time series.
description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price. Index values are available daily back to inception.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceCumFairNavWeightedDri
/direct-web-services/time-series/v1/performance/cumulative-return/{ids}:
get:
tags:
- Performance
summary: Get Cumulative Return time series.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
- name: performanceType
in: query
description: Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only.
schema:
type: string
enum:
- total
- market
- gross
default: total
example: total
- name: annualDays
in: query
description: Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only.
schema:
type: number
default: 365.25
example: '365'
- name: annualized
in: query
description: Specifies whether the calculation results should be annualized. Used with calculated data points only.
schema:
type: boolean
example: true
- name: preCurrency
in: query
description: Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only.
schema:
type: string
example: USD
- name: requireContinueData
in: query
description: Specifies whether continuous data is required for calculations. Used with calculated data points only.
schema:
type: boolean
example: 'true'
- name: stepSize
in: query
description: Specifies the step size for rolling or iterative calculations. Used with 'rolling-return' data point only. For example, `stepSize=12` and `frequency=monthly` 12-month rolling values are calculated.
schema:
type: number
default: 1
example: '12'
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceCumulativeReturn
/direct-web-services/time-series/v1/performance/current-yield/{ids}:
get:
tags:
- Performance
summary: Get Current Yield time series.
description: Annual income (interest or dividends) divided by the current price of the security. This measure looks at the current price of a bond instead of its face value and represents the return an investor would expect if he or she purchased the bond and held it for a year.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
- weekly
- monthly
- quarterly
- annually
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceCurrentYield
/direct-web-services/time-series/v1/performance/daily-bid-price/{ids}:
get:
tags:
- Performance
summary: Get Daily Bid Price time series.
description: The highest price a market maker will pay to purchase a specified number of shares of a mutual fund at any given time.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
- weekly
- monthly
- quarterly
- annually
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyBidPrice
/direct-web-services/time-series/v1/performance/daily-closing-price/{ids}:
get:
tags:
- Performance
summary: Get Daily Closing Price time series.
description: Closing price generally refers to the last price at which a stock trades during a regular trading session.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyClosingPrice
/direct-web-services/time-series/v1/performance/daily-estimated-holding-cost/{ids}:
get:
tags:
- Performance
summary: Get Daily Estimated Holding Cost time series.
description: The Estimated Holding Cost calculation uses the daily NAV and total return benchmark returns from the Tracking Error calculation.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyEstimatedHoldingCost
/direct-web-services/time-series/v1/performance/daily-gross-return-index/{ids}:
get:
tags:
- Performance
summary: Get Daily Gross Return Index time series.
description: The daily account balance estimate that was experienced by an investor who purchased 1 share of separate account on inception date.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyGrossReturnIndex
/direct-web-services/time-series/v1/performance/daily-high-price/{ids}:
get:
tags:
- Performance
summary: Get Daily High Price time series.
description: High price generally refers to the highest price at which a stock trades during a regular trading session.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyHighPrice
/direct-web-services/time-series/v1/performance/daily-load-adj-return-index-restated/{ids}:
get:
tags:
- Performance
summary: Get Daily Load Adj Return Index Restated time series.
description: Return calculated by load-adjustment methodology (refer to methodology paper for details)
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyLoadAdjReturnIndexRestated
/direct-web-services/time-series/v1/performance/daily-low-price/{ids}:
get:
tags:
- Performance
summary: Get Daily Low Price time series.
description: Low price generally refers to the lowest price at which a stock trades during a regular trading session.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyLowPrice
/direct-web-services/time-series/v1/performance/daily-market-impact-cost/{ids}:
get:
tags:
- Performance
summary: Get Daily Market Impact Cost time series.
description: Market Impact Cost is calculated as a fraction of the daily volatility in an ETF’s market price relative to its underlying value (as determined by the NAV).
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyMarketImpactCost
/direct-web-services/time-series/v1/performance/daily-market-return-index/{ids}:
get:
tags:
- Performance
summary: Get Daily Market Return Index time series.
description: The daily market price account balance that is experienced by an investor who purchased 1 share on inception date.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyMarketReturnIndex
/direct-web-services/time-series/v1/performance/daily-net-return-index/{ids}:
get:
tags:
- Performance
summary: Get Daily Net Return Index time series.
description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyNetReturnIndex
/direct-web-services/time-series/v1/performance/daily-offer-price/{ids}:
get:
tags:
- Performance
summary: Get Daily Offer Price time series.
description: The lowest price at which a market maker will sell a specified number of shares of a mutual fund at any given time.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
- weekly
- monthly
- quarterly
- annually
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyOfferPrice
/direct-web-services/time-series/v1/performance/daily-ohlcv/{ids}:
get:
tags:
- Performance
summary: Get Daily OHLCV time series.
description: Daily open, high, low, closing and volume price data
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesDailyOhlcv'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyOhlcv
/direct-web-services/time-series/v1/performance/daily-portfolio-concentration/{ids}:
get:
tags:
- Performance
summary: Get Daily Portfolio Concentration time series.
description: Portfolio Concentration is calculated by a linear regression of the ETF’s daily market returns on the daily returns of three risk factors calculated from Morningstar indexes.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyPortfolioConcentration
/direct-web-services/time-series/v1/performance/daily-price/{ids}:
get:
tags:
- Performance
summary: Get Daily Price time series.
description: The NAV price for the fund as of the performance date.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyPrice
/direct-web-services/time-series/v1/performance/daily-return-index/{ids}:
get:
tags:
- Performance
summary: Get Daily Return Index (DRI) time series.
description: The daily account balance experienced by an investor who purchased 1 share on inception date. The numbers do reflect any uninvested cash accrued to the account (such as future distributions and daily dividends).
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyReturnIndex
/direct-web-services/time-series/v1/performance/daily-return-index-cum-fair/{ids}:
get:
tags:
- Performance
summary: Get Daily Return Index (DRI) Cum Fair time series.
description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyReturnIndexCumFair
/direct-web-services/time-series/v1/performance/daily-tracking-volatility/{ids}:
get:
tags:
- Performance
summary: Get Daily Tracking Volatility time series.
description: Tracking Volatility is a measure of the day-to-day random variation in a fund portfolio versus its benchmark index.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyTrackingVolatility
/direct-web-services/time-series/v1/performance/daily-volume/{ids}:
get:
tags:
- Performance
summary: Get Daily Volume time series.
description: This is the number of shares or contracts traded for a security in one day.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyVolume
/direct-web-services/time-series/v1/performance/daily-yield/{ids}:
get:
tags:
- Performance
summary: Get Daily Yield time series.
description: This data point shows the yield on that day for interest rate index series where the data are expressed as per annum interest rates, also known as yields.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyYield
/direct-web-services/time-series/v1/performance/dividend-yield-12-month/{ids}:
get:
tags:
- Performance
summary: Get Dividend Yield 12 Month time series.
description: A financial ratio that indicates how much a fund's underlying holdings pay out in dividends each year relative to the net asset value of the fund.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDividendYield12Month
/direct-web-services/time-series/v1/performance/dividend-yield-long/{ids}:
get:
tags:
- Performance
summary: Get Dividend Yield Long time series.
description: A financial ratio that indicates how much a company pays out in dividends each year relative to its share price.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDividendYieldLong
/direct-web-services/time-series/v1/performance/dividend-yield-short/{ids}:
get:
tags:
- Performance
summary: Get Dividend Yield Short time series.
description: A financial ratio that indicates how much a company pays out in dividends each year relative to its share price.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDividendYieldShort
/direct-web-services/time-series/v1/performance/estimated-quarterly-return/{ids}:
get:
tags:
- Performance
summary: Get Estimated Quarterly Return time series.
description: 'Morningstar Estimated Performance for Hedge Funds: Quarterly returns for hedge funds that are calculated using public filings or financial statements of entities that own shares and interests in hedge funds.'
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- quarterly
type: string
default: quarterly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceEstimatedQuarterlyReturn
/direct-web-services/time-series/v1/performance/estimated-share-class-net-flow-daily/{ids}:
get:
tags:
- Performance
summary: Get Estimated Share Class Net Flow Daily time series.
description: Estimated Share Class Net Flow Daily is computed using yesterday's Total Net Assets, today's Total Net Assets, and the daily Total Return of the share class.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceEstimatedShareClassNetFlowDaily
/direct-web-services/time-series/v1/performance/estimated-share-class-net-flow-monthly/{ids}:
get:
tags:
- Performance
summary: Get Estimated Share Class Net Flow Monthly time series.
description: Estimated Share-Classs Level Net Flow Monthly is computed using beginning and ending monthly Total Net Assets and Monthly Total Return.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceEstimatedShareClassNetFlowMonthly
/direct-web-services/time-series/v1/performance/ex-par-nav-unweighted-dri/{ids}:
get:
tags:
- Performance
summary: Get Ex Par NAV Unweighted DRI time series.
description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceExParNavUnweightedDri
/direct-web-services/time-series/v1/performance/ex-par-nav-weighted-dri/{ids}:
get:
tags:
- Performance
summary: Get Ex Par NAV Weighted DRI time series.
description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceExParNavWeightedDri
/direct-web-services/time-series/v1/performance/fund-size-comprehensive-daily/{ids}:
get:
tags:
- Performance
summary: Get Fund Size Comprehensive Daily time series.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceFundSizeComprehensiveDaily
/direct-web-services/time-series/v1/performance/fund-size-comprehensive-monthly/{ids}:
get:
tags:
- Performance
summary: Get Fund Size Comprehensive Monthly time series.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceFundSizeComprehensiveMonthly
/direct-web-services/time-series/v1/performance/fund-size-surveyed-daily/{ids}:
get:
tags:
- Performance
summary: Get Fund Size Surveyed Daily time series.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceFundSizeSurveyedDaily
/direct-web-services/time-series/v1/performance/fund-size-surveyed-monthly/{ids}:
get:
tags:
- Performance
summary: Get Fund Size Surveyed Monthly time series.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceFundSizeSurveyedMonthly
/direct-web-services/time-series/v1/performance/growth/{ids}:
get:
tags:
- Performance
summary: Get Growth time series.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
- weekly
- monthly
- quarterly
- annually
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
- name: initialInvestment
in: query
description: Specifies the initial value for calculations that require a starting point. For example initialValue=10000 sets the base value for index calculations. Used with the growth data point only.
schema:
type: number
default: 10000
example: '10000'
- name: performanceType
in: query
description: Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only.
schema:
type: string
enum:
- total
- market
- gross
default: total
example: total
- name: annualDays
in: query
description: Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only.
schema:
type: number
default: 365.25
example: '365'
- name: preCurrency
in: query
description: Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only.
schema:
type: string
example: USD
- name: requireContinueData
in: query
description: Specifies whether continuous data is required for calculations. Used with calculated data points only.
schema:
type: boolean
example: 'true'
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceGrowth
/direct-web-services/time-series/v1/performance/income-only-yield-nav-uk/{ids}:
get:
tags:
- Performance
summary: Get Income Only Yield NAV UK time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceIncomeOnlyYieldNavUk
/direct-web-services/time-series/v1/performance/income-only-yield-nav-us/{ids}:
get:
tags:
- Performance
summary: Get Income Only Yield NAV US time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceIncomeOnlyYieldNavUs
/direct-web-services/time-series/v1/performance/income-only-yield-price-us/{ids}:
get:
tags:
- Performance
summary: Get Income Only Yield Price US time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceIncomeOnlyYieldPriceUs
/direct-web-services/time-series/v1/performance/monthly-downside-tracking-error/{ids}:
get:
tags:
- Performance
summary: Get Monthly Downside Tracking Error time series.
description: Downside tracking error is defined as the standard deviation of a fund's negative excess returns. In the context of exchange traded-funds, negative excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark, where the daily return of the exchange-traded fund was lower than that of its primary prospectus.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyDownsideTrackingError
/direct-web-services/time-series/v1/performance/monthly-gross-return/{ids}:
get:
tags:
- Performance
summary: Get Monthly Gross Return time series.
description: The return an investor would have received had they not paid any expenses. The calculation of gross return adjusts the monthly total return for the share class by the share class level fees prevailing at that time.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyGrossReturn
/direct-web-services/time-series/v1/performance/monthly-inflation-adjusted-return/{ids}:
get:
tags:
- Performance
summary: Get Monthly Inflation Adjusted Return time series.
description: A Inflation Adjusted return calculation that is adjusted to account for inflation during the period, thus providing a real return.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyInflationAdjustedReturn
/direct-web-services/time-series/v1/performance/monthly-load-adj-return-restated/{ids}:
get:
tags:
- Performance
summary: Get Monthly Load Adj Return Restated time series.
description: Return calculated by load-adjustment methodology (refer to methodology paper for details)
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyLoadAdjReturnRestated
/direct-web-services/time-series/v1/performance/monthly-market-return/{ids}:
get:
tags:
- Performance
summary: Get Monthly Market Return time series.
description: A exchange-traded or closed-end fund's total return based on close market prices, as opposed to NAV.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyMarketReturn
/direct-web-services/time-series/v1/performance/monthly-net-return/{ids}:
get:
tags:
- Performance
summary: Get Monthly Net Return time series.
description: The return of Separate Account investment after deducting all expenses from the gross return generated by investment.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyNetReturn
/direct-web-services/time-series/v1/performance/monthly-return/{ids}:
get:
tags:
- Performance
summary: Get Monthly Return time series.
description: Expressed in percentage terms, Morningstar's calculation of total return is determined each month by taking the change in monthly net asset value, reinvesting all income and capital-gains distributions during that month, and dividing by the starting NAV.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyReturn
/direct-web-services/time-series/v1/performance/monthly-return-unweighted-nav/{ids}:
get:
tags:
- Performance
summary: Get Monthly Return Unweighted NAV time series.
description: The monthly return of the Peer Group Index (PGI), using a monthly rebalanced, equal-weighted average of the NAVs of the constituent funds of the PGI.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyReturnUnweightedNav
/direct-web-services/time-series/v1/performance/monthly-return-unweighted-price/{ids}:
get:
tags:
- Performance
summary: Get Monthly Return Unweighted Price time series.
description: The monthly return of the Peer Group Index (PGI), using a monthly rebalanced, equal-weighted average of prices of the constituent funds of the PGI.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyReturnUnweightedPrice
/direct-web-services/time-series/v1/performance/monthly-return-weighted-nav/{ids}:
get:
tags:
- Performance
summary: Get Monthly Return Weighted NAV time series.
description: The monthly return of the Peer Group Index (PGI), using a daily rebalanced, asset-weighted average of NAVs of the constituent funds of the PGI.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyReturnWeightedNav
/direct-web-services/time-series/v1/performance/monthly-return-weighted-price/{ids}:
get:
tags:
- Performance
summary: Get Monthly Return Weighted Price time series.
description: The monthly return of the Peer Group Index (PGI), using a daily rebalanced, asset-weighted average of prices of the constituent funds of the PGI.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyReturnWeightedPrice
/direct-web-services/time-series/v1/performance/monthly-tracking-error/{ids}:
get:
tags:
- Performance
summary: Get Monthly Tracking Error time series.
description: Tracking error is defined as the standard deviation of a fund's excess returns. In the context of exchange traded-funds, excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyTrackingError
/direct-web-services/time-series/v1/performance/monthly-yield/{ids}:
get:
tags:
- Performance
summary: Get Monthly Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceMonthlyYield
/direct-web-services/time-series/v1/performance/nav-unweighted-daily-income-and-capital-gain-yield/{ids}:
get:
tags:
- Performance
summary: Get NAV Unweighted Daily Income And Capital Gain Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceNavUnweightedDailyIncomeAndCapitalGainYield
/direct-web-services/time-series/v1/performance/nav-unweighted-daily-income-only-yield/{ids}:
get:
tags:
- Performance
summary: Get NAV Unweighted Daily Income Only Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceNavUnweightedDailyIncomeOnlyYield
/direct-web-services/time-series/v1/performance/nav-unweighted-daily-total-distribution-yield/{ids}:
get:
tags:
- Performance
summary: Get NAV Unweighted Daily Total Distribution Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceNavUnweightedDailyTotalDistributionYield
/direct-web-services/time-series/v1/performance/nav-unweighted-dri/{ids}:
get:
tags:
- Performance
summary: Get NAV Unweighted DRI time series.
description: The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI).
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceNavUnweightedDri
/direct-web-services/time-series/v1/performance/nav-weighted-daily-income-and-capital-gain-yield/{ids}:
get:
tags:
- Performance
summary: Get NAV Weighted Daily Income And Capital Gain Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceNavWeightedDailyIncomeAndCapitalGainYield
/direct-web-services/time-series/v1/performance/nav-weighted-daily-income-only-yield/{ids}:
get:
tags:
- Performance
summary: Get NAV Weighted Daily Income Only Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceNavWeightedDailyIncomeOnlyYield
/direct-web-services/time-series/v1/performance/nav-weighted-daily-total-distribution-yield/{ids}:
get:
tags:
- Performance
summary: Get NAV Weighted Daily Total Distribution Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceNavWeightedDailyTotalDistributionYield
/direct-web-services/time-series/v1/performance/nav-weighted-dri/{ids}:
get:
tags:
- Performance
summary: Get NAV Weighted DRI time series.
description: The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI).
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceNavWeightedDri
/direct-web-services/time-series/v1/performance/price/{ids}:
get:
tags:
- Performance
summary: Get Price time series.
description: Get Price time series data.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
- weekly
- monthly
- quarterly
- annually
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
- name: performanceType
in: query
description: Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only.
schema:
type: string
enum:
- total
- market
- gross
default: total
example: total
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformancePrice
/direct-web-services/time-series/v1/performance/price-unweighted-daily-income-and-capital-gain-yield/{ids}:
get:
tags:
- Performance
summary: Get Price Unweighted Daily Income And Capital Gain Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformancePriceUnweightedDailyIncomeAndCapitalGainYield
/direct-web-services/time-series/v1/performance/price-unweighted-daily-income-only-yield/{ids}:
get:
tags:
- Performance
summary: Get Price Unweighted Daily Income Only Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformancePriceUnweightedDailyIncomeOnlyYield
/direct-web-services/time-series/v1/performance/price-unweighted-daily-total-distribution-yield/{ids}:
get:
tags:
- Performance
summary: Get Price Unweighted Daily Total Distribution Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformancePriceUnweightedDailyTotalDistributionYield
/direct-web-services/time-series/v1/performance/price-unweighted-dri/{ids}:
get:
tags:
- Performance
summary: Get Price Unweighted DRI time series.
description: The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI).
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformancePriceUnweightedDri
/direct-web-services/time-series/v1/performance/price-weighted-daily-income-and-capital-gain-yield/{ids}:
get:
tags:
- Performance
summary: Get Price Weighted Daily Income And Capital Gain Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformancePriceWeightedDailyIncomeAndCapitalGainYield
/direct-web-services/time-series/v1/performance/price-weighted-daily-income-only-yield/{ids}:
get:
tags:
- Performance
summary: Get Price Weighted Daily Income Only Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformancePriceWeightedDailyIncomeOnlyYield
/direct-web-services/time-series/v1/performance/price-weighted-daily-total-distribution-yield/{ids}:
get:
tags:
- Performance
summary: Get Price Weighted Daily Total Distribution Yield time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformancePriceWeightedDailyTotalDistributionYield
/direct-web-services/time-series/v1/performance/price-weighted-dri/{ids}:
get:
tags:
- Performance
summary: Get Price Weighted Dri time series.
description: The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI).
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformancePriceWeightedDri
/direct-web-services/time-series/v1/performance/quarterly-downside-tracking-error/{ids}:
get:
tags:
- Performance
summary: Get Quarterly Downside Tracking Error time series.
description: Downside tracking error is defined as the standard deviation of a fund's negative excess returns. In the context of exchange traded-funds, negative excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark, where the daily return of the exchange-traded fund was lower than that of its primary prospectus.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- quarterly
type: string
default: quarterly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceQuarterlyDownsideTrackingError
/direct-web-services/time-series/v1/performance/quarterly-gross-return/{ids}:
get:
tags:
- Performance
summary: Get Quarterly Gross Return time series.
description: The return an investor would have received had they not paid any expenses. The calculation of gross return adjusts the monthly total return for the share class by the share class level fees prevailing at that time.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- quarterly
type: string
default: quarterly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceQuarterlyGrossReturn
/direct-web-services/time-series/v1/performance/quarterly-inflation-adjusted-return/{ids}:
get:
tags:
- Performance
summary: Get Quarterly Inflation Adjusted Return time series.
description: A Inflation Adjusted return calculation that is adjusted to account for inflation during the period, thus providing a real return.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- quarterly
type: string
default: quarterly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceQuarterlyInflationAdjustedReturn
/direct-web-services/time-series/v1/performance/quarterly-load-adj-return-restated/{ids}:
get:
tags:
- Performance
summary: Get Quarterly Load Adjusted Return Restated time series.
description: Return calculated by load-adjustment methodology (refer to methodology paper for details)
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- quarterly
type: string
default: quarterly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceQuarterlyLoadAdjReturnRestated
/direct-web-services/time-series/v1/performance/quarterly-market-return/{ids}:
get:
tags:
- Performance
summary: Get Quarterly Market Return time series.
description: A exchange-traded or closed-end fund's total return based on market prices, as opposed to NAV. Morningstar calculates the market-price return by taking the change in the fund's market price, reinvesting all income and capital-gains distributions during the period, and dividing by the starting market price.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- quarterly
type: string
default: quarterly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceQuarterlyMarketReturn
/direct-web-services/time-series/v1/performance/quarterly-net-return/{ids}:
get:
tags:
- Performance
summary: Get Quarterly Net Return time series.
description: The return of Separate Account investment after deducting all expenses from the gross return generated by investment.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- quarterly
type: string
default: quarterly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceQuarterlyNetReturn
/direct-web-services/time-series/v1/performance/quarterly-return/{ids}:
get:
tags:
- Performance
summary: Get Quarterly Return time series.
description: Total returns calculated for calendar quarters.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- quarterly
type: string
default: quarterly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceQuarterlyReturn
/direct-web-services/time-series/v1/performance/quarterly-tracking-error/{ids}:
get:
tags:
- Performance
summary: Get Quarterly Tracking Error time series.
description: Tracking error is defined as the standard deviation of a fund's excess returns. In the context of exchange traded-funds, excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- quarterly
type: string
default: quarterly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceQuarterlyTrackingError
/direct-web-services/time-series/v1/performance/quoted-yield-daily/{ids}:
get:
tags:
- Performance
summary: Get Quoted Yield Daily time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceQuotedYieldDaily
/direct-web-services/time-series/v1/performance/raw-return-cum-fair/{ids}:
get:
tags:
- Performance
summary: Get Raw Return Cum Fair time series.
description: The DRI series for the capital (dividends excluded) return of the share class
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceRawReturnCumFair
/direct-web-services/time-series/v1/performance/raw-return-market-price/{ids}:
get:
tags:
- Performance
summary: Get Raw Return Market Price time series.
description: The DRI series for the capital (dividends excluded) return of the share class
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceRawReturnMarketPrice
/direct-web-services/time-series/v1/performance/raw-return-nav/{ids}:
get:
tags:
- Performance
summary: Get Raw Return NAV time series.
description: The DRI series for the capital (dividends excluded) return of the share class
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceRawReturnNav
/direct-web-services/time-series/v1/performance/return/{ids}:
get:
tags:
- Performance
summary: Get Return time series.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
- weekly
- monthly
- quarterly
- annually
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
- name: performanceType
in: query
description: Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only.
schema:
type: string
enum:
- total
- market
- gross
default: total
example: total
- name: annualDays
in: query
description: Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only.
schema:
type: number
default: 365.25
example: '365'
- name: preCurrency
in: query
description: Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only.
schema:
type: string
example: USD
- name: requireContinueData
in: query
description: Specifies whether continuous data is required for calculations. Used with calculated data points only.
schema:
type: boolean
example: 'true'
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceReturn
/direct-web-services/time-series/v1/performance/rolling-return/{ids}:
get:
tags:
- Performance
summary: Get Rolling Return time series.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
- weekly
- monthly
- quarterly
- annually
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
- name: performanceType
in: query
description: Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only.
schema:
type: string
enum:
- total
- market
- gross
default: total
example: total
- name: annualDays
in: query
description: Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only.
schema:
type: number
default: 365.25
example: '365'
- name: annualized
in: query
description: Specifies whether the calculation results should be annualized. Used with calculated data points only.
schema:
type: boolean
example: true
- name: preCurrency
in: query
description: Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only.
schema:
type: string
example: USD
- name: requireContinueData
in: query
description: Specifies whether continuous data is required for calculations. Used with calculated data points only.
schema:
type: boolean
example: 'true'
- name: stepSize
in: query
description: Specifies the step size for rolling or iterative calculations. Used with 'rolling-return' data point only. For example, `stepSize=12` and `frequency=monthly` 12-month rolling values are calculated.
schema:
type: number
default: 1
example: '12'
- name: windowSize
in: query
description: Specifies the time interval between data points.
schema:
type: integer
example: 6
maximum: 2147483647
minimum: 1
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceRollingReturn
/direct-web-services/time-series/v1/performance/sec-yield/{ids}:
get:
tags:
- Performance
summary: Get SEC Yield time series.
description: A calculation based on a 30-day period ending on the last of the previous month. It is computed by dividing the net investment income per share earned during the period by the maximum offering price per share on the last day of the period.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceSecYield
/direct-web-services/time-series/v1/performance/sec-yield-rescaling-factor/{ids}:
get:
tags:
- Performance
summary: Get SEC Yield Rescaling Factor time series.
description: ''
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceSecYieldRescalingFactor
/direct-web-services/time-series/v1/performance/sitca-yield/{ids}:
get:
tags:
- Performance
summary: Get SITCA Yield time series.
description: SITCA Yield estimates a fund's annual income per share yield. For funds that issue monthly dividends, the most recent income distribution is multiplied by 12 and then divided by the fund's net asset value (NAV) as of the previous business day of ex-date.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- monthly
type: string
default: monthly
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceSitcaYield
/direct-web-services/time-series/v1/performance/unannualized/{ids}:
get:
tags:
- Performance
summary: Get Unannualized time series.
description: A tag indicating that the number is not annualized.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- annually
type: string
default: annually
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceUnannualized
/direct-web-services/time-series/v1/performance/yearly-capital-return/{ids}:
get:
tags:
- Performance
summary: Get Yearly Capital Return time series.
description: Rate of return over a holding period that is attributed to a change in the fund's capital value. This measure includes the change in the fund's NAV as well as all distributions that are classified as short-term capital gains, long-term capital gains, or return of capital.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- annually
type: string
default: annually
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceYearlyCapitalReturn
/direct-web-services/time-series/v1/performance/yearly-gross-return/{ids}:
get:
tags:
- Performance
summary: Get Yearly Gross Return time series.
description: The return an investor would have received had they not paid any expenses. The calculation of gross return adjusts the monthly total return for the share class by the share class level fees prevailing at that time.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- annually
type: string
default: annually
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceYearlyGrossReturn
/direct-web-services/time-series/v1/performance/yearly-income-return/{ids}:
get:
tags:
- Performance
summary: Get Yearly Income Return time series.
description: Income return is the portion of the holding period return that is attributed to dividend distributions.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- annually
type: string
default: annually
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceYearlyIncomeReturn
/direct-web-services/time-series/v1/performance/yearly-inflation-adjusted-return/{ids}:
get:
tags:
- Performance
summary: Get Yearly Inflation Adjusted Return time series.
description: A Inflation Adjusted return calculation that is adjusted to account for inflation during the period, thus providing a real return.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- annually
type: string
default: annually
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceYearlyInflationAdjustedReturn
/direct-web-services/time-series/v1/performance/yearly-interest-income/{ids}:
get:
tags:
- Performance
summary: Get Yearly Interest Income time series.
description: Total interest income dividends paid by the fund in the calendar year.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- annually
type: string
default: annually
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceYearlyInterestIncome
/direct-web-services/time-series/v1/performance/yearly-investor-return/{ids}:
get:
tags:
- Performance
summary: Get Yearly Investor Return time series.
description: Morningstar® Investor Return™ (also known as dollar-weighted return) measures how the average investor fared in a fund over a period of time.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- annually
type: string
default: annually
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceYearlyInvestorReturn
/direct-web-services/time-series/v1/performance/yearly-load-adj-return-restated/{ids}:
get:
tags:
- Performance
summary: Get Yearly Load Adj Return Restated time series.
description: Return calculated by load-adjustment methodology (refer to methodology paper for details)
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- annually
type: string
default: annually
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceYearlyLoadAdjReturnRestated
/direct-web-services/time-series/v1/performance/yearly-market-return/{ids}:
get:
tags:
- Performance
summary: Get Yearly Market Return time series.
description: A exchange-traded or closed-end fund's total return based on market prices, as opposed to NAV. Morningstar calculates the market-price return by taking the change in the fund's market price, reinvesting all income and capital-gain distributions during the period, and dividing by the starting market price.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- annually
type: string
default: annually
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceYearlyMarketReturn
/direct-web-services/time-series/v1/performance/yearly-net-return/{ids}:
get:
tags:
- Performance
summary: Get Yearly Net Return time series.
description: The return of Separate Account investment after deducting all expenses from the gross return generated by investment.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- annually
type: string
default: annually
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceYearlyNetReturn
/direct-web-services/time-series/v1/performance/yearly-return/{ids}:
get:
tags:
- Performance
summary: Get Yearly Return time series.
description: Expressed in percentage terms, Morningstar's calculation of total return is determined each month by taking the change in monthly net asset value, reinvesting all income and capital-gains distributions during that month, and dividing by the starting NAV.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- annually
type: string
default: annually
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceYearlyReturn
/direct-web-services/time-series/v1/performance/daily-open-price/{ids}:
get:
tags:
- Performance
summary: Get Daily Open Price time series.
description: Open price generally refers to the stock price at the open of a trading session.
parameters:
- name: ids
in: path
description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
required: true
schema:
type: string
example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY
- name: idTypes
in: query
description: '
Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules:
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
* Empty values default to `performanceId`
Example:
* `ids=id1,id2,id3`
* `id1` and `id3` are performance IDs
* `id2` is a security ID
* `idTypes=,securityId`
Accepted values:
* `performanceId` (default)
* `isin`
* `securityId`
* `cusip`
* `tradingSymbol`
* `msid`'
schema:
type: string
example: ',securityId'
- name: baseCurrency
in: query
description: '
Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Base currency passed for `id2` and `id4`
* `baseCurrency=,USD,,USD`'
schema:
type: string
example: ',USD,,USD'
- name: domicile
in: query
description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`"
schema:
type: string
example: ',USD,,USD'
- name: exchangeCountry
in: query
description: '
Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).
* Filters results based on domicile
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange country passed for `id2` and `id4`
* `exchangeCountry=,USA,,USA`'
schema:
type: string
example: ',CAN,CAN'
- name: exchangeId
description: '
Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).
* Filters results based on exchange ID
* Values must align with the order of values in `ids`
* Use empty entries to skip
* Omit trailing commas after the last non-empty value
Example:
* `ids=id1,id2,id3,id4,id5`
* Exchange ID passed for `id2` and `id4`
* `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`'
in: query
required: false
schema:
type: string
example: EX$$$$XMEX
- name: frequency
in: query
description: Specifies the time interval between data points.
schema:
enum:
- daily
type: string
default: daily
- name: startDate
in: query
description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2020-01-12'
format: date
- name: endDate
in: query
description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.
'
schema:
type: string
example: '2024-01-12'
format: date
- name: timePeriod
in: query
description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: number
example: '12'
- name: timePeriodUnit
in: query
description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
schema:
type: string
enum:
- months
- days
- years
- name: applyEarliestCommonDate
in: query
description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
schema:
type: boolean
default: false
- name: applyTrackRecordExtension
in: query
description: '
Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.'
schema:
type: boolean
default: false
- name: applyRestructureDate
in: query
description: '
Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.
This option is applicable only when `applyEarliestCommonDate` is set to true.'
schema:
type: boolean
default: false
- name: sinceInception
in: query
description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
required: false
schema:
type: boolean
default: false
- name: currencyId
in: query
description: Specifies the currency in which to return data.
schema:
type: string
enum:
- BASE
- AUD
- BND
- BRL
- CAD
- CHF
- CLP
- CNH
- CNY
- CZK
- DKK
- EUR
- GBP
- HKD
- HUF
- IDR
- ILS
- INR
- JPY
- KRW
- MOP
- MXN
- MYR
- NOK
- NZD
- PLN
- RMB
- RUB
- SEK
- SGD
- THB
- TWD
- USD
- ZAR
default: BASE
responses:
'200':
$ref: '#/components/responses/ResponseTimeSeriesSingleObservation'
'400':
$ref: '#/components/responses/ResponseStatus400'
'500':
$ref: '#/components/responses/ResponseStatus500'
operationId: getPerformanceDailyOpenPrice
/performance:
post:
tags:
- Performance
summary: Calculate portfolio performance
description: Calculate performance for portfolios specified in the request body. To override the default value in the Accept-Language HTTP header, use the `langcult` parameter.
operationId: PerformanceV1_PostAsync
parameters:
- name: langcult
in: query
description: Language and locale, for example, en-US
required: false
schema:
type: string
default: en-US
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings'
text/json:
schema:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings'
application/xml:
schema:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings'
text/xml:
schema:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings'
description: Object that defines the settings and portfolio(s) to use in the request.
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances'
text/json:
schema:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances'
application/xml:
schema:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances'
text/xml:
schema:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances'
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'500':
description: Internal Server Error
deprecated: false
components:
schemas:
Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelationItemKey:
type: object
properties:
Id:
format: int32
type: integer
PortfolioName:
type: string
UseExtendedReturns:
type: boolean
Type:
enum:
- Portfolio
type: string
CorrelatedItemKey:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelatedItemKey'
Morningstar.PortfolioAnalysis.Models.Input.Hypo.HypoCalculationSettings:
description: Contains input parameters and their values used in the hypothetical calculations.
type: object
properties:
HypoType:
enum:
- Portfolio
- IndividualHoldings
- HoldingsComparison
- PortfolioComparison
type: string
FilingStatus:
description: This parameter is used to set the tax status of the portfolios to be analyzed.
enum:
- NoTaxes
- Single
- MarriedFilingJointly
- MarriedFilingSeparately
- HeadOfHousehold
- Registered
- NonRegistered
type: string
TaxableIncome:
format: double
description: This is the amount of income subject to income taxes for the year, found by subtracting the appropriate deductions (IRA contributions, alimony payments, unreimbursed business expenses, some capital losses, etc.) from adjusted gross income.
type: number
PayTaxes:
description: You can set the option to pay any taxes that are assessed either out of pocket (as if the taxpayer writes a check to pay for them) or by selling shares equal to the amount of taxes.
enum:
- OutOfPocket
- SalesOfShares
type: string
FederalIncomeTaxRate:
format: double
description: The federal income tax rate assessed on incomes from the portfolio. This would be referred to as the Income Marginal Tax Rate for Canada.
type: number
CapitalGainTaxRate:
format: double
description: A tax assessed on profits realized from the sale of a capital asset, such as stock or fund. . This would be referred to as the Capital Gains Marginal Tax Rate for Canada.
type: number
StateIncomeTaxRate:
format: double
description: State income tax rate on incomes received from the portfolio.
type: number
DividendTaxRate:
format: double
description: Dividend tax rate on dividends received from the portfolio. Canada only.
type: number
IllustrationTrailingTimePeriod:
description: This parameter determines the Illustration Time period��s start date and end date of the hypothetical illustration. Please be sure that start date and end date are set in accordance to the Illustration Time period value selected before sending the request to the Portfolio Analysis API.
enum:
- YearToDate
- Year1
- Year3
- Year5
- Year10
- SinceInception
- EarliestAvailable
- EarliestCommon
- Customized
type: string
StartDate:
format: date-time
description: Illustration Time period start date the Hypothetical illustration will be run.
type: string
EndDate:
format: date-time
description: Illustration Time period end date the Hypothetical illustration will be run.
type: string
SynchronizePortfolioStartDate:
description: This will override the IllustrationTrailingTimePeriod to the EarliestCommon across all input portfolios.
type: boolean
InvestmentDetailReturnsFrequency:
description: 'TODO: can this have a value of None? NO'
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
- None
type: string
LiquidateOnEndDate:
description: "When this is set to true, holdings are sold at month-end NAV/price and taxes will be applied.\r\n Note: This affects total returns because taxes are calculated based on the final market value of your investments and the tax rates specified in the Taxes section."
type: boolean
SubsequentInvestmentType:
enum:
- Invest
- Withdrawal
- WithdrawalPercentage
type: string
SubsequentInvestmentAmount:
format: double
description: This is the amount for the subsequent investment or withdrawal. It is invested or removed on a regular basis, according to SubsequentInvestmentWithdrawalFrequency value.
type: number
SubsequentInvestmentWithdrawalFrequency:
description: "This parameter informs the Portfolio Analysis API how frequently to apply the subsequent investment or withdrawal, for example, if the frequency is quarterly, the subsequent amount will be applied every quarter after the initial investments. \r\n Note: subsequent amount is applied on the first month end in the frequency period. Also, None is not a valid value"
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
- None
type: string
AssetBasedAnnualFee:
format: double
description: This parameter specifies the amount of the fee as a percentage. For example, if you want to apply a 1% fee, set this parameter to 1.00. For Australian Hypo this can be set as a dollar amount as well, depending on the Annual Fees Type.
type: number
AssetFeeFrequency:
description: "TODO: can this have a value of None? NO\r\n This parameter specifies how often the asset based fees are to be applied. Asset-based fees are deducted as a percentage."
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
- None
type: string
AssetFeeType:
description: This parameter specifies the type of the annual fee amount as a percentage, or as a dollar amount. For example, if you want to apply a 1% fee, set this parameter to %. This option is available only in Australian Hypo.
enum:
- Amount
- Percentage
type: string
PayFees:
description: This parameter can be set to the option to pay any asset-based fees that are assessed either out of pocket (as if the client writes a check to pay for them), or by selling shares equal to the amount of the fees.
enum:
- OutOfPocketBeginning
- OutOfPocketEnding
- SalesOfSharesBeginning
- SalesOfSharesEnding
type: string
PayFeesUseCashFirst:
description: This parameter is applicable to Portfolio Illustrations only. If Pay Fees parameter is set to sale of shares, then this parameter can be set to true to specify that the application tap cash equivalents first before selling shares in the other securities on which annual fees are applied.
type: boolean
PortfolioAmountFee:
format: double
description: This parameter specifies the portfolio amount fee charged annually
type: number
FrontLoadType:
description: This parameter specifies what sales fees are deducted from an investment upon purchase or sale.
enum:
- Standard
- Custom
- LetterOfIntent
- None
- CustomEntry
- CustomExit
type: string
CustomFeeType:
description: "TODO: Optional, and only affects FrontLoadType=Custom\r\n If Apply Fee Schedule parameter is set to Custom, this parameter specifies what type the value in custom fee parameter is, percentage or money amount."
enum:
- Amount
- Percentage
type: string
SalesFeeAmount:
format: double
description: If Apply Fee Schedule parameter is set to Custom, this parameter specifies the amount of the custom fee.
type: number
ApplySalesCharge:
description: For funds, deferred or redemption fees are applied to charge a fee to the investor upon redeeming shares. Deferred fees apply for most withdrawals, and redemption fees are deducted when you choose to liquidate the investment. Set this parameter to false if you do not want the standard deferred or redemption fees to be applied.
type: boolean
ApplyFeeForRebalance:
description: Rebalance results in at least one sale and at least one buy. The sale may involve a fund that has a back-end charge and the buy may involve a fund that has a front-end charge. Any front-end charge that would normally be applied for the bought fund will be applied when this parameter is set to true. For example, if standard schedule is selected, the tool will apply whatever front-end charges would be applied for a buy on that schedule. On a sale, back-end charges that would normally be applied using the standard back-end schedule would be applied. If a custom schedule is selected, the tool will apply the custom % entered in the Custom Fees parameter as the same load as the fund. If this parameter is set to false, neither a front-end nor back-end charge for buys/sells due to rebalancing will be applied.
type: boolean
EntryExitFeeType:
description: This parameter is applicable to Australian Hypo only.
enum:
- CustomEntry
- CustomExit
- None
type: string
RebalanceFrequency:
description: This parameter specifies how often to rebalance your portfolio.
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
- Biennially
- None
type: string
RebalanceThreshold:
format: double
description: This parameter specifies a rebalance threshold that must be reached before the holdings are rebalanced. For example, if set it to 5, rebalancing will only take place if the allocation increases or decreases from the original setting by 5% or more for at least one security in the portfolio.
type: number
ReinvestDividends:
description: "Set it to true to reinvest dividends and income distributions, or set it to false to not reinvest dividends and income distributions.\r\n For Australian Hypo,either set both ReinvestDividends and ReinvestCapitalGains to true, or both to false."
type: boolean
ReinvestCapitalGains:
description: "Set it to true to reinvest capital gains distributions, or set it to false to not reinvest capital gains distributions.\r\n For Australian Hypo,either set both ReinvestDividends and ReinvestCapitalGains to true, or both to false.\r\n Note: If you choose not to reinvest, you may notice the Total Reinvestment, Taxes Paid, and Final Market Value of your portfolio decrease because you own fewer shares."
type: boolean
InputPerformancePerformanceView:
description: Predefined set of data points to return in the response.
type: object
properties:
Id:
type: string
description: Identifier of a predefined set of data points to return in the response.
default: All
enum:
- All
- CorrelationMatrix
- CrossPortfolioCorrelation
- Default
- Snapshot
Morningstar.PortfolioAnalysis.Models.Input.BenchmarkInput:
type: object
properties:
Type:
enum:
- Standard
- AutoAsset
- AutoCategory
- Custom
type: string
Holdings:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.BenchmarkInputHolding'
OutputRiskCrossPortfolioCorrelatedItemKey:
type: object
properties:
CorrelatedItemKeyId:
type: integer
format: int32
Type:
type: string
enum:
- Portfolio
Value:
type: number
format: double
description: Correlation value between this portfolio and one other portfolio.
OutputRiskSecurity.RiskStatisticsItem:
type: object
properties:
Mean:
type: number
format: double
description: Average return over the trailing period.
SharpeRatio:
type: number
format: double
description: Return in excess of the risk-free rate per unit of standard deviation.
StandardDeviation:
type: number
format: double
description: Statistical dispersion of returns around the mean.
description: Risk statistics for an individual security. Year2 is not supported.
Morningstar.PortfolioAnalysis.Models.Output.Performance.IllustrationReturnSecurityItem:
type: object
properties:
Sequence:
format: int32
description: 'TODO: is this needed?'
type: integer
InceptionDate:
format: date-time
type: string
SecurityId:
type: string
Date:
format: date-time
description: 'TODO: Is this field needed?'
type: string
HoldingValue:
format: double
type: number
Percent:
format: double
description: 'TODO: Should this be named Percent or Weight?'
type: number
TimePeriods:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.IllustrationReturnTimePeriod_'
OutputIdentifiers:
title: OutputIdentifiers
description: Specifies the identifier type used to specify the target investment in the request.
additionalProperties: false
properties:
performanceId:
type: string
example: 0P00002CI5
isin:
type: string
example: US2562191062
securityId:
type: string
example: FCUSA0000P
cusip:
type: string
example: 459200101
sedol:
type: string
example: B4TT7L5
tradingSymbol:
type: string
example: MDLOX
OutputErrorResponse:
type: object
properties:
Message:
type: string
example: The request is invalid.
SpecificErrorStatus:
type: array
items:
type: object
properties:
ErrorCode:
type: string
example: '40059'
ErrorMessage:
type: string
example: There are holdings present in portfolio which are invalid.
Metadata:
type: object
properties:
InvalidPortfolios:
type: array
items:
type: object
properties:
Name:
type: string
example: Test Portfolio
InvalidHoldings:
type: array
items:
type: object
properties:
SecurityId:
type: string
example: FX000015JA3
Status:
type: string
enum:
- Invalid
- Unentitled
Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TimePeriod_:
type: object
properties:
Id:
enum:
- QuarterToDate
- YearToDate
- Month1
- Month3
- Month6
- Year1
- Year2
- Year3
- Year5
- Year10
- SinceInception
type: string
Value:
format: double
type: number
OutputPerformanceStandardizedAndTaxAdjustedReturnsSecurity:
type: object
properties:
Sequence:
type: integer
format: int32
description: Position of the security in the holdings array (1-based).
SecurityId:
type: string
description: Morningstar unique identifier of the security.
StandardizedReturns:
$ref: '#/components/schemas/OutputPerformanceStandardizedReturns'
description: Standardised return data for the security.
AfterTaxReturns:
$ref: '#/components/schemas/OutputPerformanceAfterTaxReturns'
description: After-tax return data for the security.
description: Standardised and after-tax return data for a single security.
Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsItem:
type: object
properties:
Mean:
format: double
type: number
SharpeRatio:
format: double
type: number
StandardDeviation:
format: double
type: number
InformationRatio:
format: double
type: number
TrackingError:
format: double
type: number
SortinoRatio:
format: double
type: number
ExcessReturn:
format: double
type: number
Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedAndTaxAdjustedReturnsSecurity:
type: object
properties:
Sequence:
format: int32
type: integer
SecurityId:
type: string
StandardizedReturns:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedReturns'
AfterTaxReturns:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.AfterTaxReturns'
Morningstar.PortfolioAnalysis.Models.Output.Performance.CalendarYearReturn:
type: object
properties:
CalendarYear:
description: 1-10 to represent 10 most recent calendar years
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.Int32_'
InputAssetClassGroupConfigs:
description: Asset class group to query.
type: object
properties:
AssetClassGroupConfig:
type: array
description: Asset class group identifier. Maximum of one value can be passed in a request.
items:
$ref: '#/components/schemas/InputAssetClassGroupConfig'
Morningstar.PortfolioAnalysis.Models.Output.PerformanceDate:
type: object
properties:
EarliestCommonDate:
format: date-time
type: string
EarliestAvailableDate:
format: date-time
type: string
EarliestInceptionDate:
format: date-time
type: string
OutputRiskCrossPortfolioCorrelationItemKey:
type: object
properties:
Id:
type: integer
format: int32
Type:
type: string
enum:
- Portfolio
CorrelatedItemKey:
type: array
items:
$ref: '#/components/schemas/OutputRiskCrossPortfolioCorrelatedItemKey'
description: Correlation data for a single portfolio against all other portfolios in the request.
Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistory:
type: object
properties:
Type:
enum:
- Difference
type: string
Frequency:
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
type: string
StartDate:
format: date-time
type: string
Portfolio:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistoryItem'
Benchmark:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistoryItem'
OutputRiskCorrelationMatrix:
type: object
properties:
TrailingTimePeriod:
type: string
enum:
- Year3
- Year5
- Year10
DataFrequency:
type: string
enum:
- Monthly
StartDate:
type: string
format: date-time
EndDate:
type: string
format: date-time
Correlations:
type: array
items:
$ref: '#/components/schemas/OutputRiskCorrelationItemKey'
description: Intra-portfolio correlation matrix for a single trailing time period.
ResponseTimeSeriesDailyOhlcv:
title: ResponseTimeSeriesDailyOhlcv
readOnly: true
description: List of investments for which time series data was returned.
type: object
additionalProperties: false
properties:
investments:
type: array
minItems: 1
items:
$ref: '#/components/schemas/OutputInvestmentDailyOhlcv'
metadata:
$ref: '#/components/schemas/OutputMetadata'
Morningstar.PortfolioAnalysis.Models.Output.SecurityItem:
type: object
properties:
SecurityId:
type: string
CUSIP:
type: string
Name:
type: string
TradingSymbol:
type: string
BaseCurrency:
enum:
- MultipleCurrencies
- AED
- AFN
- ALL
- AMD
- ANG
- AOA
- ARS
- AUD
- AWG
- AZN
- BAM
- BBD
- BDT
- BGN
- BHD
- BIF
- BMD
- BND
- BOB
- BOV
- BRL
- BSD
- BTN
- BWP
- BYR
- BZD
- CAD
- CDF
- CHE
- CHF
- CHW
- CLF
- CLP
- CNY
- COP
- COU
- CRC
- CUP
- CVE
- CZK
- DJF
- DKK
- DOP
- DZD
- EEK
- EGP
- ERN
- ETB
- EUR
- FJD
- FKP
- GBP
- GEL
- GHC
- GIP
- GMD
- GNF
- GTQ
- GYD
- HKD
- HNL
- HRK
- HTG
- HUF
- IDR
- ILS
- INR
- IQD
- IRR
- ISK
- JMD
- JOD
- JPY
- KES
- KGS
- KHR
- KMF
- KPW
- KRW
- KWD
- KYD
- KZT
- LAK
- LBP
- LKR
- LRD
- LSL
- LTL
- LVL
- LYD
- MAD
- MDL
- MGA
- MKD
- MMK
- MNT
- MOP
- MRO
- MUR
- MVR
- MWK
- MXN
- MXV
- MYR
- MZN
- NAD
- NGN
- NIO
- NOK
- NPR
- NZD
- OMR
- PAB
- PEN
- PGK
- PHP
- PKR
- PLN
- PYG
- QAR
- ROL
- RON
- RSD
- RUB
- RWF
- SAR
- SBD
- SCR
- SDD
- SEK
- SGD
- SHP
- SLL
- SOS
- SRD
- STD
- SYP
- SZL
- THB
- TJS
- TMT
- TND
- TOP
- TRY
- TTD
- TWD
- TZS
- UAH
- UGX
- USD
- USN
- USS
- UYU
- UZS
- VEF
- VND
- VUV
- WST
- XAF
- XAG
- XAU
- XBA
- XBB
- XBC
- XBD
- XCD
- XDR
- XFO
- XFU
- XOF
- XPD
- XPF
- XPT
- YER
- ZAR
- ZMK
- ZWR
type: string
Type:
enum:
- BD
- CT
- CA
- CASH
- EI
- FC
- FE
- FM
- FO
- FI
- FV
- SA
- ST
- VA
- V1
- XI
- SP
type: string
InceptionDate:
format: date-time
type: string
SecurityReferenceTypes:
type: array
items:
enum:
- PortfolioHolding
- BenchmarkHolding
- RiskFreeIndex
- DisclosureIndex
- TopNetUnderlyingHolding
- StockIntersection
- InvalidSecurity
type: string
OutputDataItemPerformanceHistoryTimePeriod:
type: object
properties:
Id:
type: integer
format: int32
description: Sequential period identifier (1-based).
Value:
type: number
format: double
description: Return value for the period.
GrossValue:
description: Gross value for the period. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
OutputPerformanceInvestmentActivity:
type: object
properties:
DataFrequency:
type: string
enum:
- Monthly
description: Frequency of the investment activity data.
Portfolio:
type: array
items:
$ref: '#/components/schemas/OutputPerformanceInvestmentActivityItem'
description: Portfolio investment activity records.
Benchmark:
type: array
items:
$ref: '#/components/schemas/OutputPerformanceBenchmark.InvestmentActivityItem'
description: Benchmark investment activity records.
description: Period-by-period investment activity for the portfolio and benchmark.
Morningstar.PortfolioAnalysis.Models.Input.AssetClassGroupConfigs:
type: object
properties:
AssetClassGroupConfig:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.AssetClassGroupConfig'
Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturnsItem:
type: object
properties:
StartYear:
format: int32
type: integer
StartMonth:
format: int32
maximum: 12
minimum: 1
type: integer
Data:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_'
OutputInvestmentDailyOhlcv:
title: OutputInvestmentDailyOhlcv
type: object
additionalProperties: false
properties:
identifiers:
$ref: '#/components/schemas/OutputIdentifiers'
timeSeries:
$ref: '#/components/schemas/OutputTimeSeriesDailyOhlcv'
metadata:
$ref: '#/components/schemas/OutputInvestmentsMetadata'
Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedReturns:
type: object
properties:
GrossExpenseRatio:
format: double
type: number
InceptionDate:
format: date-time
type: string
MaxBackLoad:
format: double
type: number
MaxFrontLoad:
format: double
type: number
NetExpenseRatio:
format: double
type: number
ManagementExpenseRatio:
format: double
type: number
TurnoverRatio:
format: double
type: number
TurnoverRatioDate:
format: date-time
type: string
Day7YieldUnsubsized:
format: double
type: number
Day7YieldSubsidized:
format: double
type: number
Month12Yield:
format: double
type: number
TimePeriod:
description: Year1,Year3,Year5,Year10,SinceInception only supported
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedReturnsTimePeriodItem'
OutputPerformanceBestWorstTimePeriod:
type: object
properties:
TimePeriod:
type: string
enum:
- Month3
- Year1
- Year3
description: Time period identifier.
Value:
type: number
format: double
description: Return value for the time period.
StartDate:
type: string
format: date-time
description: Start date of the time period.
description: Best or worst return value for a single trailing time period.
Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceRequestSettings:
type: object
properties:
OutputCurrency:
enum:
- AUD
- CAD
- CNY
- EUR
- GBP
- INR
- JPY
- USD
type: string
RollingReturnFrequency:
enum:
- Month3
- Month6
- Year1
- Year3
- Year5
- Year10
type: string
IncludePortfolioInCorrelationMatrix:
type: boolean
AssetClassGroupConfigs:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.AssetClassGroupConfigs'
HypoCalculationSettings:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Hypo.HypoCalculationSettings'
OutputMetadata:
description: Metadata returned in response. Includes information about identifiers for which no results were found.
title: OutputMetadata
type: object
properties:
messages:
$ref: '#/components/schemas/OutputMetadataMessages'
requestId:
description: Indicates the request identifier.
example: c63e7f6c-b52d-42c3-9d1b-4a4b4ac05f3c
type: string
readOnly: true
time:
description: Indicates time response was returned.
example: '2025-10-02T10:54:36.9161062Z'
type: string
format: date-time
readOnly: true
additionalProperties: false
OutputPerformanceBenchmark.TrailingReturnsItem:
type: object
properties:
TimePeriod:
type: array
items:
$ref: '#/components/schemas/OutputDataItemBenchmarkTrailingTimePeriod'
OutputPerformancePerformanceHistory:
type: object
properties:
Type:
type: string
enum:
- Difference
- Portfolio
- Benchmark
description: 'Return series type: `Portfolio`, `Benchmark`, or `Difference` (portfolio minus benchmark).'
Frequency:
type: string
enum:
- Monthly
- Quarterly
description: Frequency of the return data points.
StartDate:
type: string
format: date-time
description: Start date of the performance history series.
Portfolio:
$ref: '#/components/schemas/OutputPerformancePerformanceHistoryItem'
description: Performance history data for the portfolio. If a benchmark is included, the same structure is returned for the benchmark.
description: A single performance history series (portfolio, benchmark, or difference).
OutputPerformanceNonStdLoadAdjustedReturnsPortfolio:
type: object
properties:
TimePeriod:
type: array
items:
$ref: '#/components/schemas/OutputDataItemTimePeriod'
description: Array of return values for each trailing time period.
description: Portfolio non-standardised load-adjusted return values.
Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceConfig:
type: object
properties:
Id:
description: this will look up the configuration settings
type: string
ReturnMethodology:
enum:
- QuickPortfolio
- Hypothetical
type: string
OutputRiskCorrelatedItemKey:
type: object
properties:
CorrelatedItemKeyId:
type: integer
format: int32
Type:
type: string
enum:
- Portfolio
- Security
Value:
type: number
format: double
description: Correlation value between this item and one other item in the matrix.
RequestPerformance:
description: Calculate performance for up to 2 portfolios. Maximum of 250 holdings per portfolio.
required:
- Portfolios
- RequestSettings
type: object
properties:
View:
description: Predefined set of data points to return in the response.
$ref: '#/components/schemas/InputPerformancePerformanceView'
Config:
description: Account-specific configuration preset. Settings can be overridden directly in the request.
$ref: '#/components/schemas/InputPerformancePerformanceConfig'
RequestSettings:
description: Analysis settings for the request.
$ref: '#/components/schemas/InputPerformancePerformanceRequestSettings'
Portfolios:
description: Array of portfolios to analyse. Maximum 2 portfolios per request. Maximum 250 holdings per portfolio.
type: array
items:
$ref: '#/components/schemas/InputPortfolioInput'
OutputPerformanceDate:
description: Key performance date reference points for the portfolio.
type: object
properties:
EarliestCommonDate:
description: The earliest date for which all holdings in the portfolio have return data.
type: string
format: date-time
EarliestAvailableDate:
description: The earliest date for which any holding in the portfolio has return data.
type: string
format: date-time
EarliestCommonExtendedDate:
description: The earliest common date calculated using extended return history where available.
type: string
format: date-time
EarliestCommonExtended10YearDate:
description: The earliest common date within a 10-year window, calculated using extended return history where available.
type: string
format: date-time
EarliestInceptionDate:
description: The inception date of the most recently launched holding in the portfolio.
type: string
format: date-time
OutputDataItemCalendarYearReturnTimePeriod:
type: object
properties:
Id:
type: integer
format: int32
description: Calendar year sequence (1 = most recent year, up to 10).
Value:
type: number
format: double
description: Return value for the calendar year.
GrossValue:
description: Gross return value for the calendar year. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
description: Return value for a single calendar year.
OutputPerformanceSecurityReturns.NonStdLoadAdjustedReturns:
type: object
properties:
AsOfDate:
type: string
format: date-time
description: End date of the analysis.
Security:
type: array
items:
$ref: '#/components/schemas/OutputPerformanceNonStdLoadAdjustedReturnsSecurity'
description: Array of per-security non-standardised load-adjusted return records.
description: Non-standardised load-adjusted return data for each security in the portfolio.
OutputPerformancePerformance:
description: Performance result for a single portfolio.
type: object
properties:
PortfolioName:
description: Name of the portfolio.
type: string
PerformanceDate:
description: Key performance date reference points for this portfolio.
$ref: '#/components/schemas/OutputPerformanceDate'
ReturnMethodology:
description: Return methodology used in the calculation.
type: string
enum:
- QuickPortfolio
- Hypothetical
Returns:
description: Return data for the portfolio including trailing, calendar year, and investment activity.
$ref: '#/components/schemas/OutputPerformanceReturns'
Risks:
description: Risk statistics for the portfolio including MPT statistics, correlation matrix, and drawdown.
$ref: '#/components/schemas/OutputRiskRisks'
OutputRiskRiskStatisticsSecurityItem:
type: object
properties:
SecurityId:
type: string
description: Morningstar unique identifier of the security.
Weight:
type: number
format: double
description: Weight of the security as a percentage of the portfolio.
RiskStatisticsItem:
$ref: '#/components/schemas/OutputRiskSecurity.RiskStatisticsItem'
description: Risk statistics for the security.
description: Risk statistics for a single security in the portfolio.
OutputPerformanceTrailingReturnsItem:
type: object
properties:
TimePeriod:
type: array
items:
$ref: '#/components/schemas/OutputDataItemTrailingTimePeriod'
description: Array of return values for each trailing time period.
description: Trailing return values across standard time periods.
Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturns:
type: object
properties:
RollingReturn:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturn'
Morningstar.PortfolioAnalysis.Models.Output.Performance.BestWorstTimePeriods:
type: object
properties:
AsOfDate:
format: date-time
type: string
BestTimePeriod:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.BestWorstTimePeriod'
WorstTimePeriod:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.BestWorstTimePeriod'
Morningstar.PortfolioAnalysis.Models.Input.AssetClassConfig:
type: object
properties:
Id:
type: string
Name:
type: string
Color:
type: string
BorderColor:
type: string
Index:
type: string
OutputInvestmentSingleObservation:
title: OutputInvestmentSingleObservation
type: object
additionalProperties: false
properties:
identifiers:
$ref: '#/components/schemas/OutputIdentifiers'
timeSeries:
$ref: '#/components/schemas/OutputTimeSeriesSingleObservation'
metadata:
$ref: '#/components/schemas/OutputInvestmentsMetadata'
Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelatedItemKey:
type: object
properties:
CorrelatedItemKeyId:
format: int32
type: integer
Type:
description: 'TODO: we don''t want to manage names. Should this just be called CorrelationItemType?'
enum:
- Portfolio
- Security
type: string
Value:
format: double
type: number
OutputMetadataMessageInvestment:
title: OutputMetadataMessageInvestment
type: object
additionalProperties: false
properties:
id:
type: string
description: Indicates identifier value passed in request.
example: 0P000PPP6Q
readOnly: true
idType:
type: string
description: Indicates the identifier type passed in request.
example: performanceId
readOnly: true
Morningstar.PortfolioAnalysis.Models.Output.Performance.TrailingReturnsItem:
type: object
properties:
TimePeriod:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TrailingTimePeriod_'
Morningstar.PortfolioAnalysis.Models.Output.Performance.NonStdLoadAdjustedReturnsSecurity:
type: object
properties:
Sequence:
format: int32
type: integer
SecurityId:
type: string
HoldingDate:
format: date-time
type: string
HoldingValue:
format: double
type: number
Day7Yield:
format: double
type: number
TimePeriod:
description: Year1,Year3,Year5,Year10 only supported
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TimePeriod_'
Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatistics:
type: object
properties:
AsOfDate:
format: date-time
type: string
TrailingTimePeriod:
description: Only Year1, Year3, Year5, Year10 supported
enum:
- QuarterToDate
- YearToDate
- Month1
- Month3
- Month6
- Year1
- Year2
- Year3
- Year5
- Year10
- SinceInception
type: string
DataFrequency:
description: Only Monthly, Quarterly supported
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
- None
type: string
Portfolio:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsItem'
Benchmark:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsItem'
Security:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsSecurityItem'
Morningstar.PortfolioAnalysis.Models.Output.Performance.Performance:
type: object
properties:
PortfolioName:
type: string
PerformanceDate:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.PerformanceDate'
ReturnMethodology:
enum:
- QuickPortfolio
- Hypothetical
type: string
Returns:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Returns'
Risks:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.Risks'
OutputDataItemTimePeriod:
type: object
properties:
Id:
type: string
enum:
- YearToDate
- Year1
- Year3
- Year5
- Year10
description: Trailing time period identifier.
Value:
type: number
format: double
description: Return value for the time period.
OutputRiskRiskStatisticsItem:
type: object
properties:
Mean:
type: number
format: double
description: Average return over the trailing period.
SharpeRatio:
type: number
format: double
description: Return in excess of the risk-free rate per unit of standard deviation.
StandardDeviation:
type: number
format: double
description: Statistical dispersion of returns around the mean.
InformationRatio:
type: number
format: double
description: Active return relative to a benchmark per unit of tracking error.
TrackingError:
type: number
format: double
description: Standard deviation of excess returns relative to the benchmark.
SortinoRatio:
type: number
format: double
description: Return per unit of downside deviation.
ExcessReturn:
type: number
format: double
description: Return minus the 91-day government treasury bill return over the same period.
description: Risk statistics for the benchmark over a single trailing time period.
OutputRiskRisks:
type: object
properties:
RiskStatistics:
type: array
items:
$ref: '#/components/schemas/OutputRiskRiskStatistics'
description: Array of risk statistics records, one per trailing time period.
MPTStatistics:
type: array
items:
$ref: '#/components/schemas/OutputRiskMPTStatistics'
description: Array of MPT statistics records, one per trailing time period.
CorrelationMatrix:
type: array
items:
$ref: '#/components/schemas/OutputRiskCorrelationMatrix'
description: Intra-portfolio correlation matrix data.
Drawdown:
$ref: '#/components/schemas/OutputRiskDrawdown'
description: Portfolio drawdown data.
description: Risk data for the portfolio including risk statistics, MPT statistics, correlation matrix, and drawdown.
OutputRiskTimePeriods:
type: object
properties:
id:
type: string
enum:
- Month3
- Month6
- Year1
- Year2
- Year3
- Year5
- Year10
description: Trailing time period identifier.
DrawdownItem:
$ref: '#/components/schemas/OutputRiskDrawdownItem'
description: Drawdown statistics for the time period.
description: Drawdown statistics for a single trailing time period.
DataModelSingleObservation:
title: DataModelSingleObservation
description: Represents a time series of single observations, where each entry contains a date and its corresponding value.
type: object
properties:
date:
type: string
format: date
example: '2025-09-06'
value:
type: number
example: 1.108
ErrorResponse:
title: ErrorResponse
description: Defines the structure of an error response returned when a bad or invalid request is submitted. Includes the HTTP status code, descriptive message, and request identifier for traceability.
type: object
properties:
statusCode:
description: Numeric HTTP status code associated with the error.
type: integer
format: int32
example: 400
readOnly: true
errorCode:
description: Identifier for a specific type of error.
type: string
example: 400.timeSeries.009
readOnly: true
message:
type: string
description: Descriptive message providing details about the error or validation failure.
example: Invalid frequency 'm' for datapoint 'daily-closing-price'.
readOnly: true
requestId:
description: Indicates unique request identifier.
example: c63e7f6c-b52d-42c3-9d1b-4a4b4ac05f3c
readOnly: true
type: string
additionalProperties: false
OutputPerformanceBenchmark.InvestmentActivityItem:
type: object
properties:
Sequence:
type: integer
format: int32
description: Sequential index of the period (1-based).
StartDate:
type: string
format: date-time
description: Start date of the period.
EndDate:
type: string
format: date-time
description: End date of the period.
BeginningBalance:
type: number
format: double
description: Benchmark value at the start of the period.
MarketValue:
type: number
format: double
description: Benchmark market value at the end of the period.
description: Benchmark investment activity for a single period.
Morningstar.PortfolioAnalysis.Models.Output.Performance.TrailingReturns:
type: object
properties:
AsOfDate:
format: date-time
type: string
Portfolio:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.TrailingReturnsItem'
Benchmark:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.TrailingReturnsItem'
Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TrailingTimePeriod_:
type: object
properties:
Id:
enum:
- QuarterToDate
- YearToDate
- Month1
- Month3
- Month6
- Year1
- Year2
- Year3
- Year5
- Year10
- SinceInception
type: string
Value:
format: double
type: number
Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelationMatrix:
type: object
properties:
TrailingTimePeriod:
description: Only Year1, Year3, Year5, Year10 supported
enum:
- QuarterToDate
- YearToDate
- Month1
- Month3
- Month6
- Year1
- Year2
- Year3
- Year5
- Year10
- SinceInception
type: string
DataFrequency:
description: Only Monthly, Quarterly supported
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
- None
type: string
StartDate:
format: date-time
type: string
EndDate:
format: date-time
type: string
Correlations:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelationItemKey'
OutputRiskCrossPortfolioCorrelationMatrix:
type: object
properties:
TrailingTimePeriod:
type: string
enum:
- Year3
- Year5
- Year10
description: Trailing time period over which correlations are calculated.
DataFrequency:
type: string
enum:
- Monthly
description: Frequency of the return data used in the calculation.
StartDate:
type: string
format: date-time
description: Start date of the correlation period.
EndDate:
type: string
format: date-time
description: End date of the correlation period.
Correlations:
type: array
items:
$ref: '#/components/schemas/OutputRiskCrossPortfolioCorrelationItemKey'
description: Array of correlation values between portfolios.
description: Cross-portfolio correlation matrix for a single trailing time period.
Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_:
type: object
properties:
Id:
type: string
Value:
format: double
type: number
ResponsePerformance:
description: Top-level response object containing one result per portfolio analysed.
type: object
properties:
PerformanceDate:
description: Key performance date reference points across all portfolios in the request.
$ref: '#/components/schemas/OutputPerformanceDate'
Performance:
description: Array of performance results, one per portfolio.
type: array
items:
$ref: '#/components/schemas/OutputPerformancePerformance'
CrossPortfolioCorrelationMatrix:
description: Cross-portfolio correlation matrix data. Only returned when `View.Id` is `CrossPortfolioCorrelation`.
type: array
items:
$ref: '#/components/schemas/OutputRiskCrossPortfolioCorrelationMatrix'
SecurityReference:
description: Reference data for all securities appearing in the response.
type: array
items:
$ref: '#/components/schemas/OutputSecurityItem'
Morningstar.PortfolioAnalysis.Models.Output.Performance.NonStdLoadAdjustedReturns:
type: object
properties:
AsOfDate:
format: date-time
type: string
Security:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.NonStdLoadAdjustedReturnsSecurity'
OutputPerformancePerformanceHistorys:
type: object
properties:
PerformanceHistory:
type: array
items:
$ref: '#/components/schemas/OutputPerformancePerformanceHistory'
description: Array of performance history series.
description: Performance history data across one or more return series.
Morningstar.PortfolioAnalysis.Models.Input.BenchmarkInputHolding:
description: 'TODO: Implement same way as PortfolioInput'
required:
- SecurityId
- Weight
type: object
properties:
SecurityId:
type: string
Type:
enum:
- XI
- CA
- EI
- CASH
type: string
Weight:
format: double
type: number
InputPortfolioInputHolding:
description: 'Each holding requires a security identifier and a position size. For the identifier, pass one of: `SecurityId`, `CUSIP`, `FundCode`, `ISIN`, `PerformanceId`, or `TradingSymbol`. If multiple identifiers are provided for a single security, `SecurityId` takes priority; if `SecurityId` is absent, the last identifier listed in the object is used. For the position size, pass one of: `Weight` or `Value`.'
type: object
properties:
SecurityId:
description: Morningstar unique identifier of a security. Use `CASH%0.000` for cash positions.
type: string
example: FOUSA00DFS,CASH%0.000
Weight:
description: Holding weight as a percentage of portfolio total. All holding weights must sum to 100. Requires `TotalValue` to be set on the portfolio.
minimum: 1
maximum: 100
example: 60
type: number
format: double
Value:
description: Market value of the holding in the portfolio currency.
minimum: 1
example: 25000
type: number
format: double
AnnualFeePercent:
description: Holding-level annual fee as a percentage of holding value (e.g. `1.15` = 1.15%). Defaults to `0` (no fee).
minimum: 0
default: 0
example: 1.15
type: number
format: double
AnnualFeeFrequency:
description: How often the holding-level annual fee is deducted.
default: Monthly
type: string
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
PerformanceId:
description: Morningstar performance identifier of a security.
type: string
example: 0P00002QN3
CUSIP:
description: CUSIP identifier of a security.
type: string
example: 09251T103
ISIN:
description: ISIN identifier of a security.
type: string
example: US0378331005
TradingSymbol:
description: Trading symbol (ticker) of a security.
type: string
example: MDLOX
FundCode:
description: Fund code identifier of a security. Specific to Thai markets.
type: string
example: ABG
Morningstar.PortfolioAnalysis.Models.Output.Performance.IllustrationReturns:
type: object
properties:
AsOfDate:
format: date-time
type: string
Security:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.IllustrationReturnSecurityItem'
OutputRiskDrawdown:
type: object
properties:
AsOfDate:
type: string
format: date-time
description: End date of the analysis.
Portfolio:
$ref: '#/components/schemas/OutputRiskPortfolio'
description: Drawdown data for the portfolio.
description: Drawdown analysis for the portfolio across trailing time periods and calendar years.
Morningstar.PortfolioAnalysis.Models.Output.Performance.SecurityReturns:
type: object
properties:
AsOfDate:
format: date-time
type: string
NonStdLoadAdjustedReturns:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.NonStdLoadAdjustedReturns'
StandardizedAndTaxAdjustedReturns:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedAndTaxAdjustedReturns'
OutputRiskRiskStatistics:
type: object
properties:
AsOfDate:
type: string
format: date-time
description: End date of the analysis.
TrailingTimePeriod:
type: string
enum:
- Year1
- Year2
- Year3
- Year5
- Year10
description: Trailing time period over which risk statistics are calculated.
DataFrequency:
type: string
enum:
- Monthly
description: Frequency of the return data used in the calculation.
Portfolio:
$ref: '#/components/schemas/OutputRiskRiskStatisticsPortfolioItem'
description: Risk statistics for the portfolio.
Benchmark:
$ref: '#/components/schemas/OutputRiskRiskStatisticsItem'
description: Risk statistics for the benchmark.
Security:
type: array
items:
$ref: '#/components/schemas/OutputRiskRiskStatisticsSecurityItem'
description: Array of risk statistics for individual securities in the portfolio.
description: Risk statistics for the portfolio, benchmark, and individual securities for a single trailing time period.
Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceView:
type: object
properties:
Id:
description: this will look up the view definition defined by configuration
type: string
Performances:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances'
Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelationMatrix:
type: object
properties:
TrailingTimePeriod:
description: Only Year1, Year3, Year5, Year10 supported
enum:
- QuarterToDate
- YearToDate
- Month1
- Month3
- Month6
- Year1
- Year2
- Year3
- Year5
- Year10
- SinceInception
type: string
DataFrequency:
description: Only Monthly, Quarterly supported
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
- None
type: string
StartDate:
format: date-time
type: string
EndDate:
format: date-time
type: string
Correlations:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelationItemKey'
Morningstar.PortfolioAnalysis.Models.Output.Performance.BestWorstTimePeriod:
type: object
properties:
TimePeriod:
description: Only support Month1, Month3, Year1, Year3
enum:
- QuarterToDate
- YearToDate
- Month1
- Month3
- Month6
- Year1
- Year2
- Year3
- Year5
- Year10
- SinceInception
type: string
Value:
format: double
type: number
StartDate:
format: date-time
type: string
Morningstar.PortfolioAnalysis.Models.Output.Performance.AfterTaxReturns:
type: object
properties:
OnDistributionAndSalesOfShares:
description: Year1,Year3,Year5,Year10,SinceInception only supported
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TimePeriod_'
OnDistributionReturn:
description: Year1,Year3,Year5,Year10,SinceInception only supported
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TimePeriod_'
InputPerformancePerformanceConfig:
description: Account-specific configuration preset.
type: object
properties:
Id:
type: string
description: Account-specific configuration preset. Settings can be overridden directly in the request. `Hypothetical` is only supported when `View.Id` is `CrossPortfolioCorrelation`.
default: QuickPortfolio
enum:
- Hypothetical
- QuickPortfolio
OutputPerformanceStandardizedReturns:
type: object
properties:
GrossExpenseRatio:
type: number
format: double
description: Total gross expenses divided by average net assets. Reflects the fund's expenses before any fee waivers or reimbursements are applied.
InceptionDate:
type: string
format: date-time
description: Inception date of the security.
MaxBackLoad:
type: number
format: double
description: Maximum deferred (back-end) sales charge, expressed as a percentage of the lesser of the initial or final share value.
MaxFrontLoad:
type: number
format: double
description: Maximum front-end sales charge applied at purchase, as a percentage of the investment amount.
NetExpenseRatio:
type: number
format: double
description: Total net expenses divided by average net assets, after any fee waivers or reimbursements. Includes management, 12b-1, administrative, and auditor fees, but excludes brokerage costs.
ManagementExpenseRatio:
type: number
format: double
description: Annual fixed costs of managing the fund as a percentage of average net assets. Specific to the Canadian market.
TurnoverRatio:
type: number
format: double
description: Annual portfolio rotation rate. A high turnover ratio may indicate higher transaction costs.
TurnoverRatioDate:
type: string
format: date-time
description: Date as of which the turnover ratio is reported.
Day7YieldUnsubsized:
type: number
format: double
description: 7-day unsubsidised yield, calculated using gross (pre-subsidy) expenses per the SEC Form N-1A formula.
Day7YieldSubsidized:
type: number
format: double
description: 7-day subsidised yield, calculated using net (post-subsidy) expenses per the SEC Form N-1A formula.
Month12Yield:
type: number
format: double
description: Trailing 12-month distributions (dividends, interest, and capital gains, excluding return of capital) expressed as a percentage of the previous month-end price.
TimePeriod:
type: array
items:
$ref: '#/components/schemas/OutputPerformanceStandardizedReturns.TimePeriodItem'
description: Array of standardised return values for each trailing time period.
description: Standardised return data for a security including expense ratios, yields, and time-period returns.
OutputRiskCorrelationItemKey:
type: object
properties:
Id:
type: integer
format: int32
SecurityId:
type: string
UseExtendedReturns:
type: boolean
Type:
type: string
enum:
- Portfolio
- Security
CorrelatedItemKey:
type: array
items:
$ref: '#/components/schemas/OutputRiskCorrelatedItemKey'
description: Correlation data for a single security or portfolio against all others in the matrix.
Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances:
type: object
properties:
PerformanceDate:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.PerformanceDate'
Performance:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performance'
CrossPortfolioCorrelationMatrix:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelationMatrix'
SecurityReference:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.SecurityItem'
OutputPerformanceBestWorstTimePeriods:
type: object
properties:
AsOfDate:
type: string
format: date-time
description: End date of the analysis.
BestTimePeriod:
type: array
items:
$ref: '#/components/schemas/OutputPerformanceBestWorstTimePeriod'
description: Array of best return values for each time period.
WorstTimePeriod:
type: array
items:
$ref: '#/components/schemas/OutputPerformanceBestWorstTimePeriod'
description: Array of worst return values for each time period.
description: Best and worst return values across a set of standard trailing time periods.
OutputPerformanceNonStdLoadAdjustedReturns:
type: object
properties:
AsOfDate:
type: string
format: date-time
description: End date of the analysis.
Portfolio:
$ref: '#/components/schemas/OutputPerformanceNonStdLoadAdjustedReturnsPortfolio'
description: Portfolio non-standardised load-adjusted return values.
description: Non-standardised load-adjusted return data for the portfolio.
DataModelDailyOhlcv:
title: DataModelDailyOhlcv
type: object
description: Represents a time series of daily trading data, including open, high, low, close, and volume values for each date.
properties:
dailyOpenPrice:
type: number
example: 1.108
dailyHighPrice:
type: number
example: 1.118
dailyLowPrice:
type: number
example: 1.106
dailyClosingPrice:
type: number
example: 1.115
dailyVolume:
type: number
example: 5.165
date:
type: string
format: date
example: '2025-09-06'
OutputPerformanceSecurityReturns:
type: object
properties:
AsOfDate:
type: string
format: date-time
description: End date of the analysis.
NonStdLoadAdjustedReturns:
$ref: '#/components/schemas/OutputPerformanceSecurityReturns.NonStdLoadAdjustedReturns'
description: Non-standardised load-adjusted return data for each security.
StandardizedAndTaxAdjustedReturns:
$ref: '#/components/schemas/OutputPerformanceStandardizedAndTaxAdjustedReturns'
description: Standardised and tax-adjusted return data for each security.
description: Security-level return data including non-standardised and standardised returns.
OutputSecurityItem:
description: Reference data for a security appearing in the response.
type: object
properties:
SecurityId:
description: Morningstar unique identifier of the security.
type: string
CUSIP:
description: CUSIP identifier of the security.
type: string
ISIN:
description: ISIN identifier of the security.
type: string
FundCode:
description: Fund code identifier of the security.
type: string
Name:
description: Name of the security.
type: string
TradingSymbol:
description: Trading symbol (ticker) of the security.
type: string
PerformanceId:
description: Morningstar performance identifier of the security.
type: string
BaseCurrency:
description: Base currency of the security. ISO alpha-3 currency code.
type: string
enum:
- MultipleCurrencies
- AED
- AFN
- ALL
- AMD
- ANG
- AOA
- ARS
- AUD
- AWG
- AZN
- BAM
- BBD
- BDT
- BGN
- BHD
- BIF
- BMD
- BND
- BOB
- BOV
- BRL
- BSD
- BTN
- BWP
- BYR
- BZD
- CAD
- CDF
- CHE
- CHF
- CHW
- CLF
- CLP
- CNY
- COP
- COU
- CRC
- CUP
- CVE
- CZK
- DJF
- DKK
- DOP
- DZD
- EEK
- EGP
- ERN
- ETB
- EUR
- FJD
- FKP
- GBP
- GEL
- GHC
- GIP
- GMD
- GNF
- GTQ
- GYD
- HKD
- HNL
- HRK
- HTG
- HUF
- IDR
- ILS
- INR
- IQD
- IRR
- ISK
- JMD
- JOD
- JPY
- KES
- KGS
- KHR
- KMF
- KPW
- KRW
- KWD
- KYD
- KZT
- LAK
- LBP
- LKR
- LRD
- LSL
- LTL
- LVL
- LYD
- MAD
- MDL
- MGA
- MKD
- MMK
- MNT
- MOP
- MRO
- MUR
- MVR
- MWK
- MXN
- MXV
- MYR
- MZN
- NAD
- NGN
- NIO
- NOK
- NPR
- NZD
- OMR
- PAB
- PEN
- PGK
- PHP
- PKR
- PLN
- PYG
- QAR
- ROL
- RON
- RSD
- RUB
- RWF
- SAR
- SBD
- SCR
- SDD
- SEK
- SGD
- SHP
- SLL
- SOS
- SRD
- STD
- SYP
- SZL
- THB
- TJS
- TMT
- TND
- TOP
- TRY
- TTD
- TWD
- TZS
- UAH
- UGX
- USD
- USN
- USS
- UYU
- UZS
- VEF
- VND
- VUV
- WST
- XAF
- XAG
- XAU
- XBA
- XBB
- XBC
- XBD
- XCD
- XDR
- XFO
- XFU
- XOF
- XPD
- XPF
- XPT
- YER
- ZAR
- ZMK
- ZWR
Type:
description: Morningstar security type code (e.g. `FO` = Open End Fund, `ST` = Stock, `BD` = Bond).
type: string
enum:
- BD
- CT
- CA
- CASH
- EI
- FC
- FE
- FM
- FO
- FI
- FV
- SA
- ST
- VA
- V1
- XI
- SP
- Proxy
- CZ
- MO
- VP
- VL
- FH
- CP
- CIT
- GA
- MF
- SC
- S1
InceptionDate:
description: Inception date of the security.
type: string
format: date-time
ObsoleteType:
description: Reason the security was marked obsolete, if applicable.
type: string
ObsoleteDate:
description: Date on which the security was marked obsolete, if applicable.
type: string
format: date-time
SecurityReferenceTypes:
description: Roles the security plays in the response (e.g. `PortfolioHolding`, `BenchmarkHolding`, `InvalidSecurity`).
type: array
items:
type: string
enum:
- PortfolioHolding
- BenchmarkHolding
- DisclosureIndex
- InvalidSecurity
- InactiveSecurity
- NotEntitled
Value:
description: Market value of the security in the portfolio.
type: number
format: double
Units:
description: Number of units of the security held.
type: number
format: double
NotClassifiedHoldingId:
description: Identifier used when the security could not be classified.
type: string
Weight:
description: Weight of the security as a percentage of the portfolio.
type: number
format: double
Morningstar.PortfolioAnalysis.Models.Output.Performance.InvestmentActivity:
type: object
properties:
DataFrequency:
enum:
- Monthly
- Quarterly
type: string
Portfolio:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.InvestmentActivityItem'
Benchmark:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.InvestmentActivityItem'
MaxSequence:
format: int32
type: integer
OutputPerformanceStandardizedReturns.TimePeriodItem:
type: object
properties:
Id:
type: string
enum:
- YearToDate
- Year1
- Year3
- Year5
- Year10
- SinceInception
description: Trailing time period identifier.
Market:
type: number
format: double
description: Market-price total return for the period. For ETFs and closed-end funds, based on market price change plus reinvested distributions. For equities, dividends are treated as a cash payout at period end rather than reinvested.
Nav:
type: number
format: double
description: NAV-based total return for the period.
description: Standardised return values for a single trailing time period.
Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.Int32_:
type: object
properties:
Id:
format: int32
type: integer
Value:
format: double
type: number
OutputRiskDrawdownItem:
type: object
properties:
MaxDrawdown:
type: number
format: double
description: Peak-to-trough decline over the period, expressed as a percentage.
NoOfPeriods:
type: integer
format: int32
description: Number of periods (months) between the peak and the recovery.
PeakDate:
type: string
format: date-time
description: Date of the return peak preceding the maximum drawdown.
ValleyDate:
type: string
format: date-time
description: Date of the lowest point of the maximum drawdown.
UpPercent:
type: number
format: double
description: Percentage of periods in which the portfolio posted a positive return.
DownPercent:
type: number
format: double
description: Percentage of periods in which the portfolio posted a negative return.
description: Drawdown statistics for a single period.
InputPortfolioInput:
description: Object representing a portfolio to be analysed. Each holding must specify a security identifier and one of `Weight` or `Value`to define its allocation. `TotalValue` is required when holdings use `Weight`. Maximum of 250 holdings per portfolio.
required:
- Currency
- Holdings
- Name
type: object
properties:
Name:
description: Portfolio name.
type: string
TotalValue:
description: Total market value of the portfolio in the portfolio currency. Required when holdings use `Weight`.
type: number
format: double
minimum: 1
example: 20000
Currency:
description: Portfolio currency. 19 currencies are supported. Accepted values are ISO 4217 currency codes.
type: string
enum:
- AUD
- BRL
- CAD
- CHF
- DKK
- EUR
- GBP
- HKD
- INR
- JPY
- MXN
- MYR
- NOK
- NZD
- SEK
- SGD
- TWD
- USD
- ZAR
x-enumDescriptions:
AUD: Australian Dollar
BRL: Brazilian Real
CAD: Canadian Dollar
CHF: Swiss Franc
DKK: Danish Krone
EUR: Euro
GBP: British Pound Sterling
HKD: Hong Kong Dollar
INR: Indian Rupee
JPY: Japanese Yen
MXN: Mexican Peso
MYR: Malaysian Ringgit
NOK: Norwegian Krone
NZD: New Zealand Dollar
SEK: Swedish Krona
SGD: Singapore Dollar
TWD: New Taiwan Dollar
USD: United States Dollar
ZAR: South African Rand
example: USD
Holdings:
description: List of portfolio holdings. Maximum of 250 holdings per portfolio.
type: array
maxItems: 250
minItems: 1
items:
$ref: '#/components/schemas/InputPortfolioInputHolding'
Fees:
description: Portfolio-level annual fee applied to all holdings.
$ref: '#/components/schemas/InputPortfolioFees'
IrrFees:
description: Annual fee used in the internal rate of return calculation.
type: number
format: double
minimum: 1
example: 1000
InputPerformancePerformanceRequestSettings:
description: Analysis settings including output currency, date range, and performance frequency.
type: object
required:
- OutputCurrency
properties:
OutputCurrency:
type: string
description: Currency used to calculate output values. 19 currencies are supported. Accepted values are ISO 4217 currency codes.
default: USD
enum:
- AUD
- BRL
- CAD
- CHF
- DKK
- EUR
- GBP
- HKD
- INR
- JPY
- MXN
- MYR
- NOK
- NZD
- SEK
- SGD
- TWD
- USD
- ZAR
x-enumDescriptions:
AUD: Australian Dollar
BRL: Brazilian Real
CAD: Canadian Dollar
CHF: Swiss Franc
DKK: Danish Krone
EUR: Euro
GBP: British Pound Sterling
HKD: Hong Kong Dollar
INR: Indian Rupee
JPY: Japanese Yen
MXN: Mexican Peso
MYR: Malaysian Ringgit
NOK: Norwegian Krone
NZD: New Zealand Dollar
SEK: Swedish Krona
SGD: Singapore Dollar
TWD: New Taiwan Dollar
USD: United States Dollar
ZAR: South African Rand
AnalysisDateTimePeriod:
description: Determines whether the analysis end date aligns to a month end, quarter end, year end, or a custom date. `CustomDate` requires `PortfolioPerformanceEndDate` to be set explicitly.
type: string
enum:
- MonthEnd
- QuarterEnd
- YearEnd
- CustomDate
default: MonthEnd
AssetClassGroupConfigs:
$ref: '#/components/schemas/InputAssetClassGroupConfigs'
DisableRescale:
description: When `true`, portfolio weights are not rescaled if any holdings are invalid or unentitled. The request will return a `400` error instead.
type: boolean
default: false
EnablePerformanceCommonEndDate:
description: When `true`, the most recent common end date across all portfolios is used as the analysis end date.
type: boolean
default: false
IncludeBenchmarkEndDate:
description: When `true`, the benchmark's most recent price date is used as the analysis end date.
type: boolean
default: false
IncludeGrossNetReturns:
description: When `true`, both gross and net return values are included in trailing returns, calendar year returns, investment activity, and risk statistics.
type: boolean
default: false
IncludePortfolioInCorrelationMatrix:
description: When `true`, the portfolio is included as an entry in the correlation matrix.
type: boolean
default: false
InitialValue:
description: Initial value of the portfolio in the output currency.
type: number
format: double
minimum: 1
default: 10000
PerformanceFrequency:
description: Frequency of performance returns and risk calculations.
enum:
- Monthly
- Quarterly
type: string
default: Monthly
PortfolioPerformanceCustomStartDate:
type: string
description: 'Custom start date of the analysis. Required when `PortfolioPerformanceStartDate` is set to `CustomDate`. Note: this field name contains a trailing space.'
format: date
example: '2022-10-31'
PortfolioPerformanceEndDate:
type: string
description: End date of the analysis. Required when `AnalysisDateTimePeriod` is set to `CustomDate`.
format: date
example: '2022-10-31'
PortfolioPerformanceStartDate:
description: Start date of the analysis. `CustomDate` requires `PortfolioPerformanceCustomStartDate` to be set explicitly.
type: string
enum:
- EarliestCommon
- EarliestAvailable
- EarliestCommonExtended
- EarliestCommonExtended10Year
- Year10
- CustomDate
default: EarliestCommon
SynchronizePortfolioStartDate:
description: When `true`, the latest common start date across all portfolios is used as the analysis start date for all portfolios.
type: boolean
default: false
OutputRiskPortfolio:
type: object
properties:
PortfolioDrawdownItem:
$ref: '#/components/schemas/OutputRiskDrawdownItem'
description: Maximum drawdown statistics over the full analysis period.
TimePeriods:
type: array
items:
$ref: '#/components/schemas/OutputRiskTimePeriods'
description: Drawdown statistics for each standard trailing time period.
CalendarYear:
type: array
items:
$ref: '#/components/schemas/OutputRiskCalenderYearItem'
description: Drawdown statistics for each calendar year.
description: Portfolio drawdown data across the full period, standard trailing time periods, and calendar years.
OutputPerformanceNonStdLoadAdjustedReturnsSecurity:
type: object
properties:
Sequence:
type: integer
format: int32
description: Position of the security in the holdings array (1-based).
SecurityId:
type: string
description: Morningstar unique identifier of the security.
HoldingDate:
type: string
format: date-time
description: Date as of which the holding data is reported.
HoldingValue:
type: number
format: double
description: Value of the holding as of `HoldingDate`.
Day7Yield:
type: number
format: double
description: 7-day annualised yield. Applicable to money market funds.
TimePeriod:
type: array
items:
$ref: '#/components/schemas/OutputDataItemTimePeriod'
description: Array of return values for each trailing time period.
description: Non-standardised load-adjusted return data for a single security.
OutputPerformanceStandardizedReturnsTimePeriodItem:
type: object
properties:
Id:
type: string
enum:
- YearToDate
- Month3
- Year1
- Year3
- Year5
- Year10
- SinceInception
description: Trailing time period identifier.
Nav:
type: number
format: double
description: NAV-based standardised return for the period.
description: Standardised return value for a single trailing time period.
Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedReturnsTimePeriodItem:
type: object
properties:
Id:
enum:
- QuarterToDate
- YearToDate
- Month1
- Month3
- Month6
- Year1
- Year2
- Year3
- Year5
- Year10
- SinceInception
type: string
Market:
format: double
type: number
Nav:
format: double
type: number
OutputPerformancePerformanceHistoryItem:
type: object
properties:
StartYear:
type: integer
format: int32
description: Year in which the performance history series begins.
StartQuarter:
maximum: 4
minimum: 1
type: integer
format: int32
description: Quarter in which the performance history series begins (1–4).
StartMonth:
maximum: 12
minimum: 1
type: integer
format: int32
description: Month in which the performance history series begins (1–12).
Data:
type: array
items:
$ref: '#/components/schemas/OutputDataItemPerformanceHistoryTimePeriod'
description: Array of sequential return data points.
description: Performance history data for a portfolio or benchmark series.
OutputPerformanceInvestmentActivityItem:
type: object
properties:
Sequence:
type: integer
format: int32
description: Sequential index of the period (1-based).
StartDate:
type: string
format: date-time
description: Start date of the period.
EndDate:
type: string
format: date-time
description: End date of the period.
BeginningBalance:
type: number
format: double
description: Portfolio value at the start of the period.
MarketValue:
type: number
format: double
description: Portfolio market value at the end of the period.
GrossBeginningBalance:
description: Gross beginning balance. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
GrossMarketValue:
description: Gross market value. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
description: Investment activity for a single period.
Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelationItemKey:
type: object
properties:
Id:
format: int32
type: integer
SecurityId:
type: string
PortfolioName:
type: string
UseExtendedReturns:
type: boolean
Type:
enum:
- Portfolio
- Security
type: string
CorrelatedItemKey:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelatedItemKey'
Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsSecurityItem:
type: object
properties:
SecurityId:
type: string
Weight:
format: double
type: number
RiskStatisticsItem:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsItem'
OutputCategory:
title: OutputCategory
type: string
description: Identifies the thematic category or functional area a data point belongs to within the Time Series API.
enum:
- fees-expenses
- corporate-actions
- fund-sustainability
- fund-research
- performance
- portfolio-analytics
- portfolio-holdings
- reference
OutputPerformanceBenchmark.CalendarYearReturn:
type: object
properties:
CalendarYear:
type: array
description: 1-10 to represent 10 most recent calendar years
items:
$ref: '#/components/schemas/OutputDataItemInt32'
description: Benchmark calendar year return values.
OutputDataItemInt32:
type: object
properties:
Id:
type: integer
format: int32
description: Integer identifier for the data point.
Value:
type: number
format: double
description: Value for the data point.
description: A data point with an integer identifier and a numeric value.
Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings:
type: object
properties:
View:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceView'
Config:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceConfig'
RequestSettings:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceRequestSettings'
Portfolios:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioInput'
example:
View:
Id: Default
Config:
Id: QuickPortfolio
RequestSettings:
OutputCurrency: USD
RollingReturnFrequency: Month3
AssetClassGroupConfigs:
AssetClassGroupConfig:
- Id: ACG-USBROAD
Portfolios:
- Name: TestPortfolio1
TotalValue: 10000
Currency: USD
Holdings:
- SecurityId: FOUSA05H5F
Type: FO
Weight: 50
- SecurityId: FOUSA04BCR
Type: FO
Weight: 50
Benchmark:
Type: Standard
Holdings:
- SecurityId: XIUSA04G92
Type: XI
Weight: 100
Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsItem:
type: object
properties:
Alpha:
format: double
type: number
Beta:
format: double
type: number
RSquared:
format: double
type: number
Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatistics:
type: object
properties:
AsOfDate:
format: date-time
type: string
TrailingTimePeriod:
description: Only Year1, Year3, Year5, Year10 supported
enum:
- QuarterToDate
- YearToDate
- Month1
- Month3
- Month6
- Year1
- Year2
- Year3
- Year5
- Year10
- SinceInception
type: string
DataFrequency:
description: Only Monthly, Quarterly supported
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
- None
type: string
Portfolio:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsItem'
Security:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsSecurityItem'
OutputPerformanceTrailingReturns:
type: object
properties:
AsOfDate:
type: string
format: date-time
description: End date of the analysis.
Portfolio:
$ref: '#/components/schemas/OutputPerformanceTrailingReturnsItem'
description: Portfolio trailing return values. If a benchmark is included, the same time periods are returned for the benchmark.
Benchmark:
$ref: '#/components/schemas/OutputPerformanceBenchmark.TrailingReturnsItem'
description: Benchmark trailing return values.
description: Trailing return data for the portfolio and benchmark.
OutputDataItemTrailingTimePeriod:
type: object
properties:
Id:
type: string
enum:
- YearToDate
- Month3
- Month6
- Year1
- Year2
- Year3
- Year5
- Year10
- SinceInception
description: Trailing time period identifier.
Value:
type: number
format: double
description: Return value for the time period.
GrossValue:
description: Gross return value for the period. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
Morningstar.PortfolioAnalysis.Models.Output.Performance.Returns:
type: object
properties:
BestWorstTimePeriods:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.BestWorstTimePeriods'
TrailingReturns:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.TrailingReturns'
CalendarYearReturn:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.CalendarYearReturns'
RollingReturns:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturns'
IllustrationReturns:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.IllustrationReturns'
PerformanceHistorys:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistorys'
InvestmentActivity:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.InvestmentActivity'
SecurityReturns:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.SecurityReturns'
Morningstar.PortfolioAnalysis.Models.Output.Performance.InvestmentActivityItem:
description: 'TODO: check all the types and possible values for properties in this class'
type: object
properties:
Sequence:
format: int32
type: integer
StartDate:
format: date-time
type: string
EndDate:
format: date-time
type: string
BeginningBalance:
format: double
type: number
ChargesFees:
format: double
type: number
DistributionWithdrawal:
format: double
type: number
MarketValue:
format: double
type: number
NewInvestment:
type: boolean
TaxesDue:
format: double
type: number
TotalReinvest:
format: double
type: number
TotalReturnPercent:
format: double
type: number
OutputPerformanceStandardizedAndTaxAdjustedReturns:
type: object
properties:
AsOfDate:
type: string
format: date-time
description: End date of the analysis.
Security:
type: array
items:
$ref: '#/components/schemas/OutputPerformanceStandardizedAndTaxAdjustedReturnsSecurity'
description: Array of per-security standardised and after-tax return records.
description: Standardised and tax-adjusted return data for each security in the portfolio.
Morningstar.PortfolioAnalysis.Models.Input.PortfolioInput:
required:
- Name
- Currency
- Holdings
type: object
properties:
Name:
type: string
TotalValue:
format: double
type: number
Currency:
enum:
- AUD
- CAD
- CNY
- EUR
- GBP
- INR
- JPY
- USD
type: string
Holdings:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioInputHolding'
Benchmark:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.BenchmarkInput'
IrrFees:
format: double
type: number
RiskFreeProxyId:
description: Default is set in the Configuration. This is a portfolio level override.
type: string
Morningstar.PortfolioAnalysis.Models.Output.Performance.CalendarYearReturns:
type: object
properties:
AsOfDate:
format: date-time
type: string
Portfolio:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.CalendarYearReturn'
Benchmark:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.CalendarYearReturn'
InputAssetClassGroupConfig:
type: object
properties:
Id:
description: Asset class group identifier.
type: string
enum:
- ACG-AUDETAILED
- ACG-BROAD-INDIA2
- ACG-BROAD-JAPAN
- ACG-CABROAD
- ACG-CANBROAD4
- ACG-EUBROAD
- ACG-GLOBBROAD
- ACG-NZDETAILED
- ACG-UKBROAD
- ACG-UK-GBR
- ACG-USBROAD
default: ACG-USBROAD
OutputTimeSeriesDailyOhlcv:
title: OutputTimeSeriesDailyOhlcv
type: object
description: A named time series with dated data points.
additionalProperties: false
properties:
categories:
type: array
description: Semantic tags/labels for this series.
items:
$ref: '#/components/schemas/OutputCategory'
dataPoint:
type: string
const: daily-ohlcv
data:
type: array
items:
$ref: '#/components/schemas/DataModelDailyOhlcv'
OutputPerformanceStdLoadAdjustedReturns:
type: object
properties:
AsOfDate:
type: string
format: date-time
description: End date of the analysis.
Portfolio:
$ref: '#/components/schemas/OutputPerformanceStdLoadAdjustedReturnsPortfolio'
description: Portfolio standardised load-adjusted return values.
description: Standardised load-adjusted return data for the portfolio.
Morningstar.PortfolioAnalysis.Models.Output.Risk.Risks:
type: object
properties:
RiskStatistics:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatistics'
MPTStatistics:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatistics'
CorrelationMatrix:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelationMatrix'
OutputRiskRiskStatisticsPortfolioItem:
type: object
properties:
Mean:
type: number
format: double
description: Average return over the trailing period.
GrossMean:
description: Gross mean return. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
SharpeRatio:
type: number
format: double
description: Return in excess of the risk-free rate per unit of standard deviation. A higher value indicates better risk-adjusted performance.
GrossSharpeRatio:
description: Gross Sharpe ratio. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
StandardDeviation:
type: number
format: double
description: Statistical dispersion of returns around the mean. Higher values indicate greater return volatility.
GrossStandardDeviation:
description: Gross standard deviation. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
InformationRatio:
type: number
format: double
description: Active return relative to a benchmark per unit of tracking error. A variant of the Sharpe ratio that uses the benchmark rather than the risk-free rate.
GrossInformationRatio:
description: Gross information ratio. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
TrackingError:
type: number
format: double
description: Standard deviation of the portfolio's excess returns relative to the benchmark.
GrossTrackingError:
description: Gross tracking error. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
SortinoRatio:
type: number
format: double
description: Return per unit of downside deviation. A variant of the Sharpe ratio that penalises only negative return volatility.
GrossSortinoRatio:
description: Gross Sortino ratio. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
ExcessReturn:
type: number
format: double
description: Portfolio return minus the 91-day government treasury bill return over the same period.
GrossExcessReturn:
description: Gross excess return. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
description: Risk statistics for the portfolio over a single trailing time period. Year2 is not supported at security level.
Morningstar.PortfolioAnalysis.Models.Input.PortfolioInputHolding:
type: object
properties:
SecurityId:
type: string
Type:
description: 'TODO: is this required? If not, is there a default?'
enum:
- BD
- CT
- CA
- CASH
- EI
- FC
- FE
- FM
- FO
- FI
- FV
- SA
- ST
- VA
- V1
- XI
- SP
type: string
ExchangeID:
type: string
Weight:
format: double
type: number
Value:
format: double
type: number
AnnualFeePercent:
format: double
type: number
AnnualFeeFrequency:
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
type: string
SalesFeesAmountType:
enum:
- Amount
- Percentage
type: string
SalesFeesAmount:
format: double
type: number
SalesFeesType:
enum:
- Standard
- Custom
type: string
SalesFeesROAAmount:
format: double
type: number
SalesFeesLOIAmount:
format: double
type: number
OtherFeeAmount:
format: double
type: number
OtherFeeAmountType:
enum:
- Amount
- Percentage
type: string
OtherFeeType:
enum:
- TradingCommissions
- ShortTermTradingFee
type: string
CUSIP:
type: string
TradingSymbol:
type: string
FundCode:
type: string
OutputInvestmentsMetadata:
title: OutputInvestmentsMetadata
description: Provides the identifier look up details passed in request.
type: object
additionalProperties: false
properties:
exchangeCountry:
type: string
example: GBR
default: USA
description: Indicates exchange country used to look up investment. Represented by 3-character ISO 3166-1 country codes.
minLength: 3
maxLength: 3
domicile:
type: string
example: GBR
default: USA
description: Indicates domicile used to look up investment. Represented by 3-character ISO 3166-1 country codes.
minLength: 3
maxLength: 3
baseCurrency:
type: string
example: GBP
default: USD
description: Indicates base currency used to look up investment. Represented by 3-character ISO 4217 currency codes.
minLength: 3
maxLength: 3
Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsSecurityItem:
type: object
properties:
SecurityId:
type: string
MPTStatisticsItem:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsItem'
OutputRiskCalenderYearItem:
type: object
properties:
id:
type: string
description: Calendar year identifier (e.g. `2023`).
CalenderYearDrawdownItem:
$ref: '#/components/schemas/OutputRiskDrawdownItem'
description: Drawdown statistics for the calendar year.
description: Drawdown statistics for a single calendar year.
OutputPerformanceCalendarYearReturns:
type: object
properties:
AsOfDate:
type: string
format: date-time
description: End date of the analysis.
Portfolio:
$ref: '#/components/schemas/OutputPerformanceCalendarYearReturn'
description: Portfolio calendar year return values.
Benchmark:
$ref: '#/components/schemas/OutputPerformanceBenchmark.CalendarYearReturn'
description: Benchmark calendar year return values.
description: Calendar year return data for the portfolio and benchmark.
OutputPerformanceReturns:
type: object
properties:
BestWorstTimePeriods:
$ref: '#/components/schemas/OutputPerformanceBestWorstTimePeriods'
description: Best and worst return periods data.
TrailingReturns:
$ref: '#/components/schemas/OutputPerformanceTrailingReturns'
description: Trailing returns data.
CalendarYearReturn:
$ref: '#/components/schemas/OutputPerformanceCalendarYearReturns'
description: Calendar year return data.
PerformanceHistorys:
$ref: '#/components/schemas/OutputPerformancePerformanceHistorys'
description: Performance history data.
InvestmentActivity:
$ref: '#/components/schemas/OutputPerformanceInvestmentActivity'
description: Investment activity data.
SecurityReturns:
$ref: '#/components/schemas/OutputPerformanceSecurityReturns'
description: Security-level return data.
NonStdLoadAdjustedReturns:
$ref: '#/components/schemas/OutputPerformanceNonStdLoadAdjustedReturns'
description: Non-standardised load-adjusted returns data.
StdLoadAdjustedReturns:
$ref: '#/components/schemas/OutputPerformanceStdLoadAdjustedReturns'
description: Standardised load-adjusted returns data.
description: Return data for the portfolio including trailing returns, calendar year returns, investment activity, and security-level returns.
OutputDataItemBenchmarkTrailingTimePeriod:
type: object
properties:
Id:
type: string
enum:
- YearToDate
- Month3
- Month6
- Year1
- Year2
- Year3
- Year5
- Year10
- SinceInception
description: Trailing time period identifier.
Value:
type: number
format: double
description: Return value for the time period.
description: Benchmark return value for a single trailing time period.
InputPortfolioFees:
description: Portfolio-level annual fee configuration.
type: object
properties:
AnnualFeePercent:
description: Annual fee as a percentage of portfolio value (e.g. `1.15` = 1.15%). Defaults to `0` (no fee).
minimum: 0
default: 0
example: 1.15
type: number
format: double
AnnualFeeFrequency:
description: How often the annual fee is deducted from the portfolio.
default: Monthly
type: string
enum:
- Monthly
- Quarterly
- SemiAnnually
- Annually
OutputMetadataMessages:
description: Provides information about identifiers for which no results were returned.
title: OutputMetadataMessages
type: object
additionalProperties: false
properties:
investments:
description: Indicates identifiers for which no results were returned.
type: array
items:
$ref: '#/components/schemas/OutputMetadataMessageInvestment'
type:
type: string
description: Indicates the message type.
example: Warning
readOnly: true
const: Warning
message:
type: string
description: Description of the issue encountered.
example: 'Lookup : Invalid investments.'
readOnly: true
code:
type: string
description: Code associated with the message.
example: 404.common.125
readOnly: true
Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.IllustrationReturnTimePeriod_:
type: object
properties:
Id:
enum:
- Days7Yield
- Days7YieldUnsubsidized
- Days7YieldSubsidized
- Year1
- Year3
- Year5
- Year10
- SinceInception
type: string
Value:
format: double
type: number
OutputPerformanceAfterTaxReturns:
type: object
properties:
OnDistributionAndSalesOfShares:
type: array
items:
$ref: '#/components/schemas/OutputDataItemTimePeriod'
description: After-tax returns assuming distributions are taxed and shares are sold at the end of the period.
OnDistributionReturn:
type: array
items:
$ref: '#/components/schemas/OutputDataItemTimePeriod'
description: After-tax returns on distributions only, assuming shares are held.
description: After-tax return data for the security.
OutputRiskMPTStatistics:
type: object
properties:
AsOfDate:
type: string
format: date-time
description: End date of the analysis.
TrailingTimePeriod:
type: string
enum:
- Year1
- Year2
- Year3
- Year5
- Year10
description: Trailing time period over which MPT statistics are calculated.
DataFrequency:
type: string
enum:
- Monthly
description: Frequency of the return data used in the calculation.
Portfolio:
$ref: '#/components/schemas/OutputRiskMPTStatisticsItem'
description: MPT statistics for the portfolio.
description: Modern Portfolio Theory (MPT) statistics for the portfolio for a single trailing time period.
Morningstar.PortfolioAnalysis.Models.Input.AssetClassGroupConfig:
type: object
properties:
Id:
type: string
Type:
enum:
- Broad
- Detailed
type: string
AssetClassConfig:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.AssetClassConfig'
OutputPerformanceStdLoadAdjustedReturnsPortfolio:
type: object
properties:
TimePeriod:
type: array
items:
$ref: '#/components/schemas/OutputPerformanceStandardizedReturnsTimePeriodItem'
description: Array of standardised return values for each trailing time period.
description: Portfolio standardised load-adjusted return values.
ResponseTimeSeriesSingleObservation:
title: ResponseTimeSeriesSingleObservation
readOnly: true
description: List of investments for which time series data was returned.
type: object
additionalProperties: false
properties:
investments:
type: array
minItems: 1
items:
$ref: '#/components/schemas/OutputInvestmentSingleObservation'
metadata:
$ref: '#/components/schemas/OutputMetadata'
OutputPerformanceCalendarYearReturn:
type: object
properties:
CalendarYear:
type: array
description: 1-10 to represent 10 most recent calendar years
items:
$ref: '#/components/schemas/OutputDataItemCalendarYearReturnTimePeriod'
description: Portfolio calendar year return values.
OutputRiskMPTStatisticsItem:
type: object
properties:
Alpha:
type: number
format: double
description: Difference between actual returns and expected returns given the portfolio's beta. A positive value indicates outperformance.
GrossAlpha:
description: Gross alpha. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
Beta:
type: number
format: double
description: Measure of the portfolio's sensitivity to benchmark movements. A beta above 1 indicates higher volatility than the benchmark.
GrossBeta:
description: Gross beta. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
RSquared:
type: number
format: double
description: Proportion of the portfolio's returns explained by the benchmark. Values range from 0 to 1; a value close to 1 indicates returns closely track the benchmark.
GrossRSquared:
description: Gross R-squared. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
UpCaptureRatio:
type: number
format: double
description: Ratio of portfolio return to benchmark return during periods when the benchmark is rising. A value above 100 indicates the portfolio captured more than the benchmark's upside.
GrossUpCaptureRatio:
description: Gross up-capture ratio. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
DownCaptureRatio:
type: number
format: double
description: Ratio of portfolio return to benchmark return during periods when the benchmark is falling. A value below 100 indicates the portfolio lost less than the benchmark in down markets.
GrossDownCaptureRatio:
description: Gross down-capture ratio. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
TreynorRatio:
type: number
format: double
description: Annualised risk-adjusted return per unit of market risk (beta). A higher value indicates better risk-adjusted performance.
GrossTreynorRatio:
description: Gross Treynor ratio. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
OmegaRatio:
type: number
format: double
description: Ratio of probability-weighted gains to losses relative to a target return threshold. Unlike the Sharpe ratio, does not assume a normal return distribution.
GrossOmegaRatio:
description: Gross Omega ratio. Only returned when `IncludeGrossNetReturns` is `true`.
type: number
format: double
description: Modern Portfolio Theory (MPT) statistics for the portfolio over a single trailing time period.
Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelatedItemKey:
type: object
properties:
CorrelatedItemKeyId:
format: int32
type: integer
Type:
enum:
- Portfolio
type: string
Value:
format: double
type: number
OutputTimeSeriesSingleObservation:
title: OutputTimeSeriesSingleObservation
type: object
description: A named time series with dated data points.
additionalProperties: false
properties:
categories:
type: array
description: Semantic tags/labels for this series.
items:
$ref: '#/components/schemas/OutputCategory'
dataPoint:
description: Data point time series relates to.
type: string
example: daily-price
enum:
- 12-mo-yield
- 7-day-gross-yield
- 7-day-unsubsidized-yield
- 7-day-yield
- absolute-carbon-emissions-scope-1-and-2-tonnes
- absolute-carbon-emissions-scope-1-and-2-tonnes-category-average
- absolute-carbon-intensity-scope-1-and-2-tonnes-per-usd-millions
- absolute-carbon-intensity-scope-1-and-2-tonnes-per-usd-millions-category-average
- accounting-fee
- administrator-fee
- advisor-fee
- aggregated-12-month-yield
- aggregated-sec-yield
- annual-ongoing-charge-excluding-performance-fee
- annual-ongoing-charge-including-performance-fee
- annual-report-adjusted-expense-ratio
- annual-report-management-expense-ratio-mer
- annual-report-ongoing-charge
- borrowing-costs-actual
- borrowing-costs-estimated
- carbon-footprint-scope-1-and-2-and-3-tonnes-per-usd-millions
- carbon-footprint-scope-1-and-2-and-3-tonnes-per-usd-millions-category-average
- carbon-footprint-scope-1-and-2-eligible-holding-type
- carbon-footprint-scope-1-and-2-number-of-holdings-covered
- carbon-footprint-scope-1-and-2-percentage-of-eligible-portfolio-covered
- carbon-footprint-scope-1-and-2-percentage-of-eligible-portfolio-not-covered
- carbon-footprint-scope-1-and-2-percentage-of-portfolio-covered
- carbon-footprint-scope-1-and-2-percentage-of-portfolio-eligible
- carbon-footprint-scope-1-and-2-percentage-of-portfolio-eligible-not-covered
- carbon-footprint-scope-1-and-2-percentage-of-portfolio-not-covered
- carbon-footprint-scope-1-and-2-percentage-of-portfolio-not-eligible
- carbon-footprint-scope-1-and-2-tonnes-per-aud-million-category-average
- carbon-footprint-scope-1-and-2-tonnes-per-aud-millions
- carbon-footprint-scope-1-and-2-tonnes-per-chf-million-category-average
- carbon-footprint-scope-1-and-2-tonnes-per-chf-millions
- carbon-footprint-scope-1-and-2-tonnes-per-eur-million-category-average
- carbon-footprint-scope-1-and-2-tonnes-per-eur-millions
- carbon-footprint-scope-1-and-2-tonnes-per-gbp-million-category-average
- carbon-footprint-scope-1-and-2-tonnes-per-gbp-millions
- carbon-footprint-scope-1-and-2-tonnes-per-hkd-million-category-average
- carbon-footprint-scope-1-and-2-tonnes-per-hkd-millions
- carbon-footprint-scope-1-and-2-tonnes-per-sgd-million-category-average
- carbon-footprint-scope-1-and-2-tonnes-per-sgd-millions
- carbon-footprint-scope-1-and-2-tonnes-per-usd-millions
- carbon-footprint-scope-1-and-2-tonnes-per-usd-millions-category-average
- carbon-risk-level-classification
- carbon-risk-score-category-average
- carbon-risk-score-percent-rank-in-category
- cum-fair-nav-unweighted-dri
- cum-fair-nav-weighted-dri
- current-yield
- cumulative-return
- daily-closing-price
- daily-estimated-holding-cost
- daily-gross-return-index
- daily-high-price
- daily-load-adj-return-index-restated
- daily-low-price
- daily-market-impact-cost
- daily-market-return-index
- daily-net-return-index
- daily-portfolio-concentration
- daily-price
- daily-return-index
- daily-return-index-cum-fair
- daily-tracking-volatility
- daily-volume
- daily-yield
- distribution-fee-percentage-of-nav-actual
- distribution-fee-percentage-of-nav-estimated
- dividend-amount-history
- dividend-yield-12-month
- dividend-yield-long
- dividend-yield-short
- entry-cost-acquired-actual
- equity-mkt-cap-rescaling-factor-long
- estimated-quarterly-return
- estimated-share-class-net-flow-daily
- estimated-share-class-net-flow-monthly
- ex-par-nav-unweighted-dri
- ex-par-nav-weighted-dri
- growth
- five-year-five-star-rating-percent
- five-year-four-star-rating-percent
- five-year-not-star-rated-percent
- five-year-not-star-rating-eligible-percent
- five-year-one-star-rating-percent
- five-year-three-star-rating-percent
- five-year-two-star-rating-percent
- historical-carbon-risk-score
- historical-corporate-esg-risk-score
- historical-sovereign-esg-risk-score
- income-only-yield-nav-uk
- income-only-yield-nav-us
- income-only-yield-price-us
- indirect-costs-closed-ended-actual-uk
- indirect-costs-closed-ended-estimated-uk
- indirect-costs-open-ended-actual-uk
- indirect-costs-open-ended-estimated-uk
- management-fee-ex-distribution-fees-actual
- management-fee-ex-distribution-fees-estimated
- market-cap-giant-percentage-long-rescaled
- market-cap-large-percentage-long-rescaled
- market-cap-micro-percentage-long-rescaled
- market-cap-mid-percentage-long-rescaled
- market-cap-small-percentage-long-rescaled
- maximum-entry-cost-acquired
- maximum-entry-cost-base-currency
- maximum-entry-cost-percentage
- maximum-exit-cost-acquired
- maximum-exit-fee-base-currency
- maximum-exit-fee-percentage
- model-representative-cost
- monthly-downside-tracking-error
- monthly-gross-return
- monthly-inflation-adjusted-return
- monthly-load-adj-return-restated
- monthly-market-return
- monthly-net-return
- monthly-return
- monthly-return-unweighted-nav
- monthly-return-unweighted-price
- monthly-return-weighted-nav
- monthly-return-weighted-price
- monthly-tracking-error
- monthly-yield
- morningstar-esg-risk-rating-for-funds
- morningstar-medalist-rating
- morningstar-medalist-rating-parent-pillar
- morningstar-medalist-rating-parent-pillar-type
- morningstar-medalist-rating-people-pillar
- morningstar-medalist-rating-people-pillar-type
- morningstar-medalist-rating-performance-pillar
- morningstar-medalist-rating-performance-pillar-type
- morningstar-medalist-rating-price-pillar
- morningstar-medalist-rating-price-pillar-type
- morningstar-medalist-rating-process-pillar
- morningstar-medalist-rating-process-pillar-type
- morningstar-medalist-rating-type
- morningstar-rating-overall
- nav-unweighted-daily-income-and-capital-gain-yield
- nav-unweighted-daily-income-only-yield
- nav-unweighted-daily-total-distribution-yield
- nav-unweighted-dri
- nav-weighted-daily-income-and-capital-gain-yield
- nav-weighted-daily-income-only-yield
- nav-weighted-daily-total-distribution-yield
- nav-weighted-dri
- ongoing-charge-ex-perf-fee
- ongoing-charge-inc-perf-fee
- ongoing-cost-actual
- ongoing-cost-estimated
- other-fee
- other-fee-amount-cn
- overall-five-star-rating-percent
- overall-four-star-rating-percent
- overall-not-star-rated-percent
- overall-not-star-rating-eligible-percent
- overall-one-star-rating-percent
- overall-three-star-rating-percent
- overall-two-star-rating-percent
- performance-fee-actual
- performance-fee-estimated
- portfolio-carbon-risk-score
- portfolio-corporate-esg-risk-rating
- portfolio-corporate-esg-risk-score
- portfolio-environmental-risk-score
- portfolio-governance-risk-score
- portfolio-social-risk-score
- portfolio-sovereign-esg-risk-rating
- portfolio-sovereign-esg-risk-score
- portfolio-unallocated-risk-score
- price
- price-unweighted-daily-income-and-capital-gain-yield
- price-unweighted-daily-income-only-yield
- price-unweighted-daily-total-distribution-yield
- price-unweighted-dri
- price-weighted-daily-income-and-capital-gain-yield
- price-weighted-daily-income-only-yield
- price-weighted-daily-total-distribution-yield
- price-weighted-dri
- prospective-acquired-fund-expense
- prospectus-adjusted-expense-ratio
- quarterly-downside-tracking-error
- quarterly-gross-return
- quarterly-inflation-adjusted-return
- quarterly-load-adj-return-restated
- quarterly-market-return
- quarterly-net-return
- quarterly-return
- quarterly-tracking-error
- quoted-yield-daily
- rating-10-yr
- rating-3-yr
- rating-5-yr
- raw-return-cum-fair
- raw-return-market-price
- raw-return-nav
- real-assets-costs-actual-uk
- real-assets-costs-estimated-uk
- return
- rolling-return
- sec-yield
- sec-yield-rescaling-factor
- sitca-yield
- sri-value
- ten-year-five-star-rating-percent
- ten-year-four-star-rating-percent
- ten-year-not-star-rated-percent
- ten-year-not-star-rating-eligible-percent
- ten-year-one-star-rating-percent
- ten-year-three-star-rating-percent
- ten-year-two-star-rating-percent
- three-year-five-star-rating-percent
- three-year-four-star-rating-percent
- three-year-not-star-rated-percent
- three-year-not-star-rating-eligible-percent
- three-year-one-star-rating-percent
- three-year-three-star-rating-percent
- three-year-two-star-rating-percent
- total-expense-survey
- trading-expense
- transaction-costs-actual-uk
- transaction-costs-estimated-uk
- transaction-fee-actual
- transaction-fee-estimated
- turnover-ratio-percentage
- typical-exit-cost
- unannualized
- weekly-return
- yearly-capital-return
- yearly-gross-return
- yearly-income-return
- yearly-inflation-adjusted-return
- yearly-interest-income
- yearly-investor-return
- yearly-load-adj-return-restated
- yearly-market-return
- yearly-net-return
- yearly-return
performanceType:
type: string
description: Indicates the performance type used for the time series.
enum:
- total
- market
- gross
data:
type: array
items:
$ref: '#/components/schemas/DataModelSingleObservation'
Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturn:
type: object
properties:
RollingPeriod:
enum:
- Month3
- Month6
- Month12
- Month24
- Month36
- Month60
- Month120
type: string
Portfolio:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturnsItem'
Benchmark:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturnsItem'
Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedAndTaxAdjustedReturns:
type: object
properties:
AsOfDate:
format: date-time
type: string
Security:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedAndTaxAdjustedReturnsSecurity'
Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistoryItem:
type: object
properties:
StartYear:
format: int32
type: integer
StartQuarter:
format: int32
maximum: 4
minimum: 1
type: integer
StartMonth:
format: int32
maximum: 12
minimum: 1
type: integer
Data:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.Int32_'
Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistorys:
type: object
properties:
PerformanceHistory:
type: array
items:
$ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistory'
responses:
ResponseTimeSeriesDailyOhlcv:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseTimeSeriesDailyOhlcv'
ResponseTimeSeriesSingleObservation:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseTimeSeriesSingleObservation'
ResponsePerformance:
description: '200: OK'
content:
application/json:
schema:
$ref: '#/components/schemas/ResponsePerformance'
examples:
PerformanceResponseExample1:
$ref: '#/components/examples/PerformanceResponseExample1'
ResponseStatus400:
description: '400'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
ResponseStatus400Example1:
$ref: '#/components/examples/ResponseStatus400Example1'
ResponseStatus500:
description: '500'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
ResponseStatus500Example1:
$ref: '#/components/examples/ResponseStatus500Example1'
examples:
ResponseStatus400Example1:
summary: 400 - Bad Request
value:
statusCode: 400
errorCode: 400.investmentDetails.002
message: Invalid date format. Expected format is yyyy-MM-d
requestId: 539d62a5-3586-4070-965e-0f7f64712d79
PerformanceRequestExample1:
summary: Portfolio Performance Example Input
value:
View:
Id: Default
Config:
Id: QuickPortfolio
RequestSettings:
OutputCurrency: USD
AssetClassGroupConfigs:
AssetClassGroupConfig:
- Id: ACG-USBROAD
Portfolios:
- Name: TestPortfolio1
TotalValue: 10000
Currency: USD
Holdings:
- SecurityId: FOUSA05H5F
Weight: 50
- SecurityId: FOUSA04BCR
Weight: 50
PerformanceResponseExample1:
summary: Portfolio Performance Example Output
value:
Performance:
- PortfolioName: TestPortfolio1
PerformanceDate:
EarliestCommonDate: '2004-04-12T00:00:00'
EarliestAvailableDate: '2003-09-30T00:00:00'
EarliestCommonExtendedDate: '2004-04-12T00:00:00'
EarliestInceptionDate: '2003-09-30T00:00:00'
ReturnMethodology: QuickPortfolio
Returns:
BestWorstTimePeriods:
AsOfDate: '2026-03-31T00:00:00'
BestTimePeriod:
- TimePeriod: Month3
Value: 24.65
StartDate: '2009-03-31T00:00:00'
- TimePeriod: Month6
Value: 38.29
StartDate: '2009-04-30T00:00:00'
- TimePeriod: Year1
Value: 56.26
StartDate: '2009-03-31T00:00:00'
- TimePeriod: Year3
Value: 27.05
StartDate: '2009-03-31T00:00:00'
- TimePeriod: Year5
Value: 23.28
StartDate: '2009-03-31T00:00:00'
- TimePeriod: Year10
Value: 16.12
StartDate: '2009-03-31T00:00:00'
WorstTimePeriod:
- TimePeriod: Month3
Value: -33.34
StartDate: '2008-09-30T00:00:00'
- TimePeriod: Month6
Value: -37.37
StartDate: '2008-06-30T00:00:00'
- TimePeriod: Year1
Value: -38.23
StartDate: '2007-12-31T00:00:00'
- TimePeriod: Year3
Value: -10.33
StartDate: '2006-03-31T00:00:00'
- TimePeriod: Year5
Value: -0.16
StartDate: '2004-05-31T00:00:00'
- TimePeriod: Year10
Value: 7.57
StartDate: '2006-03-31T00:00:00'
TrailingReturns:
AsOfDate: '2026-03-31T00:00:00'
Portfolio:
TimePeriod:
- Id: YearToDate
Value: -5.83
- Id: Month3
Value: -5.83
- Id: Month6
Value: -4.2
- Id: Year1
Value: 12.45
- Id: Year3
Value: 16
- Id: Year5
Value: 6.76
- Id: Year10
Value: 10.74
Benchmark:
TimePeriod:
- Id: YearToDate
Value: -4.33
- Id: Month3
Value: -4.33
- Id: Month6
Value: -1.79
- Id: Year1
Value: 17.8
- Id: Year3
Value: 18.32
- Id: Year5
Value: 12.06
- Id: Year10
Value: 14.16
CalendarYearReturn:
AsOfDate: '2026-03-31T00:00:00'
Portfolio:
CalendarYear:
- Id: 2026
Value: -5.83
- Id: 2025
Value: 14.7
- Id: 2024
Value: 22.44
- Id: 2023
Value: 29.12
- Id: 2022
Value: -26.38
- Id: 2021
Value: 11.1
- Id: 2020
Value: 21.66
- Id: 2019
Value: 21.45
- Id: 2018
Value: 0.33
- Id: 2017
Value: 21.74
- Id: 2016
Value: 8.38
- Id: 2015
Value: 4
- Id: 2014
Value: 7.02
- Id: 2013
Value: 24.01
- Id: 2012
Value: 19.76
- Id: 2011
Value: 1.62
- Id: 2010
Value: 16.51
- Id: 2009
Value: 51.75
- Id: 2008
Value: -35.85
- Id: 2007
Value: 7.73
- Id: 2006
Value: 10
- Id: 2005
Value: 3.62
- Id: 2004
Value: 10.8
Benchmark:
CalendarYear:
- Id: 2026
Value: -4.33
- Id: 2025
Value: 17.88
- Id: 2024
Value: 25.02
- Id: 2023
Value: 26.29
- Id: 2022
Value: -18.11
- Id: 2021
Value: 28.71
- Id: 2020
Value: 18.4
- Id: 2019
Value: 31.49
- Id: 2018
Value: -4.38
- Id: 2017
Value: 21.83
- Id: 2016
Value: 11.96
- Id: 2015
Value: 1.38
- Id: 2014
Value: 13.69
- Id: 2013
Value: 32.39
- Id: 2012
Value: 16
- Id: 2011
Value: 2.11
- Id: 2010
Value: 15.06
- Id: 2009
Value: 26.46
- Id: 2008
Value: -37
- Id: 2007
Value: 5.49
- Id: 2006
Value: 15.79
- Id: 2005
Value: 4.91
- Id: 2004
Value: 10.77
PerformanceHistorys:
PerformanceHistory:
- Type: Difference
Frequency: Quarterly
StartDate: '2004-09-01T00:00:00'
Portfolio:
StartYear: 2004
StartQuarter: 3
Data:
- Id: 1
Value: 3.52
- Id: 2
Value: -1.62
- Id: 3
Value: -0.73
- Id: 4
Value: 1.38
- Id: 5
Value: -1.54
- Id: 6
Value: -0.33
- Id: 7
Value: -1.46
- Id: 8
Value: -1.3
- Id: 9
Value: -1.01
- Id: 10
Value: -1.53
- Id: 11
Value: 0.7
- Id: 12
Value: -1.98
- Id: 13
Value: 1.13
- Id: 14
Value: 2.13
- Id: 15
Value: 1.62
- Id: 16
Value: 4.78
- Id: 17
Value: -4.59
- Id: 18
Value: 0.3
- Id: 19
Value: 13.45
- Id: 20
Value: 4.97
- Id: 21
Value: -1.22
- Id: 22
Value: 1.08
- Id: 23
Value: -0.57
- Id: 24
Value: 4.48
- Id: 25
Value: -0.44
- Id: 26
Value: -2.99
- Id: 27
Value: -0.5
- Id: 28
Value: 1.23
- Id: 29
Value: 2.88
- Id: 30
Value: -4.94
- Id: 31
Value: 1.19
- Id: 32
Value: -0.05
- Id: 33
Value: -0.22
- Id: 34
Value: 2.42
- Id: 35
Value: -4.75
- Id: 36
Value: -1.77
- Id: 37
Value: 1.6
- Id: 38
Value: -2.09
- Id: 39
Value: -0.63
- Id: 40
Value: -1.24
- Id: 41
Value: -1.07
- Id: 42
Value: -3.27
- Id: 43
Value: 3.47
- Id: 44
Value: 0.22
- Id: 45
Value: 1.61
- Id: 46
Value: -2.92
- Id: 47
Value: -2.84
- Id: 48
Value: 0.27
- Id: 49
Value: 2.69
- Id: 50
Value: -3.3
- Id: 51
Value: 0.57
- Id: 52
Value: 1.96
- Id: 53
Value: 0.09
- Id: 54
Value: -2.73
- Id: 55
Value: 3.23
- Id: 56
Value: -0.07
- Id: 57
Value: -3.35
- Id: 58
Value: 4.3
- Id: 59
Value: -2.02
- Id: 60
Value: -1.04
- Id: 61
Value: -2.38
- Id: 62
Value: -2.99
- Id: 63
Value: 7.06
- Id: 64
Value: -1.91
- Id: 65
Value: -0.33
- Id: 66
Value: -4.18
- Id: 67
Value: -5.48
- Id: 68
Value: -1
- Id: 69
Value: -0.04
- Id: 70
Value: -8.98
- Id: 71
Value: -4.14
- Id: 72
Value: -2.29
- Id: 73
Value: 2.49
- Id: 74
Value: -6.3
- Id: 75
Value: 1.89
- Id: 76
Value: -0.39
- Id: 77
Value: 2.3
- Id: 78
Value: -1.68
- Id: 79
Value: -2.81
- Id: 80
Value: 1.05
- Id: 81
Value: -1.58
- Id: 82
Value: 1.02
- Id: 83
Value: 0.32
- Id: 84
Value: 0.04
- Id: 85
Value: -2.36
- Id: 86
Value: -0.93
- Id: 87
Value: -1.5
Risks:
RiskStatistics:
- AsOfDate: '2026-03-31T00:00:00'
TrailingTimePeriod: Year1
DataFrequency: Monthly
Portfolio:
Mean: 12.45
SharpeRatio: 0.98
StandardDeviation: 8.61
InformationRatio: -1.27
TrackingError: 4.23
SortinoRatio: 1.82
ExcessReturn: -1.4
Benchmark:
Mean: 17.8
SharpeRatio: 1.34
StandardDeviation: 10.31
SortinoRatio: 2.39
Security:
- SecurityId: FOUSA05H5F
RiskStatisticsItem:
Mean: 8.32266
SharpeRatio: 1.366
StandardDeviation: 2.991
- SecurityId: FOUSA04BCR
RiskStatisticsItem:
Mean: 16.30978
SharpeRatio: 0.821
StandardDeviation: 14.872
- AsOfDate: '2026-03-31T00:00:00'
TrailingTimePeriod: Year3
DataFrequency: Monthly
Portfolio:
Mean: 16
SharpeRatio: 1.21
StandardDeviation: 9.23
InformationRatio: -0.53
TrackingError: 4.38
SortinoRatio: 2.2
ExcessReturn: -0.66
Benchmark:
Mean: 18.32
SharpeRatio: 1.13
StandardDeviation: 12.06
SortinoRatio: 1.99
Security:
- SecurityId: FOUSA05H5F
RiskStatisticsItem:
Mean: 9.20681
SharpeRatio: 0.886
StandardDeviation: 4.714
- SecurityId: FOUSA04BCR
RiskStatisticsItem:
Mean: 22.66526
SharpeRatio: 1.104
StandardDeviation: 15.426
- AsOfDate: '2026-03-31T00:00:00'
TrailingTimePeriod: Year5
DataFrequency: Monthly
Portfolio:
Mean: 6.76
SharpeRatio: 0.31
StandardDeviation: 12.89
InformationRatio: -0.93
TrackingError: 5.68
SortinoRatio: 0.43
ExcessReturn: -1.5
Benchmark:
Mean: 12.06
SharpeRatio: 0.62
StandardDeviation: 15.26
SortinoRatio: 0.94
Security:
- SecurityId: FOUSA05H5F
RiskStatisticsItem:
Mean: 3.80155
SharpeRatio: 0.064
StandardDeviation: 7.36
- SecurityId: FOUSA04BCR
RiskStatisticsItem:
Mean: 9.16145
SharpeRatio: 0.365
StandardDeviation: 19.895
- AsOfDate: '2026-03-31T00:00:00'
TrailingTimePeriod: Year10
DataFrequency: Monthly
Portfolio:
Mean: 10.74
SharpeRatio: 0.75
StandardDeviation: 11.96
InformationRatio: -0.59
TrackingError: 5.84
SortinoRatio: 1.13
ExcessReturn: -1.01
Benchmark:
Mean: 14.16
SharpeRatio: 0.85
StandardDeviation: 15.02
SortinoRatio: 1.31
Security:
- SecurityId: FOUSA05H5F
RiskStatisticsItem:
Mean: 6.04256
SharpeRatio: 0.514
StandardDeviation: 7.412
- SecurityId: FOUSA04BCR
RiskStatisticsItem:
Mean: 15.09422
SharpeRatio: 0.745
StandardDeviation: 18.01
MPTStatistics:
- AsOfDate: '2026-03-31T00:00:00'
TrailingTimePeriod: Year1
DataFrequency: Monthly
Portfolio:
Alpha: -1.9
Beta: 0.77
RSquared: 85.92
- AsOfDate: '2026-03-31T00:00:00'
TrailingTimePeriod: Year3
DataFrequency: Monthly
Portfolio:
Alpha: 1.23
Beta: 0.73
RSquared: 90.57
- AsOfDate: '2026-03-31T00:00:00'
TrailingTimePeriod: Year5
DataFrequency: Monthly
Portfolio:
Alpha: -3.28
Beta: 0.79
RSquared: 88.01
- AsOfDate: '2026-03-31T00:00:00'
TrailingTimePeriod: Year10
DataFrequency: Monthly
Portfolio:
Alpha: -0.37
Beta: 0.74
RSquared: 87.32
SecurityReference:
- SecurityId: FOUSA05H5F
ISIN: US5434957586
Name: Loomis Sayles High Income Opps Instl
TradingSymbol: LSIOX
PerformanceId: 0P00003B45
BaseCurrency: USD
Type: FO
InceptionDate: '2004-04-12T00:00:00'
SecurityReferenceTypes:
- PortfolioHolding
- DisclosureIndex
- SecurityId: FOUSA04BCR
ISIN: US45775L5075
Name: T. Rowe Price Instl Large Cap Core Gr
TradingSymbol: TPLGX
PerformanceId: 0P0000373M
BaseCurrency: USD
Type: FO
InceptionDate: '2003-09-30T00:00:00'
SecurityReferenceTypes:
- PortfolioHolding
- DisclosureIndex
- SecurityId: XIUSA000OC
Name: USTREAS T-Bill Auction Ave 3 Mon
BaseCurrency: USD
Type: XI
InceptionDate: '1941-02-28T00:00:00'
SecurityReferenceTypes:
- BenchmarkHolding
- DisclosureIndex
- SecurityId: XIUSA04G92
Name: S&P 500 TR USD
TradingSymbol: SPXT
BaseCurrency: USD
Type: XI
InceptionDate: '1970-01-30T00:00:00'
SecurityReferenceTypes:
- BenchmarkHolding
- DisclosureIndex
- SecurityId: XIUSA000PK
Name: MSCI EAFE NR USD
BaseCurrency: USD
Type: XI
InceptionDate: '1986-03-31T00:00:00'
SecurityReferenceTypes:
- BenchmarkHolding
- DisclosureIndex
- SecurityId: XIUSA000MC
Name: Bloomberg US Agg Bond TR USD
BaseCurrency: USD
Type: XI
InceptionDate: '1986-01-03T00:00:00'
SecurityReferenceTypes:
- BenchmarkHolding
- DisclosureIndex
- SecurityId: F0000119FA
Name: Morningstar US Core Bd TR USD
Type: XI
SecurityReferenceTypes:
- DisclosureIndex
- SecurityId: XIUSA04EPI
Name: ICE BofA US High Yield TR USD
Type: XI
SecurityReferenceTypes:
- DisclosureIndex
- SecurityId: XIUSA000KO
Name: Russell 1000 Growth TR USD
Type: XI
SecurityReferenceTypes:
- DisclosureIndex
ResponseStatus500Example1:
summary: 500 - Internal Server Error
value:
statusCode: 500
errorCode: 500.investmentDetails.003
message: Error calling Investment API.
requestId: 539d62a5-3586-4070-965e-0f7f64712d79
requestBodies:
RequestPerformance:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RequestPerformance'
examples:
PerformanceRequestExample1:
$ref: '#/components/examples/PerformanceRequestExample1'
securitySchemes:
BasicAuth:
type: http
scheme: basic