openapi: 3.0.1
info:
version: 1.0.0
title: Authorization Tokens Accounts Fund Research, Ratings and Analytics 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: Fund Research, Ratings and Analytics
paths:
/direct-web-services/time-series/v1/fund-research/carbon-footprint-scope-1-and-2-and-3-tonnes-per-usd-millions/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Carbon Footprint Scope 1 And 2 And 3 Tonnes Per Usd Millions time series.
description: The amount (in tonnes) of total Scope 1, 2 and 3 carbon emissions attributable to the portfolio, per million units (in relevant currency) invested.
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: getFundResearchCarbonFootprintScope1And2And3TonnesPerUsdMillions
? /direct-web-services/time-series/v1/fund-research/carbon-footprint-scope-1-and-2-and-3-tonnes-per-usd-millions-category-average/{ids}
: get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Carbon Footprint Scope 1 And 2 And 3 Tonnes Per Usd Millions Category Average time series.
description: The average Carbon Footprint (scope 1, 2 and 3 emissions) for portfolios within the Morningstar Category expressed in tonnes per million invested for the relevant currency.
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: getFundResearchCarbonFootprintScope1And2And3TonnesPerUsdMillionsCategoryAv
? /direct-web-services/time-series/v1/fund-research/carbon-footprint-scope-1-and-2-percentage-of-eligible-portfolio-covered/{ids}
: get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Carbon Footprint Scope 1 And 2 Percentage Of Eligible Portfolio Covered time series.
description: The percentage of the long, eligible portfolio with the relevant underlying data for the calculation of the carbon footprint statistics.
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: getFundResearchCarbonFootprintScope1And2PercentageOfEligiblePortfolioCovered
/direct-web-services/time-series/v1/fund-research/carbon-footprint-scope-1-and-2-percentage-of-portfolio-eligible/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Carbon Footprint Scope 1 And 2 Percentage Of Portfolio Eligible time series.
description: The percentage of the long-only portfolio that is considered eligible for carbon footprint calculations.
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: getFundResearchCarbonFootprintScope1And2PercentageOfPortfolioEligible
/direct-web-services/time-series/v1/fund-research/carbon-footprint-scope-1-and-2-tonnes-per-usd-millions/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Carbon Footprint Scope 1 And 2 Tonnes Per Usd Millions time series.
description: The amount (in tonnes) of total Scope 1 and 2 carbon emissions attributable to the portfolio, per million units (in relevant currency) invested.
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: getFundResearchCarbonFootprintScope1And2TonnesPerUsdMillions
? /direct-web-services/time-series/v1/fund-research/carbon-footprint-scope-1-and-2-tonnes-per-usd-millions-category-average/{ids}
: get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Carbon Footprint Scope 1 And 2 Tonnes Per Usd Millions Category Average time series.
description: The average Carbon Footprint (scope 1 and 2 emissions) for portfolios within the Morningstar Category expressed in tonnes per million invested for the relevant currency.
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: getFundResearchCarbonFootprintScope1And2TonnesPerUsdMillionsCategoryAverage
/direct-web-services/time-series/v1/fund-research/five-year-five-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Five Year Five Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 5-year Morningstar Star Rating of 5-stars. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchFiveYearFiveStarRatingPercent
/direct-web-services/time-series/v1/fund-research/five-year-four-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Five Year Four Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 5-year Morningstar Star Rating of 4-stars. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchFiveYearFourStarRatingPercent
/direct-web-services/time-series/v1/fund-research/five-year-not-star-rated-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Five Year Not Star Rated Percent time series.
description: The proportion of the investment holdings that receive are eligible but do not receive an 5-year Morningstar Star Rating.
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: getFundResearchFiveYearNotStarRatedPercent
/direct-web-services/time-series/v1/fund-research/five-year-not-star-rating-eligible-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Five Year Not Star Rating Eligible Percent time series.
description: The proportion of the investment holdings that receive are not eligible for an 5-year Morningstar Star Rating.
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: getFundResearchFiveYearNotStarRatingEligiblePercent
/direct-web-services/time-series/v1/fund-research/five-year-one-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Five Year One Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 5-year Morningstar Star Rating of 1-star. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchFiveYearOneStarRatingPercent
/direct-web-services/time-series/v1/fund-research/five-year-three-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Five Year Three Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 5-year Morningstar Star Rating of 3-stars. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchFiveYearThreeStarRatingPercent
/direct-web-services/time-series/v1/fund-research/five-year-two-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Five Year Two Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 5-year Morningstar Star Rating of 2-stars. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchFiveYearTwoStarRatingPercent
/direct-web-services/time-series/v1/fund-research/historical-corporate-esg-risk-score/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Historical Corporate ESG Risk Score time series.
description: The Morningstar Historical Corporate ESG Risk Score is a weighted average of the trailing 12 months of Morningstar Portfolio Corporate ESG Risk Scores.
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: getFundResearchHistoricalCorporateEsgRiskScore
/direct-web-services/time-series/v1/fund-research/historical-sovereign-esg-risk-score/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Historical Sovereign ESG Risk Score time series.
description: The Morningstar Historical Sovereign ESG Risk Score is a weighted average of the trailing 12 months of Morningstar Portfolio Sovereign ESG Risk Scores.
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: getFundResearchHistoricalSovereignEsgRiskScore
/direct-web-services/time-series/v1/fund-research/monthly-return/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
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: getFundResearchMonthlyReturn
/direct-web-services/time-series/v1/fund-research/morningstar-esg-risk-rating-for-funds/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar ESG Risk Rating For Funds time series.
description: Morningstar assigns ESG Risk Ratings by combining a portfolio's Corporate ESG Risk Rating and Sovereign ESG Risk Rating proportional to the relative weight of the (long only) corporate and sovereign positions, rounded to the nearest whole number.
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: getFundResearchMorningstarEsgRiskRatingForFunds
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating time series.
description: Morningstar Medalist Rating The Morningstar Medalist Rating for funds is the summary expression of our forward-looking analysis of investment strategies as offered via the specific vehicles under coverage.
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: getFundResearchMorningstarMedalistRating
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating-parent-pillar/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating Parent Pillar time series.
description: Morningstar Medalist Rating – Parent Pillar We believe the parent organization is important in evaluating both active and passive 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:
- 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: getFundResearchMorningstarMedalistRatingParentPillar
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating-parent-pillar-type/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating Parent Pillar Type time series.
description: The type of Morningstar Medalist Rating Parent Pillar.
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: getFundResearchMorningstarMedalistRatingParentPillarType
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating-people-pillar/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating People Pillar time series.
description: Morningstar Medalist Rating – People Pillar The overall quality of a strategy's investment team is a significant key to a strategy's ability to deliver superior performance relative to its benchmark and/or peers.
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: getFundResearchMorningstarMedalistRatingPeoplePillar
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating-people-pillar-type/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating People Pillar Type time series.
description: The type of Morningstar Medalist Rating People Pillar.
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: getFundResearchMorningstarMedalistRatingPeoplePillarType
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating-performance-pillar/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating Performance Pillar time series.
description: Morningstar Medalist Rating – Performance Pillar We do not believe past performance is necessarily predictive of future results, and this factor accordingly receives no explicit weighting in our analysis but is referenced instead in our evaluation of people and process.
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: getFundResearchMorningstarMedalistRatingPerformancePillar
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating-performance-pillar-type/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating Performance Pillar Type time series.
description: The type of Morningstar Medalist Rating Performance Pillar.
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: getFundResearchMorningstarMedalistRatingPerformancePillarType
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating-price-pillar/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating Price Pillar time series.
description: Morningstar Medalist Rating – Price Pillar Morningstar and independent academic research has shown that expenses are one of the better predictors of future outperformance even when evaluating net-of-fee returns.
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: getFundResearchMorningstarMedalistRatingPricePillar
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating-price-pillar-type/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating Price Pillar Type time series.
description: The type of Morningstar Medalist Rating Price Pillar.
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: getFundResearchMorningstarMedalistRatingPricePillarType
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating-process-pillar/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating Process Pillar time series.
description: Morningstar Medalist Rating – Process Pillar The Morningstar Medalist Rating is style-agnostic, meaning that, for equity strategies, we do not prefer value to growth or momentum, or vice versa.
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: getFundResearchMorningstarMedalistRatingProcessPillar
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating-process-pillar-type/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating Process Pillar Type time series.
description: The type of Morningstar Medalist Rating Process Pillar.
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: getFundResearchMorningstarMedalistRatingProcessPillarType
/direct-web-services/time-series/v1/fund-research/morningstar-medalist-rating-type/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Medalist Rating Type 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: getFundResearchMorningstarMedalistRatingType
/direct-web-services/time-series/v1/fund-research/morningstar-rating-overall/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Morningstar Rating Overall time series.
description: The Morningstar Rating evaluates managed investments based on their risk-adjusted performance relative to their category peers.
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: getFundResearchMorningstarRatingOverall
/direct-web-services/time-series/v1/fund-research/overall-five-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Overall Five Star Rating Percent time series.
description: The proportion of the investment holdings that receive an Overall Morningstar Star Rating of 5-stars.
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: getFundResearchOverallFiveStarRatingPercent
/direct-web-services/time-series/v1/fund-research/overall-four-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Overall Four Star Rating Percent time series.
description: The proportion of the investment holdings that receive an Overall Morningstar Star Rating of 4-stars.
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: getFundResearchOverallFourStarRatingPercent
/direct-web-services/time-series/v1/fund-research/overall-not-star-rated-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Overall Not Star Rated Percent time series.
description: The proportion of the investment holdings that receive are eligible but do not receive an Overall Morningstar Star Rating.
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: getFundResearchOverallNotStarRatedPercent
/direct-web-services/time-series/v1/fund-research/overall-not-star-rating-eligible-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Overall Not Star Rating Eligible Percent time series.
description: The proportion of the investment holdings that receive are not eligible for an Overall Morningstar Star Rating.
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: getFundResearchOverallNotStarRatingEligiblePercent
/direct-web-services/time-series/v1/fund-research/overall-one-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Overall One Star Rating Percent time series.
description: The proportion of the investment holdings that receive an Overall Morningstar Star Rating of 1-star. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchOverallOneStarRatingPercent
/direct-web-services/time-series/v1/fund-research/overall-three-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Overall Three Star Rating Percent time series.
description: The proportion of the investment holdings that receive an Overall Morningstar Star Rating of 3-stars.
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: getFundResearchOverallThreeStarRatingPercent
/direct-web-services/time-series/v1/fund-research/overall-two-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Overall Two Star Rating Percent time series.
description: The proportion of the investment holdings that receive an Overall Morningstar Star Rating of 2-stars.
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: getFundResearchOverallTwoStarRatingPercent
/direct-web-services/time-series/v1/fund-research/portfolio-corporate-esg-risk-rating/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Portfolio Corporate ESG Risk Rating time series.
description: Morningstar assigns Corporate ESG Risk Ratings by ranking all scored funds within a Morningstar Global Category by their Historical Corporate ESG Risk Scores.
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: getFundResearchPortfolioCorporateEsgRiskRating
/direct-web-services/time-series/v1/fund-research/portfolio-corporate-esg-risk-score/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Portfolio Corporate ESG Risk Score time series.
description: The Morningstar Portfolio Corporate ESG Risk Score is an asset-weighted average of Sustainalytics' company-level ESG Risk Score.
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: getFundResearchPortfolioCorporateEsgRiskScore
/direct-web-services/time-series/v1/fund-research/portfolio-environmental-risk-score/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Portfolio Environmental Risk Score time series.
description: The asset-weighted average of the Company Environmental Risk scores for the covered corporate holdings in a 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:
- 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: getFundResearchPortfolioEnvironmentalRiskScore
/direct-web-services/time-series/v1/fund-research/portfolio-esg-risk-rating/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Portfolio ESG Risk Rating time series.
description: Morningstar assigns ESG Risk Ratings by combining a portfolio's Corporate ESG Risk Rating and Sovereign ESG Risk Rating proportional to the relative weight of the (long only) corporate and sovereign positions, rounded to the nearest whole number.
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: getFundResearchPortfolioEsgRiskRating
/direct-web-services/time-series/v1/fund-research/portfolio-governance-risk-score/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Portfolio Governance Risk Score time series.
description: The asset-weighted average of the company Governance Risk Scores for the covered corporate holdings in a 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:
- 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: getFundResearchPortfolioGovernanceRiskScore
/direct-web-services/time-series/v1/fund-research/portfolio-social-risk-score/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Portfolio Social Risk Score time series.
description: The asset-weighted average of the Company Social Risk Scores for the covered corporate holdings in a 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:
- 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: getFundResearchPortfolioSocialRiskScore
/direct-web-services/time-series/v1/fund-research/portfolio-sovereign-esg-risk-rating/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Portfolio Sovereign ESG Risk Rating time series.
description: Morningstar assigns Sovereign ESG Risk Ratings by ranking all scored funds within a Morningstar Global Category by their Historical Sovereign ESG Risk Scores.
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: getFundResearchPortfolioSovereignEsgRiskRating
/direct-web-services/time-series/v1/fund-research/portfolio-sovereign-esg-risk-score/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Portfolio Sovereign ESG Risk Score time series.
description: The Morningstar Portfolio Sovereign ESG Risk Score is an asset-weighted average of Sustainalytics' Country Risk Score.
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: getFundResearchPortfolioSovereignEsgRiskScore
/direct-web-services/time-series/v1/fund-research/portfolio-unallocated-risk-score/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Portfolio Unallocated Risk Score time series.
description: The asset-weighted average of the Company ESG Risk scores for the covered corporate holdings in a portfolio that do not have Environmental, Social, Governance scores.
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: getFundResearchPortfolioUnallocatedRiskScore
/direct-web-services/time-series/v1/fund-research/rating-10-yr/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Rating 10 Year time series.
description: The Morningstar Rating evaluates managed investments based on their risk-adjusted performance relative to their category peers.
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: getFundResearchRating10Yr
/direct-web-services/time-series/v1/fund-research/rating-3-yr/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Rating 3 Year time series.
description: The Morningstar Rating evaluates managed investments based on their risk-adjusted performance relative to their category peers.
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: getFundResearchRating3Yr
/direct-web-services/time-series/v1/fund-research/rating-5-yr/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Rating 5 Year time series.
description: The Morningstar Rating evaluates managed investments based on their risk-adjusted performance relative to their category peers.
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: getFundResearchRating5Yr
/direct-web-services/time-series/v1/fund-research/ten-year-five-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Ten Year Five Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 10-year Morningstar Star Rating of 5-stars.
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: getFundResearchTenYearFiveStarRatingPercent
/direct-web-services/time-series/v1/fund-research/ten-year-four-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Ten Year Four Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 10-year Morningstar Star Rating of 4-stars.
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: getFundResearchTenYearFourStarRatingPercent
/direct-web-services/time-series/v1/fund-research/ten-year-not-star-rated-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Ten Year Not Star Rated Percent time series.
description: The proportion of the investment holdings that are eligible but do not receive an 10-year Morningstar Star Rating.
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: getFundResearchTenYearNotStarRatedPercent
/direct-web-services/time-series/v1/fund-research/ten-year-not-star-rating-eligible-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Ten Year Not Star Rating Eligible Percent time series.
description: The proportion of the investment holdings that receive are not eligible for an 10-year Morningstar Star Rating.
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: getFundResearchTenYearNotStarRatingEligiblePercent
/direct-web-services/time-series/v1/fund-research/ten-year-one-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Ten Year One Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 10-year Morningstar Star Rating of 1-star. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchTenYearOneStarRatingPercent
/direct-web-services/time-series/v1/fund-research/ten-year-three-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Ten Year Three Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 10-year Morningstar Star Rating of 3-stars.
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: getFundResearchTenYearThreeStarRatingPercent
/direct-web-services/time-series/v1/fund-research/ten-year-two-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Ten Year Two Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 10-year Morningstar Star Rating of 2-stars.
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: getFundResearchTenYearTwoStarRatingPercent
/direct-web-services/time-series/v1/fund-research/three-year-five-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Three Year Five Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 3-year Morningstar Star Rating of 5-stars. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchThreeYearFiveStarRatingPercent
/direct-web-services/time-series/v1/fund-research/three-year-four-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Three Year Four Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 3-year Morningstar Star Rating of 4-stars. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchThreeYearFourStarRatingPercent
/direct-web-services/time-series/v1/fund-research/three-year-not-star-rated-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Three Year Not Star Rated Percent time series.
description: The proportion of the investment holdings that receive are eligible but do not receive an 3-year Morningstar Star Rating.
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: getFundResearchThreeYearNotStarRatedPercent
/direct-web-services/time-series/v1/fund-research/three-year-not-star-rating-eligible-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Three Year Not Star Rating Eligible Percent time series.
description: The proportion of the investment holdings that receive are not eligible for an 3-year Morningstar Star Rating.
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: getFundResearchThreeYearNotStarRatingEligiblePercent
/direct-web-services/time-series/v1/fund-research/three-year-one-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Three Year One Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 3-year Morningstar Star Rating of 1-star. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchThreeYearOneStarRatingPercent
/direct-web-services/time-series/v1/fund-research/three-year-three-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Three Year Three Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 3-year Morningstar Star Rating of 3-stars. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchThreeYearThreeStarRatingPercent
/direct-web-services/time-series/v1/fund-research/three-year-two-star-rating-percent/{ids}:
get:
tags:
- Fund Research, Ratings and Analytics
summary: Get Three Year Two Star Rating Percent time series.
description: The proportion of the investment holdings that receive an 3-year Morningstar Star Rating of 2-stars. This is calculated on the base portfolio, and only considers long positions.
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: getFundResearchThreeYearTwoStarRatingPercent
components:
schemas:
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
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'
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'
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
OutputInvestmentSingleObservation:
title: OutputInvestmentSingleObservation
type: object
additionalProperties: false
properties:
identifiers:
$ref: '#/components/schemas/OutputIdentifiers'
timeSeries:
$ref: '#/components/schemas/OutputTimeSeriesSingleObservation'
metadata:
$ref: '#/components/schemas/OutputInvestmentsMetadata'
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
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
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
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
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
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
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
ResponseStatus500Example1:
summary: 500 - Internal Server Error
value:
statusCode: 500
errorCode: 500.investmentDetails.003
message: Error calling Investment API.
requestId: 539d62a5-3586-4070-965e-0f7f64712d79
responses:
ResponseStatus500:
description: '500'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
ResponseStatus500Example1:
$ref: '#/components/examples/ResponseStatus500Example1'
ResponseTimeSeriesSingleObservation:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseTimeSeriesSingleObservation'
ResponseStatus400:
description: '400'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
ResponseStatus400Example1:
$ref: '#/components/examples/ResponseStatus400Example1'
securitySchemes:
BasicAuth:
type: http
scheme: basic